diff --git a/infer/src/clang/cTrans.ml b/infer/src/clang/cTrans.ml index d6d0bc67c..c03ea2f42 100644 --- a/infer/src/clang/cTrans.ml +++ b/infer/src/clang/cTrans.ml @@ -2848,58 +2848,74 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s ~exn:[] ; ret_node in - let trans_result = - match stmt_list with - | [stmt] -> - (* return exp; *) - let ret_type = Procdesc.get_ret_type procdesc in - let ret_exp, ret_typ, var_instrs = - match context.CContext.return_param_typ with - | Some ret_param_typ -> - let name = CFrontend_config.return_param in - let pvar = Pvar.mk (Mangled.from_string name) procname in - let id = Ident.create_fresh Ident.knormal in - let instr = - Sil.Load - {id; e= Exp.Lvar pvar; root_typ= ret_param_typ; typ= ret_param_typ; loc= sil_loc} - in - let ret_typ = - match ret_param_typ.desc with Typ.Tptr (t, _) -> t | _ -> assert false + match stmt_list with + | [stmt] -> + (* return exp; *) + let ret_type = Procdesc.get_ret_type procdesc in + let ret_exp, ret_typ, var_control = + match context.CContext.return_param_typ with + | Some ret_param_typ -> + let name = CFrontend_config.return_param in + let pvar = Pvar.mk (Mangled.from_string name) procname in + let id = Ident.create_fresh Ident.knormal in + let instr = + Sil.Load + {id; e= Exp.Lvar pvar; root_typ= ret_param_typ; typ= ret_param_typ; loc= sil_loc} + in + let ret_typ = + match ret_param_typ.desc with Typ.Tptr (t, _) -> t | _ -> assert false + in + (Exp.Var id, ret_typ, Some {empty_control with instrs= [instr]}) + | None -> + (Exp.Lvar (Procdesc.get_ret_var procdesc), ret_type, None) + in + let trans_state' = + {trans_state_pri with succ_nodes= []; var_exp_typ= Some (ret_exp, ret_typ)} + in + L.debug Capture Verbose "Evaluating sub-expr of return@\n" ; + let res_trans_stmt = instruction trans_state' stmt in + L.debug Capture Verbose "Done evaluating sub-expr of return@\n" ; + let controls = + let var_control = + Option.map var_control ~f:(fun control -> + (* force node creation to place the load instruction [var_control] before the + translation of the sub-expr *) + let trans_state = + PriorityNode.force_claim_priority_node trans_state_pri stmt_info in - (Exp.Var id, ret_typ, [instr]) - | None -> - (Exp.Lvar (Procdesc.get_ret_var procdesc), ret_type, []) - in - let trans_state' = - {trans_state_pri with succ_nodes= []; var_exp_typ= Some (ret_exp, ret_typ)} + PriorityNode.compute_control_to_parent trans_state sil_loc ~node_name:ReturnStmt + stmt_info control ) in - let res_trans_stmt = instruction trans_state' stmt in - let ret_instrs = - if List.exists ~f:(Exp.equal ret_exp) res_trans_stmt.control.initd_exps then [] - else - let sil_expr, _ = res_trans_stmt.return in - [Sil.Store {e1= ret_exp; root_typ= ret_type; typ= ret_typ; e2= sil_expr; loc= sil_loc}] - in - let instrs = var_instrs @ res_trans_stmt.control.instrs @ ret_instrs in - let ret_node = mk_ret_node instrs in - List.iter - ~f:(fun n -> Procdesc.node_set_succs procdesc n ~normal:[ret_node] ~exn:[]) - res_trans_stmt.control.leaf_nodes ; - let root_nodes_to_parent = - if List.length res_trans_stmt.control.root_nodes > 0 then - res_trans_stmt.control.root_nodes - else [ret_node] - in - mk_trans_result res_trans_stmt.return {empty_control with root_nodes= root_nodes_to_parent} - | [] -> - (* return; *) - let ret_node = mk_ret_node [] in - mk_trans_result (mk_fresh_void_exp_typ ()) {empty_control with root_nodes= [ret_node]} - | _ -> - assert false - in - (* We expect a return with only one expression *) - trans_result + PriorityNode.compute_controls_to_parent trans_state' sil_loc ~node_name:ReturnStmt + stmt_info + (Option.to_list var_control @ [res_trans_stmt.control]) + in + let ret_instrs = + if List.exists ~f:(Exp.equal ret_exp) res_trans_stmt.control.initd_exps then [] + else + let sil_expr, _ = res_trans_stmt.return in + [Sil.Store {e1= ret_exp; root_typ= ret_type; typ= ret_typ; e2= sil_expr; loc= sil_loc}] + in + let ret_node = mk_ret_node ret_instrs in + L.debug Capture Verbose "Created return node %a with instrs [%a]@\n" Procdesc.Node.pp + ret_node + (Pp.seq ~sep:";" (Sil.pp_instr ~print_types:false Pp.text)) + ret_instrs ; + assert (List.is_empty controls.instrs) ; + List.iter controls.leaf_nodes ~f:(fun leaf -> + Procdesc.set_succs leaf ~normal:(Some [ret_node]) ~exn:None ) ; + let ret_control = + {empty_control with root_nodes= [ret_node]; leaf_nodes= [ret_node]; instrs= []} + in + PriorityNode.compute_controls_to_parent trans_state_pri sil_loc ~node_name:ReturnStmt + stmt_info [controls; ret_control] + |> mk_trans_result res_trans_stmt.return + | [] -> + (* return; *) + let ret_node = mk_ret_node [] in + mk_trans_result (mk_fresh_void_exp_typ ()) {empty_control with root_nodes= [ret_node]} + | _ -> + assert false and parenExpr_trans trans_state source_range stmt_list = diff --git a/infer/src/clang/cTrans_utils.mli b/infer/src/clang/cTrans_utils.mli index 075d407fa..40066765e 100644 --- a/infer/src/clang/cTrans_utils.mli +++ b/infer/src/clang/cTrans_utils.mli @@ -196,6 +196,16 @@ module PriorityNode : sig translation of stmt children and deals with creating or not a cfg node depending of owning the priority_node. It returns the [control] that should be passed to the parent. *) + val compute_control_to_parent : + trans_state + -> Location.t + -> node_name:Procdesc.Node.stmt_nodekind + -> Clang_ast_t.stmt_info + -> control + -> control + (** like [compute_controls_to_parent] but for a singleton, so the only possible effect is creating + a node *) + val compute_results_to_parent : trans_state -> Location.t 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 905d83ebc..4c436df43 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" [label="2: Exit internal::fun \n " color=yellow style=filled] -"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n " shape="box"] +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n " shape="box"] - "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; + "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" ; +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" [label="4: Return Stmt \n *&return:int=n$0 [line 10, column 18]\n " shape="box"] + + + "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: \nLocals: s:std::basic_string,std::allocator> x:std::shared_ptr \n " color=yellow style=filled] @@ -45,18 +49,22 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" [label="1: Start unused_deref_in_header\nFormals: a:int*\nLocals: x:int \n " color=yellow style=filled] - "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" ; + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" ; "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" [label="2: Exit unused_deref_in_header \n " color=yellow style=filled] -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n " shape="box"] + + + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" ; +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: Return Stmt \n *&return:int=n$1 [line 16, column 3]\n " shape="box"] - "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 VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] - "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_1" [label="1: Start internal::used_in_main_header\nFormals: a:int\nLocals: \n " color=yellow style=filled] @@ -64,8 +72,12 @@ digraph cfg { "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" [label="2: Exit internal::used_in_main_header \n " color=yellow style=filled] -"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n " shape="box"] +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n " shape="box"] + + + "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" ; +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" [label="4: Return Stmt \n *&return:int=n$0 [line 17, column 34]\n " shape="box"] - "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; + "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; } diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot index 905d83ebc..4c436df43 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" [label="2: Exit internal::fun \n " color=yellow style=filled] -"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n " shape="box"] +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n " shape="box"] - "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; + "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" ; +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" [label="4: Return Stmt \n *&return:int=n$0 [line 10, column 18]\n " shape="box"] + + + "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: \nLocals: s:std::basic_string,std::allocator> x:std::shared_ptr \n " color=yellow style=filled] @@ -45,18 +49,22 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" [label="1: Start unused_deref_in_header\nFormals: a:int*\nLocals: x:int \n " color=yellow style=filled] - "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" ; + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" ; "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" [label="2: Exit unused_deref_in_header \n " color=yellow style=filled] -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n " shape="box"] + + + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" ; +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: Return Stmt \n *&return:int=n$1 [line 16, column 3]\n " shape="box"] - "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 VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] - "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_1" [label="1: Start internal::used_in_main_header\nFormals: a:int\nLocals: \n " color=yellow style=filled] @@ -64,8 +72,12 @@ digraph cfg { "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" [label="2: Exit internal::used_in_main_header \n " color=yellow style=filled] -"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n " shape="box"] +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n " shape="box"] + + + "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" ; +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" [label="4: Return Stmt \n *&return:int=n$0 [line 17, column 34]\n " shape="box"] - "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; + "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; } diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot index 905d83ebc..4c436df43 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" [label="2: Exit internal::fun \n " color=yellow style=filled] -"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n " shape="box"] +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n " shape="box"] - "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; + "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" ; +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" [label="4: Return Stmt \n *&return:int=n$0 [line 10, column 18]\n " shape="box"] + + + "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: \nLocals: s:std::basic_string,std::allocator> x:std::shared_ptr \n " color=yellow style=filled] @@ -45,18 +49,22 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" [label="1: Start unused_deref_in_header\nFormals: a:int*\nLocals: x:int \n " color=yellow style=filled] - "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" ; + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" ; "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" [label="2: Exit unused_deref_in_header \n " color=yellow style=filled] -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n " shape="box"] + + + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" ; +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: Return Stmt \n *&return:int=n$1 [line 16, column 3]\n " shape="box"] - "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 VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] - "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_1" [label="1: Start internal::used_in_main_header\nFormals: a:int\nLocals: \n " color=yellow style=filled] @@ -64,8 +72,12 @@ digraph cfg { "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" [label="2: Exit internal::used_in_main_header \n " color=yellow style=filled] -"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n " shape="box"] +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n " shape="box"] + + + "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" ; +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" [label="4: Return Stmt \n *&return:int=n$0 [line 17, column 34]\n " shape="box"] - "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; + "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; } diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot index 905d83ebc..4c436df43 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" [label="2: Exit internal::fun \n " color=yellow style=filled] -"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n " shape="box"] +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n " shape="box"] - "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; + "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" ; +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" [label="4: Return Stmt \n *&return:int=n$0 [line 10, column 18]\n " shape="box"] + + + "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_4" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: \nLocals: s:std::basic_string,std::allocator> x:std::shared_ptr \n " color=yellow style=filled] @@ -45,18 +49,22 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" [label="1: Start unused_deref_in_header\nFormals: a:int*\nLocals: x:int \n " color=yellow style=filled] - "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" ; + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_1" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" ; "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" [label="2: Exit unused_deref_in_header \n " color=yellow style=filled] -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n " shape="box"] + + + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" ; +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: Return Stmt \n *&return:int=n$1 [line 16, column 3]\n " shape="box"] - "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 VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] - "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; + "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_5" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_1" [label="1: Start internal::used_in_main_header\nFormals: a:int\nLocals: \n " color=yellow style=filled] @@ -64,8 +72,12 @@ digraph cfg { "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" [label="2: Exit internal::used_in_main_header \n " color=yellow style=filled] -"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n " shape="box"] +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n " shape="box"] + + + "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" ; +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" [label="4: Return Stmt \n *&return:int=n$0 [line 17, column 34]\n " shape="box"] - "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; + "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_4" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; } 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 f11c6ccef..b6742545a 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot @@ -3,20 +3,24 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: \nLocals: z:int x:int \n " color=yellow style=filled] - "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; + "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&x:int [line 11, column 10]\n n$1=*&z:int [line 11, column 14]\n *&return:int=(n$0 + n$1) [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&x:int [line 11, column 10]\n n$1=*&z:int [line 11, column 14]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"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_3" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Return Stmt \n *&return:int=(n$0 + n$1) [line 11, column 3]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"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_4" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:int); [line 10, column 3]\n *&z:int=3 [line 10, column 3]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; + "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=2 [line 9, column 3]\n " shape="box"] + + + "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; } diff --git a/infer/tests/codetoanalyze/c/frontend/booleans/bool_example.c.dot b/infer/tests/codetoanalyze/c/frontend/booleans/bool_example.c.dot index d6b6120c0..863f310eb 100644 --- a/infer/tests/codetoanalyze/c/frontend/booleans/bool_example.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/booleans/bool_example.c.dot @@ -7,8 +7,12 @@ digraph cfg { "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_2" [label="2: Exit revert \n " color=yellow style=filled] -"revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_3" [label="3: Return Stmt \n n$0=*&e:_Bool [line 10, column 30]\n *&return:_Bool=n$0 [line 10, column 23]\n " shape="box"] +"revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_3" [label="3: Return Stmt \n n$0=*&e:_Bool [line 10, column 30]\n " shape="box"] - "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_3" -> "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_2" ; + "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_3" -> "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_4" ; +"revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_4" [label="4: Return Stmt \n *&return:_Bool=n$0 [line 10, column 23]\n " shape="box"] + + + "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_4" -> "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_2" ; } diff --git a/infer/tests/codetoanalyze/c/frontend/c_prototype/prototype.c.dot b/infer/tests/codetoanalyze/c/frontend/c_prototype/prototype.c.dot index 0062053eb..8da8abfbd 100644 --- a/infer/tests/codetoanalyze/c/frontend/c_prototype/prototype.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/c_prototype/prototype.c.dot @@ -22,8 +22,12 @@ digraph cfg { "sum.1d623b89683f9ce4e074de1676d12416_2" [label="2: Exit sum \n " color=yellow style=filled] -"sum.1d623b89683f9ce4e074de1676d12416_3" [label="3: Return Stmt \n n$0=*&a:int [line 23, column 32]\n n$1=*&b:int [line 23, column 36]\n *&return:int=(n$0 + n$1) [line 23, column 25]\n " shape="box"] +"sum.1d623b89683f9ce4e074de1676d12416_3" [label="3: Return Stmt \n n$0=*&a:int [line 23, column 32]\n n$1=*&b:int [line 23, column 36]\n " shape="box"] - "sum.1d623b89683f9ce4e074de1676d12416_3" -> "sum.1d623b89683f9ce4e074de1676d12416_2" ; + "sum.1d623b89683f9ce4e074de1676d12416_3" -> "sum.1d623b89683f9ce4e074de1676d12416_4" ; +"sum.1d623b89683f9ce4e074de1676d12416_4" [label="4: Return Stmt \n *&return:int=(n$0 + n$1) [line 23, column 25]\n " shape="box"] + + + "sum.1d623b89683f9ce4e074de1676d12416_4" -> "sum.1d623b89683f9ce4e074de1676d12416_2" ; } diff --git a/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot b/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot index 4da7abcf7..8c100b26c 100644 --- a/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot @@ -3,74 +3,86 @@ digraph cfg { "comma_1.bafaed8336991f5a2e612ee2580c1506_1" [label="1: Start comma_1\nFormals: \nLocals: d:int b:int a:int \n " color=yellow style=filled] - "comma_1.bafaed8336991f5a2e612ee2580c1506_1" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_6" ; + "comma_1.bafaed8336991f5a2e612ee2580c1506_1" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_7" ; "comma_1.bafaed8336991f5a2e612ee2580c1506_2" [label="2: Exit comma_1 \n " color=yellow style=filled] -"comma_1.bafaed8336991f5a2e612ee2580c1506_3" [label="3: Return Stmt \n n$0=*&d:int [line 11, column 10]\n *&return:int=n$0 [line 11, column 3]\n " shape="box"] +"comma_1.bafaed8336991f5a2e612ee2580c1506_3" [label="3: Return Stmt \n n$0=*&d:int [line 11, column 10]\n " shape="box"] - "comma_1.bafaed8336991f5a2e612ee2580c1506_3" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_2" ; -"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 " shape="box"] + "comma_1.bafaed8336991f5a2e612ee2580c1506_3" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_4" ; +"comma_1.bafaed8336991f5a2e612ee2580c1506_4" [label="4: Return Stmt \n *&return:int=n$0 [line 11, column 3]\n " shape="box"] - "comma_1.bafaed8336991f5a2e612ee2580c1506_4" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_3" ; -"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 " shape="box"] + "comma_1.bafaed8336991f5a2e612ee2580c1506_4" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_2" ; +"comma_1.bafaed8336991f5a2e612ee2580c1506_5" [label="5: 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 " shape="box"] - "comma_1.bafaed8336991f5a2e612ee2580c1506_5" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_4" ; -"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_5" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_3" ; +"comma_1.bafaed8336991f5a2e612ee2580c1506_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 9, column 3]\n *&b:int=7 [line 9, column 3]\n " shape="box"] "comma_1.bafaed8336991f5a2e612ee2580c1506_6" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_5" ; +"comma_1.bafaed8336991f5a2e612ee2580c1506_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=9 [line 9, column 3]\n " shape="box"] + + + "comma_1.bafaed8336991f5a2e612ee2580c1506_7" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_6" ; "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_1" [label="1: Start comma_2\nFormals: \nLocals: d:int b:int a:int \n " color=yellow style=filled] - "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_1" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_6" ; + "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_1" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_7" ; "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_2" [label="2: Exit comma_2 \n " color=yellow style=filled] -"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" [label="3: Return Stmt \n n$0=*&d:int [line 17, column 10]\n *&return:int=n$0 [line 17, column 3]\n " shape="box"] +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" [label="3: Return Stmt \n n$0=*&d:int [line 17, column 10]\n " shape="box"] - "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_2" ; -"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 " shape="box"] + "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" ; +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" [label="4: Return Stmt \n *&return:int=n$0 [line 17, column 3]\n " shape="box"] - "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" ; -"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 " shape="box"] + "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_2" ; +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" [label="5: 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 " shape="box"] - "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" ; -"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_5" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" ; +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 15, column 3]\n *&b:int=7 [line 15, column 3]\n " shape="box"] "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_6" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" ; +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 15, column 3]\n *&a:int=9 [line 15, column 3]\n " shape="box"] + + + "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_7" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_6" ; "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_1" [label="1: Start comma_3\nFormals: \nLocals: d:int c:int b:int a:int \n " color=yellow style=filled] - "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_1" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_7" ; + "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_1" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_8" ; "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_2" [label="2: Exit comma_3 \n " color=yellow style=filled] -"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" [label="3: Return Stmt \n n$0=*&d:int [line 23, column 10]\n *&return:int=n$0 [line 23, column 3]\n " shape="box"] +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" [label="3: Return Stmt \n n$0=*&d:int [line 23, column 10]\n " shape="box"] - "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_2" ; -"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 " shape="box"] + "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" ; +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" [label="4: Return Stmt \n *&return:int=n$0 [line 23, column 3]\n " shape="box"] - "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" ; -"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 " shape="box"] + "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_2" ; +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" [label="5: 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 " shape="box"] - "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" ; -"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 " shape="box"] + "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" ; +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(c:int); [line 21, column 3]\n *&c:int=3 [line 21, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" ; -"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" [label="7: DeclStmt \n VARIABLE_DECLARED(b:int); [line 21, column 3]\n *&b:int=7 [line 21, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_7" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" ; +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 21, column 3]\n *&a:int=9 [line 21, column 3]\n " shape="box"] + + + "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_8" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_7" ; } 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 d6bd7db5f..bdb983ac4 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot @@ -3,7 +3,7 @@ digraph cfg { "bar.37b51d194a7513e45b56f6524f2d51f2_1" [label="1: Start bar\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int y:int x:int \n " color=yellow style=filled] - "bar.37b51d194a7513e45b56f6524f2d51f2_1" -> "bar.37b51d194a7513e45b56f6524f2d51f2_16" ; + "bar.37b51d194a7513e45b56f6524f2d51f2_1" -> "bar.37b51d194a7513e45b56f6524f2d51f2_17" ; "bar.37b51d194a7513e45b56f6524f2d51f2_2" [label="2: Exit bar \n " color=yellow style=filled] @@ -52,40 +52,44 @@ digraph cfg { "bar.37b51d194a7513e45b56f6524f2d51f2_13" -> "bar.37b51d194a7513e45b56f6524f2d51f2_3" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_14" [label="14: Return Stmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22, column 16]\n *&return:int=(0 + n$4) [line 22, column 3]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_14" [label="14: Return Stmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22, column 16]\n " shape="box"] - "bar.37b51d194a7513e45b56f6524f2d51f2_14" -> "bar.37b51d194a7513e45b56f6524f2d51f2_2" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_15" [label="15: + \n " ] + "bar.37b51d194a7513e45b56f6524f2d51f2_14" -> "bar.37b51d194a7513e45b56f6524f2d51f2_15" ; +"bar.37b51d194a7513e45b56f6524f2d51f2_15" [label="15: Return Stmt \n *&return:int=(0 + n$4) [line 22, column 3]\n " shape="box"] - "bar.37b51d194a7513e45b56f6524f2d51f2_15" -> "bar.37b51d194a7513e45b56f6524f2d51f2_5" ; - "bar.37b51d194a7513e45b56f6524f2d51f2_15" -> "bar.37b51d194a7513e45b56f6524f2d51f2_6" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_16" [label="16: BinaryOperatorStmt: GT \n *&x:int=1 [line 21, column 8]\n n$5=*&x:int [line 21, column 8]\n " shape="box"] + "bar.37b51d194a7513e45b56f6524f2d51f2_15" -> "bar.37b51d194a7513e45b56f6524f2d51f2_2" ; +"bar.37b51d194a7513e45b56f6524f2d51f2_16" [label="16: + \n " ] - "bar.37b51d194a7513e45b56f6524f2d51f2_16" -> "bar.37b51d194a7513e45b56f6524f2d51f2_17" ; - "bar.37b51d194a7513e45b56f6524f2d51f2_16" -> "bar.37b51d194a7513e45b56f6524f2d51f2_18" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_17" [label="17: Prune (true branch, boolean exp) \n PRUNE((n$5 > 1), true); [line 21, column 7]\n " shape="invhouse"] + "bar.37b51d194a7513e45b56f6524f2d51f2_16" -> "bar.37b51d194a7513e45b56f6524f2d51f2_5" ; + "bar.37b51d194a7513e45b56f6524f2d51f2_16" -> "bar.37b51d194a7513e45b56f6524f2d51f2_6" ; +"bar.37b51d194a7513e45b56f6524f2d51f2_17" [label="17: BinaryOperatorStmt: GT \n *&x:int=1 [line 21, column 8]\n n$5=*&x:int [line 21, column 8]\n " shape="box"] + "bar.37b51d194a7513e45b56f6524f2d51f2_17" -> "bar.37b51d194a7513e45b56f6524f2d51f2_18" ; "bar.37b51d194a7513e45b56f6524f2d51f2_17" -> "bar.37b51d194a7513e45b56f6524f2d51f2_19" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_18" [label="18: Prune (false branch, boolean exp) \n PRUNE(!(n$5 > 1), false); [line 21, column 7]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_18" [label="18: Prune (true branch, boolean exp) \n PRUNE((n$5 > 1), true); [line 21, column 7]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_18" -> "bar.37b51d194a7513e45b56f6524f2d51f2_20" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_19" [label="19: ConditionalStmt Branch \n n$6=*&x:int [line 21, column 22]\n *&x:int=(n$6 + 1) [line 21, column 22]\n *&y:int=(n$6 + 1) [line 21, column 7]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_19" [label="19: Prune (false branch, boolean exp) \n PRUNE(!(n$5 > 1), false); [line 21, column 7]\n " shape="invhouse"] - "bar.37b51d194a7513e45b56f6524f2d51f2_19" -> "bar.37b51d194a7513e45b56f6524f2d51f2_15" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_20" [label="20: ConditionalStmt Branch \n n$7=*&x:int [line 21, column 30]\n *&x:int=(n$7 - 1) [line 21, column 30]\n *&y:int=n$7 [line 21, column 7]\n " shape="box"] + "bar.37b51d194a7513e45b56f6524f2d51f2_19" -> "bar.37b51d194a7513e45b56f6524f2d51f2_21" ; +"bar.37b51d194a7513e45b56f6524f2d51f2_20" [label="20: ConditionalStmt Branch \n n$6=*&x:int [line 21, column 22]\n *&x:int=(n$6 + 1) [line 21, column 22]\n *&y:int=(n$6 + 1) [line 21, column 7]\n " shape="box"] - "bar.37b51d194a7513e45b56f6524f2d51f2_20" -> "bar.37b51d194a7513e45b56f6524f2d51f2_15" ; + "bar.37b51d194a7513e45b56f6524f2d51f2_20" -> "bar.37b51d194a7513e45b56f6524f2d51f2_16" ; +"bar.37b51d194a7513e45b56f6524f2d51f2_21" [label="21: ConditionalStmt Branch \n n$7=*&x:int [line 21, column 30]\n *&x:int=(n$7 - 1) [line 21, column 30]\n *&y:int=n$7 [line 21, column 7]\n " shape="box"] + + + "bar.37b51d194a7513e45b56f6524f2d51f2_21" -> "bar.37b51d194a7513e45b56f6524f2d51f2_16" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" [label="1: Start foo\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int n:int y:int x:int \n " color=yellow style=filled] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" ; + "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" [label="2: Exit foo \n " color=yellow style=filled] @@ -109,123 +113,127 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_7" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_8" [label="8: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 16, column 16]\n *&return:int=(0 + n$1) [line 16, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_8" [label="8: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 16, column 16]\n " shape="box"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_8" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_9" [label="9: + \n " ] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_8" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_9" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_9" [label="9: Return Stmt \n *&return:int=(0 + n$1) [line 16, column 3]\n " shape="box"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_9" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" ; - "foo.acbd18db4cc2f85cedef654fccc4a4d8_9" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_10" [label="10: Prune (true branch, boolean exp) \n PRUNE((2 < 1), true); [line 15, column 8]\n " shape="invhouse"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_9" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_10" [label="10: + \n " ] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_10" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_12" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_11" [label="11: Prune (false branch, boolean exp) \n PRUNE(!(2 < 1), false); [line 15, column 8]\n " shape="invhouse"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_10" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" ; + "foo.acbd18db4cc2f85cedef654fccc4a4d8_10" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_11" [label="11: Prune (true branch, boolean exp) \n PRUNE((2 < 1), true); [line 15, column 8]\n " shape="invhouse"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_11" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_14" ; - "foo.acbd18db4cc2f85cedef654fccc4a4d8_11" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_15" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_12" [label="12: ConditionalStmt Branch \n *&n:int=1 [line 15, column 8]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_11" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_13" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_12" [label="12: Prune (false branch, boolean exp) \n PRUNE(!(2 < 1), false); [line 15, column 8]\n " shape="invhouse"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_12" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_9" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_13" [label="13: + \n " ] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_12" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_15" ; + "foo.acbd18db4cc2f85cedef654fccc4a4d8_12" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_16" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_13" [label="13: ConditionalStmt Branch \n *&n:int=1 [line 15, column 8]\n " shape="box"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_13" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_9" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_14" [label="14: Prune (true branch, boolean exp) \n PRUNE((5 > 4), true); [line 15, column 21]\n " shape="invhouse"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_13" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_10" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_14" [label="14: + \n " ] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_14" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_16" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_15" [label="15: Prune (false branch, boolean exp) \n PRUNE(!(5 > 4), false); [line 15, column 21]\n " shape="invhouse"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_14" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_10" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_15" [label="15: Prune (true branch, boolean exp) \n PRUNE((5 > 4), true); [line 15, column 21]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_15" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_17" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_16" [label="16: ConditionalStmt Branch \n *&n:int=1 [line 15, column 21]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_16" [label="16: Prune (false branch, boolean exp) \n PRUNE(!(5 > 4), false); [line 15, column 21]\n " shape="invhouse"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_16" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_13" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_17" [label="17: ConditionalStmt Branch \n *&n:int=2 [line 15, column 21]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_16" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_18" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_17" [label="17: ConditionalStmt Branch \n *&n:int=1 [line 15, column 21]\n " shape="box"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_17" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_13" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_18" [label="18: + \n " ] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_17" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_14" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_18" [label="18: ConditionalStmt Branch \n *&n:int=2 [line 15, column 21]\n " shape="box"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_18" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_10" ; - "foo.acbd18db4cc2f85cedef654fccc4a4d8_18" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_11" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_19" [label="19: Prune (true branch, boolean exp) \n PRUNE((3 < 4), true); [line 14, column 13]\n " shape="invhouse"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_18" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_14" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_19" [label="19: + \n " ] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_19" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_24" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_20" [label="20: Prune (false branch, boolean exp) \n PRUNE(!(3 < 4), false); [line 14, column 13]\n " shape="invhouse"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_19" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_11" ; + "foo.acbd18db4cc2f85cedef654fccc4a4d8_19" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_12" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_20" [label="20: Prune (true branch, boolean exp) \n PRUNE((3 < 4), true); [line 14, column 13]\n " shape="invhouse"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_20" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_21" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_21" [label="21: BinaryOperatorStmt: LT \n n$2=*&x:int [line 14, column 28]\n *&x:int=(n$2 + 1) [line 14, column 28]\n n$3=*&y:int [line 14, column 35]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_20" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_25" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_21" [label="21: Prune (false branch, boolean exp) \n PRUNE(!(3 < 4), false); [line 14, column 13]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_21" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_22" ; - "foo.acbd18db4cc2f85cedef654fccc4a4d8_21" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_23" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_22" [label="22: Prune (true branch, boolean exp) \n PRUNE((7 < (n$2 - n$3)), true); [line 14, column 22]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_22" [label="22: BinaryOperatorStmt: LT \n n$2=*&x:int [line 14, column 28]\n *&x:int=(n$2 + 1) [line 14, column 28]\n n$3=*&y:int [line 14, column 35]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_22" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_23" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_22" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_24" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_23" [label="23: Prune (false branch, boolean exp) \n PRUNE(!(7 < (n$2 - n$3)), false); [line 14, column 22]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_23" [label="23: Prune (true branch, boolean exp) \n PRUNE((7 < (n$2 - n$3)), true); [line 14, column 22]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_23" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_25" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_24" [label="24: ConditionalStmt Branch \n *&n:int=1 [line 14, column 12]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_24" [label="24: Prune (false branch, boolean exp) \n PRUNE(!(7 < (n$2 - n$3)), false); [line 14, column 22]\n " shape="invhouse"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_24" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_18" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_25" [label="25: ConditionalStmt Branch \n *&n:int=2 [line 14, column 12]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_24" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_26" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_25" [label="25: ConditionalStmt Branch \n *&n:int=1 [line 14, column 12]\n " shape="box"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_25" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_18" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_26" [label="26: DeclStmt \n VARIABLE_DECLARED(n:int); [line 14, column 3]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_25" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_19" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_26" [label="26: ConditionalStmt Branch \n *&n:int=2 [line 14, column 12]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_26" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_19" ; - "foo.acbd18db4cc2f85cedef654fccc4a4d8_26" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_20" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_27" [label="27: DeclStmt \n VARIABLE_DECLARED(y:int); [line 13, column 3]\n *&y:int=19 [line 13, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_27" [label="27: DeclStmt \n VARIABLE_DECLARED(n:int); [line 14, column 3]\n " shape="box"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_27" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_26" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_28" [label="28: + \n " ] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_27" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_20" ; + "foo.acbd18db4cc2f85cedef654fccc4a4d8_27" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_21" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_28" [label="28: DeclStmt \n VARIABLE_DECLARED(y:int); [line 13, column 3]\n *&y:int=19 [line 13, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_28" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_27" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_29" [label="29: Prune (true branch, if) \n PRUNE((3 < 4), true); [line 10, column 7]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_29" [label="29: + \n " ] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_29" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_30" [label="30: Prune (false branch, if) \n PRUNE(!(3 < 4), false); [line 10, column 7]\n " shape="invhouse"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_29" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_28" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_30" [label="30: Prune (true branch, if) \n PRUNE((3 < 4), true); [line 10, column 7]\n " shape="invhouse"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_31" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_31" [label="31: BinaryOperatorStmt: LT \n n$5=*&x:int [line 10, column 21]\n *&x:int=(n$5 + 1) [line 10, column 21]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_31" [label="31: Prune (false branch, if) \n PRUNE(!(3 < 4), false); [line 10, column 7]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_31" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_32" ; - "foo.acbd18db4cc2f85cedef654fccc4a4d8_31" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_32" [label="32: Prune (true branch, if) \n PRUNE((7 < n$5), true); [line 10, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_32" [label="32: BinaryOperatorStmt: LT \n n$5=*&x:int [line 10, column 21]\n *&x:int=(n$5 + 1) [line 10, column 21]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_32" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_32" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_33" [label="33: Prune (false branch, if) \n PRUNE(!(7 < n$5), false); [line 10, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_33" [label="33: Prune (true branch, if) \n PRUNE((7 < n$5), true); [line 10, column 16]\n " shape="invhouse"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_28" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_34" [label="34: BinaryOperatorStmt: Assign \n *&x:int=0 [line 11, column 5]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_34" [label="34: Prune (false branch, if) \n PRUNE(!(7 < n$5), false); [line 10, column 16]\n " shape="invhouse"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_28" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_35" [label="35: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=5 [line 9, column 3]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_29" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_35" [label="35: BinaryOperatorStmt: Assign \n *&x:int=0 [line 11, column 5]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_29" ; - "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_36" [label="36: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=5 [line 9, column 3]\n " shape="box"] + + + "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" ; + "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" -> "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 98627d779..e37d47964 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 @@ -28,46 +28,54 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_7" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_8" [label="8: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12, column 32]\n n$4=_fun_test2(n$3:int) [line 12, column 26]\n *&return:int=n$4 [line 12, column 19]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_8" [label="8: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12, column 32]\n n$4=_fun_test2(n$3:int) [line 12, column 26]\n " shape="box"] - "test.098f6bcd4621d373cade4e832627b4f6_8" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; + "test.098f6bcd4621d373cade4e832627b4f6_8" -> "test.098f6bcd4621d373cade4e832627b4f6_9" ; +"test.098f6bcd4621d373cade4e832627b4f6_9" [label="9: Return Stmt \n *&return:int=n$4 [line 12, column 19]\n " shape="box"] + + + "test.098f6bcd4621d373cade4e832627b4f6_9" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; "test1.5a105e8b9d40e1329780d62ea2265d8a_1" [label="1: Start test1\nFormals: b:int\nLocals: x:int \n " color=yellow style=filled] - "test1.5a105e8b9d40e1329780d62ea2265d8a_1" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_9" ; + "test1.5a105e8b9d40e1329780d62ea2265d8a_1" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_10" ; "test1.5a105e8b9d40e1329780d62ea2265d8a_2" [label="2: Exit test1 \n " color=yellow style=filled] -"test1.5a105e8b9d40e1329780d62ea2265d8a_3" [label="3: Return Stmt \n n$0=*&x:int [line 16, column 10]\n *&return:int=n$0 [line 16, column 3]\n " shape="box"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_3" [label="3: Return Stmt \n n$0=*&x:int [line 16, column 10]\n " shape="box"] - "test1.5a105e8b9d40e1329780d62ea2265d8a_3" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_2" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_4" [label="4: + \n " ] + "test1.5a105e8b9d40e1329780d62ea2265d8a_3" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_4" ; +"test1.5a105e8b9d40e1329780d62ea2265d8a_4" [label="4: Return Stmt \n *&return:int=n$0 [line 16, column 3]\n " shape="box"] - "test1.5a105e8b9d40e1329780d62ea2265d8a_4" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_3" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_5" [label="5: Prune (true branch, boolean exp) \n n$1=*&b:int [line 15, column 11]\n PRUNE(n$1, true); [line 15, column 11]\n " shape="invhouse"] + "test1.5a105e8b9d40e1329780d62ea2265d8a_4" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_2" ; +"test1.5a105e8b9d40e1329780d62ea2265d8a_5" [label="5: + \n " ] - "test1.5a105e8b9d40e1329780d62ea2265d8a_5" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_7" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_6" [label="6: Prune (false branch, boolean exp) \n n$1=*&b:int [line 15, column 11]\n PRUNE(!n$1, false); [line 15, column 11]\n " shape="invhouse"] + "test1.5a105e8b9d40e1329780d62ea2265d8a_5" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_3" ; +"test1.5a105e8b9d40e1329780d62ea2265d8a_6" [label="6: Prune (true branch, boolean exp) \n n$1=*&b:int [line 15, column 11]\n PRUNE(n$1, true); [line 15, column 11]\n " shape="invhouse"] "test1.5a105e8b9d40e1329780d62ea2265d8a_6" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_8" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_7" [label="7: ConditionalStmt Branch \n n$2=*&b:int [line 15, column 15]\n *&x:int=n$2 [line 15, column 11]\n " shape="box"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_7" [label="7: Prune (false branch, boolean exp) \n n$1=*&b:int [line 15, column 11]\n PRUNE(!n$1, false); [line 15, column 11]\n " shape="invhouse"] - "test1.5a105e8b9d40e1329780d62ea2265d8a_7" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_4" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_8" [label="8: ConditionalStmt Branch \n *&x:int=1 [line 15, column 11]\n " shape="box"] + "test1.5a105e8b9d40e1329780d62ea2265d8a_7" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_9" ; +"test1.5a105e8b9d40e1329780d62ea2265d8a_8" [label="8: ConditionalStmt Branch \n n$2=*&b:int [line 15, column 15]\n *&x:int=n$2 [line 15, column 11]\n " shape="box"] - "test1.5a105e8b9d40e1329780d62ea2265d8a_8" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_4" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n " shape="box"] + "test1.5a105e8b9d40e1329780d62ea2265d8a_8" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_5" ; +"test1.5a105e8b9d40e1329780d62ea2265d8a_9" [label="9: ConditionalStmt Branch \n *&x:int=1 [line 15, column 11]\n " shape="box"] "test1.5a105e8b9d40e1329780d62ea2265d8a_9" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_5" ; - "test1.5a105e8b9d40e1329780d62ea2265d8a_9" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_6" ; +"test1.5a105e8b9d40e1329780d62ea2265d8a_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n " shape="box"] + + + "test1.5a105e8b9d40e1329780d62ea2265d8a_10" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_6" ; + "test1.5a105e8b9d40e1329780d62ea2265d8a_10" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_7" ; "test2.ad0234829205b9033196ba818f7a872b_1" [label="1: Start test2\nFormals: x:int\nLocals: \n " color=yellow style=filled] @@ -75,50 +83,58 @@ digraph cfg { "test2.ad0234829205b9033196ba818f7a872b_2" [label="2: Exit test2 \n " color=yellow style=filled] -"test2.ad0234829205b9033196ba818f7a872b_3" [label="3: Return Stmt \n n$0=*&x:int [line 10, column 27]\n *&return:int=n$0 [line 10, column 20]\n " shape="box"] +"test2.ad0234829205b9033196ba818f7a872b_3" [label="3: Return Stmt \n n$0=*&x:int [line 10, column 27]\n " shape="box"] + + + "test2.ad0234829205b9033196ba818f7a872b_3" -> "test2.ad0234829205b9033196ba818f7a872b_4" ; +"test2.ad0234829205b9033196ba818f7a872b_4" [label="4: Return Stmt \n *&return:int=n$0 [line 10, column 20]\n " shape="box"] - "test2.ad0234829205b9033196ba818f7a872b_3" -> "test2.ad0234829205b9033196ba818f7a872b_2" ; + "test2.ad0234829205b9033196ba818f7a872b_4" -> "test2.ad0234829205b9033196ba818f7a872b_2" ; "test3.8ad8757baa8564dc136c1e07507f4a98_1" [label="1: Start test3\nFormals: b:int\nLocals: x:int \n " color=yellow style=filled] - "test3.8ad8757baa8564dc136c1e07507f4a98_1" -> "test3.8ad8757baa8564dc136c1e07507f4a98_10" ; + "test3.8ad8757baa8564dc136c1e07507f4a98_1" -> "test3.8ad8757baa8564dc136c1e07507f4a98_11" ; "test3.8ad8757baa8564dc136c1e07507f4a98_2" [label="2: Exit test3 \n " color=yellow style=filled] -"test3.8ad8757baa8564dc136c1e07507f4a98_3" [label="3: Return Stmt \n n$0=*&x:int [line 21, column 10]\n *&return:int=n$0 [line 21, column 3]\n " shape="box"] +"test3.8ad8757baa8564dc136c1e07507f4a98_3" [label="3: Return Stmt \n n$0=*&x:int [line 21, column 10]\n " shape="box"] - "test3.8ad8757baa8564dc136c1e07507f4a98_3" -> "test3.8ad8757baa8564dc136c1e07507f4a98_2" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_4" [label="4: + \n " ] + "test3.8ad8757baa8564dc136c1e07507f4a98_3" -> "test3.8ad8757baa8564dc136c1e07507f4a98_4" ; +"test3.8ad8757baa8564dc136c1e07507f4a98_4" [label="4: Return Stmt \n *&return:int=n$0 [line 21, column 3]\n " shape="box"] - "test3.8ad8757baa8564dc136c1e07507f4a98_4" -> "test3.8ad8757baa8564dc136c1e07507f4a98_9" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_5" [label="5: Prune (true branch, boolean exp) \n PRUNE(n$1, true); [line 20, column 11]\n " shape="invhouse"] + "test3.8ad8757baa8564dc136c1e07507f4a98_4" -> "test3.8ad8757baa8564dc136c1e07507f4a98_2" ; +"test3.8ad8757baa8564dc136c1e07507f4a98_5" [label="5: + \n " ] - "test3.8ad8757baa8564dc136c1e07507f4a98_5" -> "test3.8ad8757baa8564dc136c1e07507f4a98_7" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!n$1, false); [line 20, column 11]\n " shape="invhouse"] + "test3.8ad8757baa8564dc136c1e07507f4a98_5" -> "test3.8ad8757baa8564dc136c1e07507f4a98_10" ; +"test3.8ad8757baa8564dc136c1e07507f4a98_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$1, true); [line 20, column 11]\n " shape="invhouse"] "test3.8ad8757baa8564dc136c1e07507f4a98_6" -> "test3.8ad8757baa8564dc136c1e07507f4a98_8" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_7" [label="7: ConditionalStmt Branch \n *&x:int=n$1 [line 20, column 11]\n " shape="box"] +"test3.8ad8757baa8564dc136c1e07507f4a98_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$1, false); [line 20, column 11]\n " shape="invhouse"] - "test3.8ad8757baa8564dc136c1e07507f4a98_7" -> "test3.8ad8757baa8564dc136c1e07507f4a98_4" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_8" [label="8: ConditionalStmt Branch \n *&x:int=1 [line 20, column 11]\n " shape="box"] + "test3.8ad8757baa8564dc136c1e07507f4a98_7" -> "test3.8ad8757baa8564dc136c1e07507f4a98_9" ; +"test3.8ad8757baa8564dc136c1e07507f4a98_8" [label="8: ConditionalStmt Branch \n *&x:int=n$1 [line 20, column 11]\n " shape="box"] - "test3.8ad8757baa8564dc136c1e07507f4a98_8" -> "test3.8ad8757baa8564dc136c1e07507f4a98_4" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_9" [label="9: BinaryConditionalStmt Init \n n$1=*&b:int [line 20, column 11]\n " shape="box"] + "test3.8ad8757baa8564dc136c1e07507f4a98_8" -> "test3.8ad8757baa8564dc136c1e07507f4a98_5" ; +"test3.8ad8757baa8564dc136c1e07507f4a98_9" [label="9: ConditionalStmt Branch \n *&x:int=1 [line 20, column 11]\n " shape="box"] - "test3.8ad8757baa8564dc136c1e07507f4a98_9" -> "test3.8ad8757baa8564dc136c1e07507f4a98_3" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 3]\n " shape="box"] + "test3.8ad8757baa8564dc136c1e07507f4a98_9" -> "test3.8ad8757baa8564dc136c1e07507f4a98_5" ; +"test3.8ad8757baa8564dc136c1e07507f4a98_10" [label="10: BinaryConditionalStmt Init \n n$1=*&b:int [line 20, column 11]\n " shape="box"] - "test3.8ad8757baa8564dc136c1e07507f4a98_10" -> "test3.8ad8757baa8564dc136c1e07507f4a98_5" ; - "test3.8ad8757baa8564dc136c1e07507f4a98_10" -> "test3.8ad8757baa8564dc136c1e07507f4a98_6" ; + "test3.8ad8757baa8564dc136c1e07507f4a98_10" -> "test3.8ad8757baa8564dc136c1e07507f4a98_3" ; +"test3.8ad8757baa8564dc136c1e07507f4a98_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 3]\n " shape="box"] + + + "test3.8ad8757baa8564dc136c1e07507f4a98_11" -> "test3.8ad8757baa8564dc136c1e07507f4a98_6" ; + "test3.8ad8757baa8564dc136c1e07507f4a98_11" -> "test3.8ad8757baa8564dc136c1e07507f4a98_7" ; "test4.86985e105f79b95d6bc918fb45ec7727_1" [label="1: Start test4\nFormals: b:int\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n " color=yellow style=filled] @@ -151,10 +167,14 @@ digraph cfg { "test4.86985e105f79b95d6bc918fb45ec7727_8" -> "test4.86985e105f79b95d6bc918fb45ec7727_9" ; -"test4.86985e105f79b95d6bc918fb45ec7727_9" [label="9: Return Stmt \n n$3=_fun_test2(n$2:int) [line 24, column 27]\n *&return:int=n$3 [line 24, column 20]\n " shape="box"] +"test4.86985e105f79b95d6bc918fb45ec7727_9" [label="9: Return Stmt \n n$3=_fun_test2(n$2:int) [line 24, column 27]\n " shape="box"] + + + "test4.86985e105f79b95d6bc918fb45ec7727_9" -> "test4.86985e105f79b95d6bc918fb45ec7727_10" ; +"test4.86985e105f79b95d6bc918fb45ec7727_10" [label="10: Return Stmt \n *&return:int=n$3 [line 24, column 20]\n " shape="box"] - "test4.86985e105f79b95d6bc918fb45ec7727_9" -> "test4.86985e105f79b95d6bc918fb45ec7727_2" ; + "test4.86985e105f79b95d6bc918fb45ec7727_10" -> "test4.86985e105f79b95d6bc918fb45ec7727_2" ; "test5.e3d704f3542b44a621ebed70dc0efe13_1" [label="1: Start test5\nFormals: b:int\nLocals: \n " color=yellow style=filled] @@ -194,39 +214,43 @@ digraph cfg { "test6.4cfad7076129962ee70c36839a1e3e15_1" [label="1: Start test6\nFormals: p:int*\nLocals: z:int \n " color=yellow style=filled] - "test6.4cfad7076129962ee70c36839a1e3e15_1" -> "test6.4cfad7076129962ee70c36839a1e3e15_9" ; + "test6.4cfad7076129962ee70c36839a1e3e15_1" -> "test6.4cfad7076129962ee70c36839a1e3e15_10" ; "test6.4cfad7076129962ee70c36839a1e3e15_2" [label="2: Exit test6 \n " color=yellow style=filled] -"test6.4cfad7076129962ee70c36839a1e3e15_3" [label="3: Return Stmt \n n$0=*&z:int [line 30, column 10]\n *&return:int=n$0 [line 30, column 3]\n " shape="box"] +"test6.4cfad7076129962ee70c36839a1e3e15_3" [label="3: Return Stmt \n n$0=*&z:int [line 30, column 10]\n " shape="box"] - "test6.4cfad7076129962ee70c36839a1e3e15_3" -> "test6.4cfad7076129962ee70c36839a1e3e15_2" ; -"test6.4cfad7076129962ee70c36839a1e3e15_4" [label="4: + \n " ] + "test6.4cfad7076129962ee70c36839a1e3e15_3" -> "test6.4cfad7076129962ee70c36839a1e3e15_4" ; +"test6.4cfad7076129962ee70c36839a1e3e15_4" [label="4: Return Stmt \n *&return:int=n$0 [line 30, column 3]\n " shape="box"] - "test6.4cfad7076129962ee70c36839a1e3e15_4" -> "test6.4cfad7076129962ee70c36839a1e3e15_3" ; -"test6.4cfad7076129962ee70c36839a1e3e15_5" [label="5: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 29, column 11]\n " shape="invhouse"] + "test6.4cfad7076129962ee70c36839a1e3e15_4" -> "test6.4cfad7076129962ee70c36839a1e3e15_2" ; +"test6.4cfad7076129962ee70c36839a1e3e15_5" [label="5: + \n " ] - "test6.4cfad7076129962ee70c36839a1e3e15_5" -> "test6.4cfad7076129962ee70c36839a1e3e15_7" ; -"test6.4cfad7076129962ee70c36839a1e3e15_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 29, column 11]\n " shape="invhouse"] + "test6.4cfad7076129962ee70c36839a1e3e15_5" -> "test6.4cfad7076129962ee70c36839a1e3e15_3" ; +"test6.4cfad7076129962ee70c36839a1e3e15_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 29, column 11]\n " shape="invhouse"] "test6.4cfad7076129962ee70c36839a1e3e15_6" -> "test6.4cfad7076129962ee70c36839a1e3e15_8" ; -"test6.4cfad7076129962ee70c36839a1e3e15_7" [label="7: ConditionalStmt Branch \n n$1=*&p:int* [line 29, column 16]\n n$2=*n$1:int [line 29, column 15]\n *&z:int=n$2 [line 29, column 11]\n " shape="box"] +"test6.4cfad7076129962ee70c36839a1e3e15_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 29, column 11]\n " shape="invhouse"] - "test6.4cfad7076129962ee70c36839a1e3e15_7" -> "test6.4cfad7076129962ee70c36839a1e3e15_4" ; -"test6.4cfad7076129962ee70c36839a1e3e15_8" [label="8: ConditionalStmt Branch \n *&z:int=0 [line 29, column 11]\n " shape="box"] + "test6.4cfad7076129962ee70c36839a1e3e15_7" -> "test6.4cfad7076129962ee70c36839a1e3e15_9" ; +"test6.4cfad7076129962ee70c36839a1e3e15_8" [label="8: ConditionalStmt Branch \n n$1=*&p:int* [line 29, column 16]\n n$2=*n$1:int [line 29, column 15]\n *&z:int=n$2 [line 29, column 11]\n " shape="box"] - "test6.4cfad7076129962ee70c36839a1e3e15_8" -> "test6.4cfad7076129962ee70c36839a1e3e15_4" ; -"test6.4cfad7076129962ee70c36839a1e3e15_9" [label="9: DeclStmt \n VARIABLE_DECLARED(z:int); [line 29, column 3]\n " shape="box"] + "test6.4cfad7076129962ee70c36839a1e3e15_8" -> "test6.4cfad7076129962ee70c36839a1e3e15_5" ; +"test6.4cfad7076129962ee70c36839a1e3e15_9" [label="9: ConditionalStmt Branch \n *&z:int=0 [line 29, column 11]\n " shape="box"] "test6.4cfad7076129962ee70c36839a1e3e15_9" -> "test6.4cfad7076129962ee70c36839a1e3e15_5" ; - "test6.4cfad7076129962ee70c36839a1e3e15_9" -> "test6.4cfad7076129962ee70c36839a1e3e15_6" ; +"test6.4cfad7076129962ee70c36839a1e3e15_10" [label="10: DeclStmt \n VARIABLE_DECLARED(z:int); [line 29, column 3]\n " shape="box"] + + + "test6.4cfad7076129962ee70c36839a1e3e15_10" -> "test6.4cfad7076129962ee70c36839a1e3e15_6" ; + "test6.4cfad7076129962ee70c36839a1e3e15_10" -> "test6.4cfad7076129962ee70c36839a1e3e15_7" ; "test7.b04083e53e242626595e2b8ea327e525_1" [label="1: Start test7\nFormals: b:int\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/int_negation.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/int_negation.c.dot index ae66038c2..0d9ecab02 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/int_negation.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/int_negation.c.dot @@ -100,10 +100,14 @@ digraph cfg { "identity.ff483d1ff591898a9942916050d2ca3f_2" [label="2: Exit identity \n " color=yellow style=filled] -"identity.ff483d1ff591898a9942916050d2ca3f_3" [label="3: Return Stmt \n n$0=*&x:int [line 8, column 30]\n *&return:int=n$0 [line 8, column 23]\n " shape="box"] +"identity.ff483d1ff591898a9942916050d2ca3f_3" [label="3: Return Stmt \n n$0=*&x:int [line 8, column 30]\n " shape="box"] - "identity.ff483d1ff591898a9942916050d2ca3f_3" -> "identity.ff483d1ff591898a9942916050d2ca3f_2" ; + "identity.ff483d1ff591898a9942916050d2ca3f_3" -> "identity.ff483d1ff591898a9942916050d2ca3f_4" ; +"identity.ff483d1ff591898a9942916050d2ca3f_4" [label="4: Return Stmt \n *&return:int=n$0 [line 8, column 23]\n " shape="box"] + + + "identity.ff483d1ff591898a9942916050d2ca3f_4" -> "identity.ff483d1ff591898a9942916050d2ca3f_2" ; "neg.f24c2c15b9d03797c6874986a8d19516_1" [label="1: Start neg\nFormals: x:int\nLocals: \n " color=yellow style=filled] 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 00227fc33..fbfedff80 100644 --- a/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot @@ -38,7 +38,7 @@ digraph cfg { "other_enum_test.100f3583adf0259001be6c944828c44a_1" [label="1: Start other_enum_test\nFormals: \nLocals: foo_a:int foo_g:int \n " color=yellow style=filled] - "other_enum_test.100f3583adf0259001be6c944828c44a_1" -> "other_enum_test.100f3583adf0259001be6c944828c44a_11" ; + "other_enum_test.100f3583adf0259001be6c944828c44a_1" -> "other_enum_test.100f3583adf0259001be6c944828c44a_12" ; "other_enum_test.100f3583adf0259001be6c944828c44a_2" [label="2: Exit other_enum_test \n " color=yellow style=filled] @@ -62,21 +62,25 @@ digraph cfg { "other_enum_test.100f3583adf0259001be6c944828c44a_7" [label="7: Prune (false branch, if) \n PRUNE(!((unsigned int)n$0 == (unsigned int)12), false); [line 23, column 7]\n " shape="invhouse"] - "other_enum_test.100f3583adf0259001be6c944828c44a_7" -> "other_enum_test.100f3583adf0259001be6c944828c44a_9" ; -"other_enum_test.100f3583adf0259001be6c944828c44a_8" [label="8: Return Stmt \n n$1=*&foo_g:int [line 24, column 12]\n n$2=*&foo_a:int [line 24, column 20]\n *&return:int=((unsigned int)n$1 / (unsigned int)n$2) [line 24, column 5]\n " shape="box"] + "other_enum_test.100f3583adf0259001be6c944828c44a_7" -> "other_enum_test.100f3583adf0259001be6c944828c44a_10" ; +"other_enum_test.100f3583adf0259001be6c944828c44a_8" [label="8: Return Stmt \n n$1=*&foo_g:int [line 24, column 12]\n n$2=*&foo_a:int [line 24, column 20]\n " shape="box"] - "other_enum_test.100f3583adf0259001be6c944828c44a_8" -> "other_enum_test.100f3583adf0259001be6c944828c44a_2" ; -"other_enum_test.100f3583adf0259001be6c944828c44a_9" [label="9: Return Stmt \n *&return:int=0 [line 26, column 5]\n " shape="box"] + "other_enum_test.100f3583adf0259001be6c944828c44a_8" -> "other_enum_test.100f3583adf0259001be6c944828c44a_9" ; +"other_enum_test.100f3583adf0259001be6c944828c44a_9" [label="9: Return Stmt \n *&return:int=((unsigned int)n$1 / (unsigned int)n$2) [line 24, column 5]\n " shape="box"] "other_enum_test.100f3583adf0259001be6c944828c44a_9" -> "other_enum_test.100f3583adf0259001be6c944828c44a_2" ; -"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" [label="10: Return Stmt \n *&return:int=0 [line 26, column 5]\n " shape="box"] - "other_enum_test.100f3583adf0259001be6c944828c44a_10" -> "other_enum_test.100f3583adf0259001be6c944828c44a_5" ; -"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_10" -> "other_enum_test.100f3583adf0259001be6c944828c44a_2" ; +"other_enum_test.100f3583adf0259001be6c944828c44a_11" [label="11: 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_11" -> "other_enum_test.100f3583adf0259001be6c944828c44a_10" ; + "other_enum_test.100f3583adf0259001be6c944828c44a_11" -> "other_enum_test.100f3583adf0259001be6c944828c44a_5" ; +"other_enum_test.100f3583adf0259001be6c944828c44a_12" [label="12: 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_12" -> "other_enum_test.100f3583adf0259001be6c944828c44a_11" ; } 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 0a1f6a70e..fe214fb12 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot @@ -7,23 +7,31 @@ digraph cfg { "compound_literal_expr.137fbe19f590ba2423c07134917ec888_2" [label="2: Exit compound_literal_expr \n " color=yellow style=filled] -"compound_literal_expr.137fbe19f590ba2423c07134917ec888_3" [label="3: Return Stmt \n *&0$?%__sil_tmpSIL_compound_literal__n$0.x:int=52 [line 13, column 53]\n *&0$?%__sil_tmpSIL_compound_literal__n$0.y:int=32 [line 13, column 53]\n n$1=*&0$?%__sil_tmpSIL_compound_literal__n$0.x:int [line 13, column 38]\n *&return:int=n$1 [line 13, column 31]\n " shape="box"] +"compound_literal_expr.137fbe19f590ba2423c07134917ec888_3" [label="3: Return Stmt \n *&0$?%__sil_tmpSIL_compound_literal__n$0.x:int=52 [line 13, column 53]\n *&0$?%__sil_tmpSIL_compound_literal__n$0.y:int=32 [line 13, column 53]\n n$1=*&0$?%__sil_tmpSIL_compound_literal__n$0.x:int [line 13, column 38]\n " shape="box"] - "compound_literal_expr.137fbe19f590ba2423c07134917ec888_3" -> "compound_literal_expr.137fbe19f590ba2423c07134917ec888_2" ; + "compound_literal_expr.137fbe19f590ba2423c07134917ec888_3" -> "compound_literal_expr.137fbe19f590ba2423c07134917ec888_4" ; +"compound_literal_expr.137fbe19f590ba2423c07134917ec888_4" [label="4: Return Stmt \n *&return:int=n$1 [line 13, column 31]\n " shape="box"] + + + "compound_literal_expr.137fbe19f590ba2423c07134917ec888_4" -> "compound_literal_expr.137fbe19f590ba2423c07134917ec888_2" ; "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_1" [label="1: Start init_with_compound_literal\nFormals: \nLocals: p:point \n " color=yellow style=filled] - "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_1" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" ; + "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_1" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_5" ; "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_2" [label="2: Exit init_with_compound_literal \n " color=yellow style=filled] -"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" [label="3: Return Stmt \n n$0=*&p.x:int [line 17, column 15]\n *&return:int=(1 / (n$0 - 32)) [line 17, column 3]\n " shape="box"] +"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" [label="3: Return Stmt \n n$0=*&p.x:int [line 17, column 15]\n " shape="box"] + + + "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" ; +"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" [label="4: Return Stmt \n *&return:int=(1 / (n$0 - 32)) [line 17, column 3]\n " shape="box"] - "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_2" ; -"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 " shape="box"] + "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_2" ; +"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_5" [label="5: 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 " shape="box"] - "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" ; + "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_5" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" ; } 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 41dd534c9..e582147f9 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot @@ -3,18 +3,22 @@ digraph cfg { "field_set_correctly.b8d9a4294a85d24818c312a099420dce_1" [label="1: Start field_set_correctly\nFormals: \nLocals: e:Employee \n " color=yellow style=filled] - "field_set_correctly.b8d9a4294a85d24818c312a099420dce_1" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_4" ; + "field_set_correctly.b8d9a4294a85d24818c312a099420dce_1" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_5" ; "field_set_correctly.b8d9a4294a85d24818c312a099420dce_2" [label="2: Exit field_set_correctly \n " color=yellow style=filled] -"field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" [label="3: Return Stmt \n n$0=*&e.ssn:int [line 34, column 15]\n *&return:int=(1 / (n$0 - 12)) [line 34, column 3]\n " shape="box"] +"field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" [label="3: Return Stmt \n n$0=*&e.ssn:int [line 34, column 15]\n " shape="box"] - "field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_2" ; -"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_3" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_4" ; +"field_set_correctly.b8d9a4294a85d24818c312a099420dce_4" [label="4: Return Stmt \n *&return:int=(1 / (n$0 - 12)) [line 34, column 3]\n " shape="box"] - "field_set_correctly.b8d9a4294a85d24818c312a099420dce_4" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" ; + "field_set_correctly.b8d9a4294a85d24818c312a099420dce_4" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_2" ; +"field_set_correctly.b8d9a4294a85d24818c312a099420dce_5" [label="5: 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_5" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" [label="1: Start foo\nFormals: \nLocals: \n " color=yellow style=filled] @@ -29,18 +33,22 @@ digraph cfg { "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_1" [label="1: Start implicit_expr_set_correctly\nFormals: \nLocals: imageDrawRect:rect \n " color=yellow style=filled] - "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_1" -> "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_4" ; + "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_1" -> "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_5" ; "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_2" [label="2: Exit implicit_expr_set_correctly \n " color=yellow style=filled] -"implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" [label="3: Return Stmt \n n$0=*&imageDrawRect.origin.x.a:int [line 57, column 14]\n *&return:int=(1 / n$0) [line 57, column 3]\n " shape="box"] +"implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" [label="3: Return Stmt \n n$0=*&imageDrawRect.origin.x.a:int [line 57, column 14]\n " shape="box"] + + + "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" -> "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_4" ; +"implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 57, column 3]\n " shape="box"] - "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" -> "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_2" ; -"implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_4" [label="4: BinaryOperatorStmt: Assign \n *&imageDrawRect.origin.x.a:int=0 [line 56, column 35]\n *&imageDrawRect.origin.x.b:int=0 [line 56, column 35]\n *&imageDrawRect.origin.y:int=0 [line 56, column 35]\n *&imageDrawRect.z:int=0 [line 56, column 35]\n *&imageDrawRect.size:int=5 [line 56, column 25]\n n$1=*&imageDrawRect:rect [line 56, column 19]\n " shape="box"] + "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_4" -> "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_2" ; +"implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_5" [label="5: BinaryOperatorStmt: Assign \n *&imageDrawRect.origin.x.a:int=0 [line 56, column 35]\n *&imageDrawRect.origin.x.b:int=0 [line 56, column 35]\n *&imageDrawRect.origin.y:int=0 [line 56, column 35]\n *&imageDrawRect.z:int=0 [line 56, column 35]\n *&imageDrawRect.size:int=5 [line 56, column 25]\n n$1=*&imageDrawRect:rect [line 56, column 19]\n " shape="box"] - "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_4" -> "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" ; + "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_5" -> "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" ; "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: \nLocals: p:Point \n " color=yellow style=filled] @@ -55,16 +63,20 @@ digraph cfg { "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_1" [label="1: Start point_coords_set_correctly\nFormals: p:Point*\nLocals: \n " color=yellow style=filled] - "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_1" -> "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_4" ; + "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_1" -> "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_5" ; "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_2" [label="2: Exit point_coords_set_correctly \n " color=yellow style=filled] -"point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" [label="3: Return Stmt \n n$0=*&p:Point* [line 19, column 15]\n n$1=*n$0.x:int [line 19, column 15]\n *&return:int=(1 / (n$1 - 4)) [line 19, column 3]\n " shape="box"] +"point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" [label="3: Return Stmt \n n$0=*&p:Point* [line 19, column 15]\n n$1=*n$0.x:int [line 19, column 15]\n " shape="box"] + + + "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" -> "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_4" ; +"point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - 4)) [line 19, column 3]\n " shape="box"] - "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" -> "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_2" ; -"point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&p:Point* [line 18, column 4]\n *n$2.x:int=4 [line 18, column 15]\n *n$2.y:int=5 [line 18, column 15]\n n$3=*n$2:Point [line 18, column 8]\n " shape="box"] + "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_4" -> "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_2" ; +"point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&p:Point* [line 18, column 4]\n *n$2.x:int=4 [line 18, column 15]\n *n$2.y:int=5 [line 18, column 15]\n n$3=*n$2:Point [line 18, column 8]\n " shape="box"] - "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_4" -> "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" ; + "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_5" -> "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" ; } 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 ecc088a81..fb7cbdf28 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot @@ -3,70 +3,74 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: \nLocals: i:int j:int k:int \n " color=yellow style=filled] - "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_17" ; + "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_18" ; "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&k:int [line 15, column 10]\n *&return:int=n$0 [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&k:int [line 15, column 10]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: + \n " ] + "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Return Stmt \n *&return:int=n$0 [line 15, column 3]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: + \n " ] - "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 " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\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_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: UnaryOperator \n n$1=*&i:int [line 10, column 27]\n *&i:int=(n$1 + 1) [line 10, column 27]\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 " shape="invhouse"] + "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: LT \n n$2=*&i:int [line 10, column 19]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n " shape="invhouse"] + "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; + "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (true branch, for loop) \n PRUNE((n$2 < 10), true); [line 10, column 19]\n " shape="invhouse"] - "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: + \n " ] + "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n " shape="invhouse"] - "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(j:int); [line 11, column 10]\n *&j:int=0 [line 11, column 10]\n " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: + \n " ] - "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"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 " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(j:int); [line 11, column 10]\n *&j:int=0 [line 11, column 10]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: LT \n n$4=*&j:int [line 11, column 21]\n " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: UnaryOperator \n n$3=*&j:int [line 11, column 29]\n *&j:int=(n$3 + 1) [line 11, column 29]\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$4 < 10), true); [line 11, column 21]\n " shape="invhouse"] + "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: BinaryOperatorStmt: LT \n n$4=*&j:int [line 11, column 21]\n " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_16" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: Prune (false branch, for loop) \n PRUNE(!(n$4 < 10), false); [line 11, column 21]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: Prune (true branch, for loop) \n PRUNE((n$4 < 10), true); [line 11, column 21]\n " shape="invhouse"] - "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"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 " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_17" ; +"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: Prune (false branch, for loop) \n PRUNE(!(n$4 < 10), false); [line 11, column 21]\n " shape="invhouse"] - "main.fad58de7366495db4650cfefac2fcd61_16" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"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_16" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; +"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: 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 " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_17" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; + "main.fad58de7366495db4650cfefac2fcd61_17" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; +"main.fad58de7366495db4650cfefac2fcd61_18" [label="18: DeclStmt \n VARIABLE_DECLARED(k:int); [line 9, column 3]\n *&k:int=0 [line 9, column 3]\n " shape="box"] + + + "main.fad58de7366495db4650cfefac2fcd61_18" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; } 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 fd788507a..bb422b0e7 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 @@ -3,62 +3,66 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: \nLocals: i:int k:int \n " color=yellow style=filled] - "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; + "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_16" ; "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&k:int [line 15, column 10]\n *&return:int=n$0 [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&k:int [line 15, column 10]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: + \n " ] + "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Return Stmt \n *&return:int=n$0 [line 15, column 3]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: + \n " ] - "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 " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\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_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: UnaryOperator \n n$1=*&i:int [line 10, column 27]\n *&i:int=(n$1 + 1) [line 10, column 27]\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 " shape="invhouse"] + "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: LT \n n$2=*&i:int [line 10, column 19]\n " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; "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 " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (true branch, for loop) \n PRUNE((n$2 < 10), true); [line 10, column 19]\n " shape="invhouse"] - "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: + \n " ] + "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n " shape="invhouse"] - "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: LT \n n$3=*&k:int [line 11, column 12]\n " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: + \n " ] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; - "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (true branch, while) \n PRUNE((n$3 < 10), true); [line 11, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: BinaryOperatorStmt: LT \n n$3=*&k:int [line 11, column 12]\n " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch, while) \n PRUNE(!(n$3 < 10), false); [line 11, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (true branch, while) \n PRUNE((n$3 < 10), true); [line 11, column 12]\n " shape="invhouse"] - "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"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 " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: Prune (false branch, while) \n PRUNE(!(n$3 < 10), false); [line 11, column 12]\n " shape="invhouse"] - "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"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_14" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: UnaryOperator \n n$4=*&k:int [line 12, column 7]\n *&k:int=(n$4 + 1) [line 12, column 7]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; + "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; +"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: DeclStmt \n VARIABLE_DECLARED(k:int); [line 9, column 3]\n *&k:int=0 [line 9, column 3]\n " shape="box"] + + + "main.fad58de7366495db4650cfefac2fcd61_16" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; } diff --git a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot index 0acce0fb4..391cc6e72 100644 --- a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot @@ -14,44 +14,48 @@ digraph cfg { "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_1" [label="1: Start switch_gnu_range\nFormals: c:char\nLocals: i:int \n " color=yellow style=filled] - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_1" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_4" ; + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_1" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" ; "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_2" [label="2: Exit switch_gnu_range \n " color=yellow style=filled] -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" [label="3: Return Stmt \n n$0=*&i:int [line 209, column 10]\n *&return:int=n$0 [line 209, column 3]\n " shape="box"] +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" [label="3: Return Stmt \n n$0=*&i:int [line 209, column 10]\n " shape="box"] - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_2" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_4" [label="4: SwitchStmt \n n$1=*&c:char [line 199, column 11]\n " shape="box"] + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_4" ; +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_4" [label="4: Return Stmt \n *&return:int=n$0 [line 209, column 3]\n " shape="box"] - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_4" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" ; - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_4" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_10" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&c:char [line 206, column 16]\n n$4=_fun_atoi(n$3:int) [line 206, column 11]\n *&i:int=n$4 [line 206, column 7]\n " shape="box"] + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_4" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_2" ; +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" [label="5: SwitchStmt \n n$1=*&c:char [line 199, column 11]\n " shape="box"] - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" [label="6: Return Stmt \n *&return:int=0 [line 201, column 7]\n " shape="box"] + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_10" ; + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_11" ; +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&c:char [line 206, column 16]\n n$4=_fun_atoi(n$3:int) [line 206, column 11]\n *&i:int=n$4 [line 206, column 7]\n " shape="box"] - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_2" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_7" [label="7: Prune (true branch, switch) \n PRUNE((n$1 == 48), true); [line 203, column 5]\n " shape="invhouse"] + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" ; +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_7" [label="7: Return Stmt \n *&return:int=0 [line 201, column 7]\n " shape="box"] - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_7" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_8" [label="8: Prune (false branch, switch) \n PRUNE(!(n$1 == 48), false); [line 203, column 5]\n " shape="invhouse"] + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_7" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_2" ; +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_8" [label="8: Prune (true branch, switch) \n PRUNE((n$1 == 48), true); [line 203, column 5]\n " shape="invhouse"] - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_8" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" [label="9: Prune (true branch, switch) \n PRUNE((n$1 == 97), true); [line 200, column 5]\n " shape="invhouse"] + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_8" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" ; +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$1 == 48), false); [line 203, column 5]\n " shape="invhouse"] - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$1 == 97), false); [line 200, column 5]\n " shape="invhouse"] + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" ; +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 97), true); [line 200, column 5]\n " shape="invhouse"] "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_10" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_7" ; - "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_10" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_8" ; +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$1 == 97), false); [line 200, column 5]\n " shape="invhouse"] + + + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_11" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_8" ; + "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_11" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" ; "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_1" [label="1: Start test_switch1\nFormals: \nLocals: x:int value:int \n " color=yellow style=filled] 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 279bca346..3bfd40e54 100644 --- a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot @@ -3,106 +3,110 @@ digraph cfg { "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_1" [label="1: Start unroll_loop\nFormals: n:int\nLocals: loop:int ret:int \n " color=yellow style=filled] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_1" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_25" ; + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_1" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_26" ; "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_2" [label="2: Exit unroll_loop \n " color=yellow style=filled] -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" [label="3: Return Stmt \n n$0=*&ret:int [line 24, column 10]\n *&return:int=n$0 [line 24, column 3]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" [label="3: Return Stmt \n n$0=*&ret:int [line 24, column 10]\n " shape="box"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_2" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" [label="4: SwitchStmt \n n$1=*&n:int [line 10, column 11]\n " shape="box"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" [label="4: Return Stmt \n *&return:int=n$0 [line 24, column 3]\n " shape="box"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" ; - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" [label="5: + \n " ] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_2" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" [label="5: SwitchStmt \n n$1=*&n:int [line 10, column 11]\n " shape="box"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" [label="6: BinaryOperatorStmt: GT \n n$2=*&loop:int [line 22, column 16]\n *&loop:int=(n$2 - 1) [line 22, column 16]\n " shape="box"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" ; + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" [label="6: + \n " ] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" ; - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" [label="7: Prune (true branch, do while) \n PRUNE(((n$2 - 1) > 0), true); [line 22, column 16]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" [label="7: BinaryOperatorStmt: GT \n n$2=*&loop:int [line 22, column 16]\n *&loop:int=(n$2 - 1) [line 22, column 16]\n " shape="box"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" [label="8: Prune (false branch, do while) \n PRUNE(!((n$2 - 1) > 0), false); [line 22, column 16]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" ; + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" [label="8: Prune (true branch, do while) \n PRUNE(((n$2 - 1) > 0), true); [line 22, column 16]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" [label="9: UnaryOperator \n n$3=*&ret:int [line 21, column 11]\n *&ret:int=(n$3 + 1) [line 21, column 11]\n " shape="box"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" [label="9: Prune (false branch, do while) \n PRUNE(!((n$2 - 1) > 0), false); [line 22, column 16]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" [label="10: + \n " ] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" [label="10: UnaryOperator \n n$3=*&ret:int [line 21, column 11]\n *&ret:int=(n$3 + 1) [line 21, column 11]\n " shape="box"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" [label="11: Prune (true branch, if) \n PRUNE(1, true); [line 16, column 15]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" [label="11: + \n " ] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" [label="12: Prune (false branch, if) \n PRUNE(!1, false); [line 16, column 15]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" [label="12: Prune (true branch, if) \n PRUNE(1, true); [line 16, column 15]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" [label="13: UnaryOperator \n n$4=*&ret:int [line 18, column 15]\n *&ret:int=(n$4 + 1) [line 18, column 15]\n " shape="box"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" [label="13: Prune (false branch, if) \n PRUNE(!1, false); [line 16, column 15]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" [label="14: UnaryOperator \n n$7=*&ret:int [line 15, column 11]\n *&ret:int=(n$7 + 1) [line 15, column 11]\n " shape="box"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" [label="14: UnaryOperator \n n$4=*&ret:int [line 18, column 15]\n *&ret:int=(n$4 + 1) [line 18, column 15]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" ; - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" [label="15: UnaryOperator \n n$8=*&ret:int [line 13, column 9]\n *&ret:int=(n$8 + 1) [line 13, column 9]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" [label="15: UnaryOperator \n n$7=*&ret:int [line 15, column 11]\n *&ret:int=(n$7 + 1) [line 15, column 11]\n " shape="box"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" [label="16: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 1), true); [line 20, column 9]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" ; + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" [label="16: UnaryOperator \n n$8=*&ret:int [line 13, column 9]\n *&ret:int=(n$8 + 1) [line 13, column 9]\n " shape="box"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" [label="17: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 1), false); [line 20, column 9]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" [label="17: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 1), true); [line 20, column 9]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" [label="18: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 2), true); [line 17, column 13]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" [label="18: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 1), false); [line 20, column 9]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" [label="19: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 2), false); [line 17, column 13]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" [label="19: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 2), true); [line 17, column 13]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" ; - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" [label="20: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 3), true); [line 14, column 9]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" [label="20: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 2), false); [line 17, column 13]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" [label="21: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 3), false); [line 14, column 9]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" ; + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" [label="21: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 3), true); [line 14, column 9]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" ; - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" [label="22: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 0), true); [line 11, column 5]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" [label="22: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 3), false); [line 14, column 9]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" [label="23: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 0), false); [line 11, column 5]\n " shape="invhouse"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" ; + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" [label="23: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 0), true); [line 11, column 5]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" ; - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" ; -"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 " shape="box"] + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" [label="24: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 0), false); [line 11, column 5]\n " shape="invhouse"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" ; -"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_24" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" ; + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_25" [label="25: 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 " shape="box"] - "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_25" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" ; + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_25" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" ; +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_26" [label="26: DeclStmt \n VARIABLE_DECLARED(ret:int); [line 8, column 3]\n *&ret:int=0 [line 8, column 3]\n " shape="box"] + + + "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_26" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_25" ; } 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 61b6cad51..7653236ec 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 @@ -3,112 +3,120 @@ digraph cfg { "label_case.83d07a314df100648248d9156212096b_1" [label="1: Start label_case\nFormals: x:char\nLocals: ret:int \n " color=yellow style=filled] - "label_case.83d07a314df100648248d9156212096b_1" -> "label_case.83d07a314df100648248d9156212096b_14" ; + "label_case.83d07a314df100648248d9156212096b_1" -> "label_case.83d07a314df100648248d9156212096b_15" ; "label_case.83d07a314df100648248d9156212096b_2" [label="2: Exit label_case \n " color=yellow style=filled] -"label_case.83d07a314df100648248d9156212096b_3" [label="3: Return Stmt \n n$0=*&ret:int [line 36, column 10]\n *&return:int=n$0 [line 36, column 3]\n " shape="box"] +"label_case.83d07a314df100648248d9156212096b_3" [label="3: Return Stmt \n n$0=*&ret:int [line 36, column 10]\n " shape="box"] - "label_case.83d07a314df100648248d9156212096b_3" -> "label_case.83d07a314df100648248d9156212096b_2" ; -"label_case.83d07a314df100648248d9156212096b_4" [label="4: SwitchStmt \n n$1=*&x:char [line 26, column 11]\n " shape="box"] + "label_case.83d07a314df100648248d9156212096b_3" -> "label_case.83d07a314df100648248d9156212096b_4" ; +"label_case.83d07a314df100648248d9156212096b_4" [label="4: Return Stmt \n *&return:int=n$0 [line 36, column 3]\n " shape="box"] - "label_case.83d07a314df100648248d9156212096b_4" -> "label_case.83d07a314df100648248d9156212096b_12" ; - "label_case.83d07a314df100648248d9156212096b_4" -> "label_case.83d07a314df100648248d9156212096b_13" ; -"label_case.83d07a314df100648248d9156212096b_5" [label="5: UnaryOperator \n n$3=*&ret:int [line 33, column 7]\n *&ret:int=(n$3 + 1) [line 33, column 7]\n " shape="box"] + "label_case.83d07a314df100648248d9156212096b_4" -> "label_case.83d07a314df100648248d9156212096b_2" ; +"label_case.83d07a314df100648248d9156212096b_5" [label="5: SwitchStmt \n n$1=*&x:char [line 26, column 11]\n " shape="box"] - "label_case.83d07a314df100648248d9156212096b_5" -> "label_case.83d07a314df100648248d9156212096b_3" ; -"label_case.83d07a314df100648248d9156212096b_6" [label="6: Skip GotoLabel_l \n " color="gray"] + "label_case.83d07a314df100648248d9156212096b_5" -> "label_case.83d07a314df100648248d9156212096b_13" ; + "label_case.83d07a314df100648248d9156212096b_5" -> "label_case.83d07a314df100648248d9156212096b_14" ; +"label_case.83d07a314df100648248d9156212096b_6" [label="6: UnaryOperator \n n$3=*&ret:int [line 33, column 7]\n *&ret:int=(n$3 + 1) [line 33, column 7]\n " shape="box"] - "label_case.83d07a314df100648248d9156212096b_6" -> "label_case.83d07a314df100648248d9156212096b_5" ; -"label_case.83d07a314df100648248d9156212096b_7" [label="7: UnaryOperator \n n$6=*&ret:int [line 28, column 7]\n *&ret:int=(n$6 + 1) [line 28, column 7]\n " shape="box"] + "label_case.83d07a314df100648248d9156212096b_6" -> "label_case.83d07a314df100648248d9156212096b_3" ; +"label_case.83d07a314df100648248d9156212096b_7" [label="7: Skip GotoLabel_l \n " color="gray"] "label_case.83d07a314df100648248d9156212096b_7" -> "label_case.83d07a314df100648248d9156212096b_6" ; -"label_case.83d07a314df100648248d9156212096b_8" [label="8: Prune (true branch, switch) \n PRUNE((n$1 == 3), true); [line 32, column 5]\n " shape="invhouse"] +"label_case.83d07a314df100648248d9156212096b_8" [label="8: UnaryOperator \n n$6=*&ret:int [line 28, column 7]\n *&ret:int=(n$6 + 1) [line 28, column 7]\n " shape="box"] - "label_case.83d07a314df100648248d9156212096b_8" -> "label_case.83d07a314df100648248d9156212096b_5" ; -"label_case.83d07a314df100648248d9156212096b_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$1 == 3), false); [line 32, column 5]\n " shape="invhouse"] + "label_case.83d07a314df100648248d9156212096b_8" -> "label_case.83d07a314df100648248d9156212096b_7" ; +"label_case.83d07a314df100648248d9156212096b_9" [label="9: Prune (true branch, switch) \n PRUNE((n$1 == 3), true); [line 32, column 5]\n " shape="invhouse"] - "label_case.83d07a314df100648248d9156212096b_9" -> "label_case.83d07a314df100648248d9156212096b_3" ; -"label_case.83d07a314df100648248d9156212096b_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 2), true); [line 31, column 5]\n " shape="invhouse"] + "label_case.83d07a314df100648248d9156212096b_9" -> "label_case.83d07a314df100648248d9156212096b_6" ; +"label_case.83d07a314df100648248d9156212096b_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$1 == 3), false); [line 32, column 5]\n " shape="invhouse"] - "label_case.83d07a314df100648248d9156212096b_10" -> "label_case.83d07a314df100648248d9156212096b_5" ; -"label_case.83d07a314df100648248d9156212096b_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$1 == 2), false); [line 31, column 5]\n " shape="invhouse"] + "label_case.83d07a314df100648248d9156212096b_10" -> "label_case.83d07a314df100648248d9156212096b_3" ; +"label_case.83d07a314df100648248d9156212096b_11" [label="11: Prune (true branch, switch) \n PRUNE((n$1 == 2), true); [line 31, column 5]\n " shape="invhouse"] - "label_case.83d07a314df100648248d9156212096b_11" -> "label_case.83d07a314df100648248d9156212096b_8" ; - "label_case.83d07a314df100648248d9156212096b_11" -> "label_case.83d07a314df100648248d9156212096b_9" ; -"label_case.83d07a314df100648248d9156212096b_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 1), true); [line 27, column 5]\n " shape="invhouse"] + "label_case.83d07a314df100648248d9156212096b_11" -> "label_case.83d07a314df100648248d9156212096b_6" ; +"label_case.83d07a314df100648248d9156212096b_12" [label="12: Prune (false branch, switch) \n PRUNE(!(n$1 == 2), false); [line 31, column 5]\n " shape="invhouse"] - "label_case.83d07a314df100648248d9156212096b_12" -> "label_case.83d07a314df100648248d9156212096b_7" ; -"label_case.83d07a314df100648248d9156212096b_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$1 == 1), false); [line 27, column 5]\n " shape="invhouse"] + "label_case.83d07a314df100648248d9156212096b_12" -> "label_case.83d07a314df100648248d9156212096b_9" ; + "label_case.83d07a314df100648248d9156212096b_12" -> "label_case.83d07a314df100648248d9156212096b_10" ; +"label_case.83d07a314df100648248d9156212096b_13" [label="13: Prune (true branch, switch) \n PRUNE((n$1 == 1), true); [line 27, column 5]\n " shape="invhouse"] - "label_case.83d07a314df100648248d9156212096b_13" -> "label_case.83d07a314df100648248d9156212096b_10" ; - "label_case.83d07a314df100648248d9156212096b_13" -> "label_case.83d07a314df100648248d9156212096b_11" ; -"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_13" -> "label_case.83d07a314df100648248d9156212096b_8" ; +"label_case.83d07a314df100648248d9156212096b_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$1 == 1), false); [line 27, column 5]\n " shape="invhouse"] - "label_case.83d07a314df100648248d9156212096b_14" -> "label_case.83d07a314df100648248d9156212096b_4" ; + "label_case.83d07a314df100648248d9156212096b_14" -> "label_case.83d07a314df100648248d9156212096b_11" ; + "label_case.83d07a314df100648248d9156212096b_14" -> "label_case.83d07a314df100648248d9156212096b_12" ; +"label_case.83d07a314df100648248d9156212096b_15" [label="15: DeclStmt \n VARIABLE_DECLARED(ret:int); [line 25, column 3]\n *&ret:int=0 [line 25, column 3]\n " shape="box"] + + + "label_case.83d07a314df100648248d9156212096b_15" -> "label_case.83d07a314df100648248d9156212096b_5" ; "label_default.f30729864b0243c0a794ef0254fe7d23_1" [label="1: Start label_default\nFormals: x:char\nLocals: ret:int \n " color=yellow style=filled] - "label_default.f30729864b0243c0a794ef0254fe7d23_1" -> "label_default.f30729864b0243c0a794ef0254fe7d23_13" ; + "label_default.f30729864b0243c0a794ef0254fe7d23_1" -> "label_default.f30729864b0243c0a794ef0254fe7d23_14" ; "label_default.f30729864b0243c0a794ef0254fe7d23_2" [label="2: Exit label_default \n " color=yellow style=filled] -"label_default.f30729864b0243c0a794ef0254fe7d23_3" [label="3: Return Stmt \n n$0=*&ret:int [line 21, column 10]\n *&return:int=n$0 [line 21, column 3]\n " shape="box"] +"label_default.f30729864b0243c0a794ef0254fe7d23_3" [label="3: Return Stmt \n n$0=*&ret:int [line 21, column 10]\n " shape="box"] - "label_default.f30729864b0243c0a794ef0254fe7d23_3" -> "label_default.f30729864b0243c0a794ef0254fe7d23_2" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_4" [label="4: SwitchStmt \n n$1=*&x:char [line 10, column 11]\n " shape="box"] + "label_default.f30729864b0243c0a794ef0254fe7d23_3" -> "label_default.f30729864b0243c0a794ef0254fe7d23_4" ; +"label_default.f30729864b0243c0a794ef0254fe7d23_4" [label="4: Return Stmt \n *&return:int=n$0 [line 21, column 3]\n " shape="box"] - "label_default.f30729864b0243c0a794ef0254fe7d23_4" -> "label_default.f30729864b0243c0a794ef0254fe7d23_11" ; - "label_default.f30729864b0243c0a794ef0254fe7d23_4" -> "label_default.f30729864b0243c0a794ef0254fe7d23_12" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_5" [label="5: UnaryOperator \n n$2=*&ret:int [line 19, column 7]\n *&ret:int=(n$2 - 1) [line 19, column 7]\n " shape="box"] + "label_default.f30729864b0243c0a794ef0254fe7d23_4" -> "label_default.f30729864b0243c0a794ef0254fe7d23_2" ; +"label_default.f30729864b0243c0a794ef0254fe7d23_5" [label="5: SwitchStmt \n n$1=*&x:char [line 10, column 11]\n " shape="box"] - "label_default.f30729864b0243c0a794ef0254fe7d23_5" -> "label_default.f30729864b0243c0a794ef0254fe7d23_3" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_6" [label="6: Skip GotoLabel_l \n " color="gray"] + "label_default.f30729864b0243c0a794ef0254fe7d23_5" -> "label_default.f30729864b0243c0a794ef0254fe7d23_12" ; + "label_default.f30729864b0243c0a794ef0254fe7d23_5" -> "label_default.f30729864b0243c0a794ef0254fe7d23_13" ; +"label_default.f30729864b0243c0a794ef0254fe7d23_6" [label="6: UnaryOperator \n n$2=*&ret:int [line 19, column 7]\n *&ret:int=(n$2 - 1) [line 19, column 7]\n " shape="box"] - "label_default.f30729864b0243c0a794ef0254fe7d23_6" -> "label_default.f30729864b0243c0a794ef0254fe7d23_5" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_7" [label="7: BinaryOperatorStmt: Assign \n *&ret:int=2 [line 15, column 7]\n " shape="box"] + "label_default.f30729864b0243c0a794ef0254fe7d23_6" -> "label_default.f30729864b0243c0a794ef0254fe7d23_3" ; +"label_default.f30729864b0243c0a794ef0254fe7d23_7" [label="7: Skip GotoLabel_l \n " color="gray"] - "label_default.f30729864b0243c0a794ef0254fe7d23_7" -> "label_default.f30729864b0243c0a794ef0254fe7d23_3" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_8" [label="8: UnaryOperator \n n$6=*&ret:int [line 12, column 7]\n *&ret:int=(n$6 + 1) [line 12, column 7]\n " shape="box"] + "label_default.f30729864b0243c0a794ef0254fe7d23_7" -> "label_default.f30729864b0243c0a794ef0254fe7d23_6" ; +"label_default.f30729864b0243c0a794ef0254fe7d23_8" [label="8: BinaryOperatorStmt: Assign \n *&ret:int=2 [line 15, column 7]\n " shape="box"] - "label_default.f30729864b0243c0a794ef0254fe7d23_8" -> "label_default.f30729864b0243c0a794ef0254fe7d23_6" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_9" [label="9: Prune (true branch, switch) \n PRUNE((n$1 == 2), true); [line 14, column 5]\n " shape="invhouse"] + "label_default.f30729864b0243c0a794ef0254fe7d23_8" -> "label_default.f30729864b0243c0a794ef0254fe7d23_3" ; +"label_default.f30729864b0243c0a794ef0254fe7d23_9" [label="9: UnaryOperator \n n$6=*&ret:int [line 12, column 7]\n *&ret:int=(n$6 + 1) [line 12, column 7]\n " shape="box"] "label_default.f30729864b0243c0a794ef0254fe7d23_9" -> "label_default.f30729864b0243c0a794ef0254fe7d23_7" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$1 == 2), false); [line 14, column 5]\n " shape="invhouse"] +"label_default.f30729864b0243c0a794ef0254fe7d23_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 2), true); [line 14, column 5]\n " shape="invhouse"] - "label_default.f30729864b0243c0a794ef0254fe7d23_10" -> "label_default.f30729864b0243c0a794ef0254fe7d23_5" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_11" [label="11: Prune (true branch, switch) \n PRUNE((n$1 == 1), true); [line 11, column 5]\n " shape="invhouse"] + "label_default.f30729864b0243c0a794ef0254fe7d23_10" -> "label_default.f30729864b0243c0a794ef0254fe7d23_8" ; +"label_default.f30729864b0243c0a794ef0254fe7d23_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$1 == 2), false); [line 14, column 5]\n " shape="invhouse"] - "label_default.f30729864b0243c0a794ef0254fe7d23_11" -> "label_default.f30729864b0243c0a794ef0254fe7d23_8" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_12" [label="12: Prune (false branch, switch) \n PRUNE(!(n$1 == 1), false); [line 11, column 5]\n " shape="invhouse"] + "label_default.f30729864b0243c0a794ef0254fe7d23_11" -> "label_default.f30729864b0243c0a794ef0254fe7d23_6" ; +"label_default.f30729864b0243c0a794ef0254fe7d23_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 1), true); [line 11, column 5]\n " shape="invhouse"] "label_default.f30729864b0243c0a794ef0254fe7d23_12" -> "label_default.f30729864b0243c0a794ef0254fe7d23_9" ; - "label_default.f30729864b0243c0a794ef0254fe7d23_12" -> "label_default.f30729864b0243c0a794ef0254fe7d23_10" ; -"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="13: Prune (false branch, switch) \n PRUNE(!(n$1 == 1), false); [line 11, column 5]\n " shape="invhouse"] + + + "label_default.f30729864b0243c0a794ef0254fe7d23_13" -> "label_default.f30729864b0243c0a794ef0254fe7d23_10" ; + "label_default.f30729864b0243c0a794ef0254fe7d23_13" -> "label_default.f30729864b0243c0a794ef0254fe7d23_11" ; +"label_default.f30729864b0243c0a794ef0254fe7d23_14" [label="14: 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" ; + "label_default.f30729864b0243c0a794ef0254fe7d23_14" -> "label_default.f30729864b0243c0a794ef0254fe7d23_5" ; } 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 353ac9d57..add2e7406 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 @@ -3,49 +3,53 @@ digraph cfg { "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_1" [label="1: Start vaarg_foo\nFormals: x:int\nLocals: val:int i:int valist:void[1*24] \n " color=yellow style=filled] - "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_1" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" ; + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_1" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_13" ; "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_2" [label="2: Exit vaarg_foo \n " color=yellow style=filled] -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" [label="3: Return Stmt \n n$0=*&val:int [line 21, column 10]\n *&return:int=n$0 [line 21, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" [label="3: Return Stmt \n n$0=*&val:int [line 21, column 10]\n " shape="box"] - "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_2" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" [label="4: Call _fun___builtin_va_end \n n$1=_fun___builtin_va_end(&valist:void*) [line 20, column 3]\n " shape="box"] + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" ; +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" [label="4: Return Stmt \n *&return:int=n$0 [line 21, column 3]\n " shape="box"] - "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" [label="5: + \n " ] + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_2" ; +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" [label="5: Call _fun___builtin_va_end \n n$1=_fun___builtin_va_end(&valist:void*) [line 20, column 3]\n " shape="box"] - "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" [label="6: BinaryOperatorStmt: EQ \n n$2=*&i:int [line 15, column 7]\n " shape="box"] + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" ; +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" [label="6: + \n " ] - "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" ; - "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" [label="7: Prune (true branch, if) \n PRUNE((n$2 == 9), true); [line 15, column 7]\n " shape="invhouse"] + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" ; +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" [label="7: BinaryOperatorStmt: EQ \n n$2=*&i:int [line 15, column 7]\n " shape="box"] + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" ; "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" [label="8: Prune (false branch, if) \n PRUNE(!(n$2 == 9), false); [line 15, column 7]\n " shape="invhouse"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" [label="8: Prune (true branch, if) \n PRUNE((n$2 == 9), true); [line 15, column 7]\n " shape="invhouse"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" [label="9: BinaryOperatorStmt: Assign \n *&val:int=(9 / 0) [line 16, column 5]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" [label="9: Prune (false branch, if) \n PRUNE(!(n$2 == 9), false); [line 15, column 7]\n " shape="invhouse"] - "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" [label="10: BinaryOperatorStmt: Assign \n *&val:int=(4 / 0) [line 18, column 5]\n " shape="box"] + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" ; +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" [label="10: BinaryOperatorStmt: Assign \n *&val:int=(9 / 0) [line 16, column 5]\n " shape="box"] - "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" ; -"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 " shape="box"] + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" ; +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" [label="11: BinaryOperatorStmt: Assign \n *&val:int=(4 / 0) [line 18, column 5]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" ; -"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 " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" [label="12: 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 " shape="box"] - "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" ; + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" ; +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_13" [label="13: Call _fun___builtin_va_start \n n$5=_fun___builtin_va_start(&valist:void*,&x:int&) [line 12, column 3]\n " shape="box"] + + + "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_13" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" ; } diff --git a/infer/tests/codetoanalyze/cpp/biabduction/issues.exp b/infer/tests/codetoanalyze/cpp/biabduction/issues.exp index e19bf6f2d..13d848aa2 100644 --- a/infer/tests/codetoanalyze/cpp/biabduction/issues.exp +++ b/infer/tests/codetoanalyze/cpp/biabduction/issues.exp @@ -44,9 +44,9 @@ codetoanalyze/cpp/biabduction/models/cmp.cpp, std_less_equal_bad, 4, NULL_DEREFE codetoanalyze/cpp/biabduction/models/cmp.cpp, std_not_equal_to_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure std_not_equal_to_bad(),Condition is false,Taking true branch] codetoanalyze/cpp/biabduction/models/move.cpp, move::div0_moved_from, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure move::div0_moved_from(),start of procedure X,return from a call to move::X::X,start of procedure X,return from a call to move::X::X] codetoanalyze/cpp/biabduction/models/move.cpp, move::div0_moved_to, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure move::div0_moved_to(),start of procedure X,return from a call to move::X::X,start of procedure X,return from a call to move::X::X] -codetoanalyze/cpp/biabduction/models/pair.cpp, pair::deref_pair_null0_bad_FN, 3, DANGLING_POINTER_DEREFERENCE, no_bucket, ERROR, [start of procedure pair::deref_pair_null0_bad_FN(),start of procedure pair::pairOfZeroNull(),Skipping ~pair: method has no implementation,return from a call to pair::pairOfZeroNull,Skipping ~pair: method has no implementation] -codetoanalyze/cpp/biabduction/models/pair.cpp, pair::deref_pair_null1_bad, 3, DANGLING_POINTER_DEREFERENCE, no_bucket, ERROR, [start of procedure pair::deref_pair_null1_bad(),start of procedure pair::pairOfZeroNull(),Skipping ~pair: method has no implementation,return from a call to pair::pairOfZeroNull,Skipping ~pair: method has no implementation] -codetoanalyze/cpp/biabduction/models/pair.cpp, pair::deref_pair_null_guard_ok_FP, 4, DANGLING_POINTER_DEREFERENCE, no_bucket, ERROR, [start of procedure pair::deref_pair_null_guard_ok_FP(),start of procedure pair::pairOfZeroNull(),Skipping ~pair: method has no implementation,return from a call to pair::pairOfZeroNull,Skipping ~pair: method has no implementation,Taking true branch] +codetoanalyze/cpp/biabduction/models/pair.cpp, pair::deref_pair_null0_bad_FN, 3, DANGLING_POINTER_DEREFERENCE, no_bucket, ERROR, [start of procedure pair::deref_pair_null0_bad_FN(),start of procedure pair::pairOfZeroNull(),return from a call to pair::pairOfZeroNull,Skipping ~pair: method has no implementation] +codetoanalyze/cpp/biabduction/models/pair.cpp, pair::deref_pair_null1_bad, 3, DANGLING_POINTER_DEREFERENCE, no_bucket, ERROR, [start of procedure pair::deref_pair_null1_bad(),start of procedure pair::pairOfZeroNull(),return from a call to pair::pairOfZeroNull,Skipping ~pair: method has no implementation] +codetoanalyze/cpp/biabduction/models/pair.cpp, pair::deref_pair_null_guard_ok_FP, 4, DANGLING_POINTER_DEREFERENCE, no_bucket, ERROR, [start of procedure pair::deref_pair_null_guard_ok_FP(),start of procedure pair::pairOfZeroNull(),return from a call to pair::pairOfZeroNull,Skipping ~pair: method has no implementation,Taking true branch] codetoanalyze/cpp/biabduction/models/swap.cpp, swap_null_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure swap_null_bad()] codetoanalyze/cpp/biabduction/models/throw_wrapper.cpp, nothrow_if_null_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure nothrow_if_null_bad(),start of procedure get_null(),return from a call to get_null,Taking true branch,start of procedure do_nothing(),return from a call to do_nothing] codetoanalyze/cpp/biabduction/mutex/std_mutex.cpp, ends_locked, 3, Cannot_star, no_bucket, ERROR, [start of procedure ends_locked(),Loop condition is true. Entering loop body,start of procedure ensure_unlocked(),start of procedure ensure_locked(),Skipping try_lock: method has no implementation,return from a call to ensure_locked,Skipping unlock: method has no implementation,return from a call to ensure_unlocked] @@ -58,12 +58,12 @@ codetoanalyze/cpp/biabduction/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_metho codetoanalyze/cpp/biabduction/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_null_deref, 4, NULL_DEREFERENCE, B5, ERROR, [start of procedure boxed_ptr::smart_ptr_result_method_null_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr::SmartPtr,start of procedure X,return from a call to boxed_ptr::X::X,start of procedure get,return from a call to boxed_ptr::SmartPtr::get,start of procedure getNull,return from a call to boxed_ptr::X::getNull] codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_nonzero_deref2_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_nonzero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test::begin,start of procedure end,return from a call to cancellation_test::Test::end,Condition is false,return from a call to cancellation_test::is_size_zero,Taking true branch] codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_nonzero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test::begin,start of procedure end,return from a call to cancellation_test::Test::end,Condition is false,return from a call to cancellation_test::is_size_zero,Taking true branch] -codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter2_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::Test::begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::Test::end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] -codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::Test::begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::Test::end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] +codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter2_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,return from a call to cancellation_test::Test::begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,return from a call to cancellation_test::Test::end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] +codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,return from a call to cancellation_test::Test::begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,return from a call to cancellation_test::Test::end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_zero_deref2_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_zero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test::begin,start of procedure end,return from a call to cancellation_test::Test::end,Condition is true,return from a call to cancellation_test::is_size_zero,Taking true branch] codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_zero_deref_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_zero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test::begin,start of procedure end,return from a call to cancellation_test::Test::end,Condition is true,return from a call to cancellation_test::is_size_zero,Taking true branch] -codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter2_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_zero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::Test::begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::Test::end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] -codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_zero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::Test::begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::Test::end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,Skipping ~TestIter: method has no implementation,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] +codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter2_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_zero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,return from a call to cancellation_test::Test::begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,return from a call to cancellation_test::Test::end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] +codetoanalyze/cpp/biabduction/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter_bad, 4, NULL_DEREFERENCE, B1, ERROR, [start of procedure cancellation_test::size_zero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,return from a call to cancellation_test::Test::begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter::TestIter,return from a call to cancellation_test::Test::end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] codetoanalyze/cpp/biabduction/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe_person_bad, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure npe_added_to_b1::causes_npe_person_bad(),start of procedure Person,return from a call to npe_added_to_b1::Person::Person,start of procedure npe_added_to_b1::deref_person()] codetoanalyze/cpp/biabduction/npe/null_returned_by_method.cpp, testNullDeref, 3, NULL_DEREFERENCE, B2, ERROR, [start of procedure testNullDeref(),Taking true branch,start of procedure getNull,return from a call to XFactory::getNull] codetoanalyze/cpp/biabduction/npe/object_deref.cpp, object_deref::derefNullField, 2, NULL_DEREFERENCE, B1, ERROR, [start of procedure object_deref::derefNullField(),start of procedure object_deref::getNull(),return from a call to object_deref::getNull] @@ -130,7 +130,7 @@ codetoanalyze/cpp/biabduction/types/typeid_expr.cpp, person_typeid_name, 4, BIAB codetoanalyze/cpp/biabduction/types/typeid_expr.cpp, person_typeid_name, 8, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person::Person,Taking false branch] codetoanalyze/cpp/biabduction/types/typeid_expr.cpp, template_type_id_person, 2, BIABDUCTION_MEMORY_LEAK, CPP, ERROR, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person::Person,Skipping template_typeid(): empty list of specs] codetoanalyze/cpp/biabduction/types/typeid_expr.cpp, template_type_id_person, 5, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person::Person,Taking false branch] -codetoanalyze/cpp/biabduction/types/typeid_expr.cpp, template_typeid, 2, BIABDUCTION_MEMORY_LEAK, CPP, ERROR, [start of procedure template_typeid(),start of procedure Person,return from a call to Person::Person,start of procedure Person,return from a call to Person::Person,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to Person::__infer_inner_destructor_~Person,return from a call to Person::~Person,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to Person::__infer_inner_destructor_~Person,return from a call to Person::~Person] +codetoanalyze/cpp/biabduction/types/typeid_expr.cpp, template_typeid, 2, BIABDUCTION_MEMORY_LEAK, CPP, ERROR, [start of procedure template_typeid(),start of procedure Person,return from a call to Person::Person,start of procedure Person,return from a call to Person::Person,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to Person::__infer_inner_destructor_~Person,return from a call to Person::~Person] codetoanalyze/cpp/biabduction/vector/empty_access.cpp, ERROR_vector_as_param_by_value_clear_ok, 2, Cannot_star, no_bucket, ERROR, [start of procedure ERROR_vector_as_param_by_value_clear_ok(),Skipping vector: method has no implementation,Skipping vector: method has no implementation] codetoanalyze/cpp/biabduction/vector/empty_access.cpp, ERROR_vector_as_param_by_value_empty_bad, 2, Cannot_star, no_bucket, ERROR, [start of procedure ERROR_vector_as_param_by_value_empty_bad(),Skipping vector: method has no implementation,Skipping vector: method has no implementation] codetoanalyze/cpp/biabduction/vector/empty_access.cpp, ERROR_vector_as_param_empty_bad, 2, Cannot_star, no_bucket, ERROR, [start of procedure ERROR_vector_as_param_empty_bad(),Skipping vector: method has no implementation] @@ -195,12 +195,12 @@ codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_wit 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] codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyX_div0, 4, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure copy_move_constructor::copyX_div0(),start of procedure X,return from a call to copy_move_constructor::X::X,start of procedure X,return from a call to copy_move_constructor::X::X] codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::copyY_div0, 4, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure copy_move_constructor::copyY_div0(),start of procedure Y,return from a call to copy_move_constructor::Y::Y,start of procedure Y,return from a call to copy_move_constructor::Y::Y] -codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveX_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure copy_move_constructor::moveX_div0(),start of procedure copy_move_constructor::getX(),start of procedure X,return from a call to copy_move_constructor::X::X,start of procedure X,return from a call to copy_move_constructor::X::X,Skipping ~X: method has no implementation,return from a call to copy_move_constructor::getX,Skipping ~X: method has no implementation] -codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure copy_move_constructor::moveY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y::Y,start of procedure Y,return from a call to copy_move_constructor::Y::Y,Skipping ~Y: method has no implementation,return from a call to copy_move_constructor::getY,Skipping ~Y: method has no implementation] +codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveX_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure copy_move_constructor::moveX_div0(),start of procedure copy_move_constructor::getX(),start of procedure X,return from a call to copy_move_constructor::X::X,start of procedure X,return from a call to copy_move_constructor::X::X,Skipping ~X: method has no implementation,return from a call to copy_move_constructor::getX] +codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure copy_move_constructor::moveY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y::Y,start of procedure Y,return from a call to copy_move_constructor::Y::Y,Skipping ~Y: method has no implementation,return from a call to copy_move_constructor::getY] codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp, copy_move_constructor::moveY_moveY_copyY_div0, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure copy_move_constructor::moveY_moveY_copyY_div0(),start of procedure copy_move_constructor::getY(),start of procedure Y,return from a call to copy_move_constructor::Y::Y,start of procedure Y,return from a call to copy_move_constructor::Y::Y,Skipping ~Y: method has no implementation,return from a call to copy_move_constructor::getY,start of procedure Y,return from a call to copy_move_constructor::Y::Y,Skipping ~Y: method has no implementation,start of procedure Y,return from a call to copy_move_constructor::Y::Y] codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::assign_temp_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure temp_object::assign_temp_div0(),start of procedure X,return from a call to temp_object::X::X,start of procedure X,return from a call to temp_object::X::X,Skipping ~X: method has no implementation,start of procedure div] -codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::getX_field_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure temp_object::getX_field_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X::X,start of procedure X,return from a call to temp_object::X::X,Skipping ~X: method has no implementation,return from a call to temp_object::getX,start of procedure temp_object::div()] -codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::getX_method_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure temp_object::getX_method_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X::X,start of procedure X,return from a call to temp_object::X::X,Skipping ~X: method has no implementation,return from a call to temp_object::getX,start of procedure div] +codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::getX_field_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure temp_object::getX_field_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X::X,start of procedure X,return from a call to temp_object::X::X,return from a call to temp_object::getX,start of procedure temp_object::div()] +codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::getX_method_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure temp_object::getX_method_div0(),start of procedure temp_object::getX(),start of procedure X,return from a call to temp_object::X::X,start of procedure X,return from a call to temp_object::X::X,return from a call to temp_object::getX,start of procedure div] codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::temp_field2_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure temp_object::temp_field2_div0(),start of procedure X,return from a call to temp_object::X::X,start of procedure temp_object::div()] codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::temp_field_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure temp_object::temp_field_div0(),start of procedure X,return from a call to temp_object::X::X,start of procedure temp_object::div()] codetoanalyze/cpp/shared/constructors/temp_object.cpp, temp_object::temp_method_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure temp_object::temp_method_div0(),start of procedure X,return from a call to temp_object::X::X,start of procedure div] @@ -209,7 +209,7 @@ codetoanalyze/cpp/shared/lambda/lambda1.cpp, bar, 5, DIVIDE_BY_ZERO, no_bucket, codetoanalyze/cpp/shared/lambda/lambda1.cpp, foo, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure foo(),start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:17:17::,Skipping ~: method has no implementation,start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:18:12::,Skipping ~: method has no implementation,start of procedure operator(),return from a call to foo::lambda_shared_lambda_lambda1.cpp:18:12::operator()] codetoanalyze/cpp/shared/lambda/lambda1.cpp, foo::lambda_shared_lambda_lambda1.cpp:17:17::operator(), 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure operator()] codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::branch_div0, 4, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure conversion_operator::branch_div0(),start of procedure X,return from a call to conversion_operator::X::X,start of procedure operator_bool,return from a call to conversion_operator::X::operator_bool,Taking true branch,start of procedure operator_int,return from a call to conversion_operator::X::operator_int] -codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::y_branch_div0, 6, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y::Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X::X,start of procedure X,return from a call to conversion_operator::X::X,Skipping ~X: method has no implementation,return from a call to conversion_operator::Y::operator_X,start of procedure X,return from a call to conversion_operator::X::X,start of procedure operator_bool,return from a call to conversion_operator::X::operator_bool,Taking true branch,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X::X,start of procedure X,return from a call to conversion_operator::X::X,Skipping ~X: method has no implementation,return from a call to conversion_operator::Y::operator_X,start of procedure X,return from a call to conversion_operator::X::X,start of procedure operator_int,return from a call to conversion_operator::X::operator_int,Skipping ~X: method has no implementation] +codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::y_branch_div0, 6, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y::Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X::X,start of procedure X,return from a call to conversion_operator::X::X,return from a call to conversion_operator::Y::operator_X,start of procedure X,return from a call to conversion_operator::X::X,start of procedure operator_bool,return from a call to conversion_operator::X::operator_bool,Taking true branch,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X::X,start of procedure X,return from a call to conversion_operator::X::X,return from a call to conversion_operator::Y::operator_X,start of procedure X,return from a call to conversion_operator::X::X,start of procedure operator_int,return from a call to conversion_operator::X::operator_int,Skipping ~X: method has no implementation] codetoanalyze/cpp/shared/methods/static.cpp, div0_class, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_class(),start of procedure fun] codetoanalyze/cpp/shared/methods/static.cpp, div0_instance, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_instance(),start of procedure fun] codetoanalyze/cpp/shared/methods/virtual_methods.cpp, poly_area, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure poly_area(),start of procedure Polygon,return from a call to Polygon::Polygon,start of procedure area,return from a call to Polygon::area] @@ -270,10 +270,10 @@ codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp, choose2_div0_ codetoanalyze/cpp/shared/templates/function.cpp, function::createAndDiv, 1, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure function::createAndDiv(),start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3::X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3::get,return from a call to function::getVal,return from a call to function::createAndGetVal] codetoanalyze/cpp/shared/templates/function.cpp, function::div0_create_and_get_val, 1, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure function::div0_create_and_get_val(),start of procedure function::createAndGetVal(),start of procedure X1,return from a call to function::X1::X1,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1::getVal,return from a call to function::getVal,return from a call to function::createAndGetVal,start of procedure function::createAndGetVal(),start of procedure X3,return from a call to function::X3::X3,start of procedure function::getVal(),start of procedure get,return from a call to function::X3::get,return from a call to function::getVal,return from a call to function::createAndGetVal] codetoanalyze/cpp/shared/templates/function.cpp, function::div0_get_val, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure function::div0_get_val(),start of procedure X1,return from a call to function::X1::X1,start of procedure X3,return from a call to function::X3::X3,start of procedure function::getVal(),start of procedure getVal,return from a call to function::X1::getVal,return from a call to function::getVal,start of procedure function::getVal(),start of procedure get,return from a call to function::X3::get,return from a call to function::getVal] -codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_10args, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_10args()] +codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_10args, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_10args(),start of procedure div<5ae447456b906d06>(),start of procedure div(),start of procedure div(),start of procedure div(),start of procedure div(),start of procedure div(),start of procedure div(),start of procedure div(),start of procedure div(),start of procedure div(),return from a call to div,return from a call to div] codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_1arg, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_1arg(),start of procedure div()] -codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args1, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_3args1()] -codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args2, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_3args2()] +codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args1, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_3args1(),start of procedure div(),start of procedure div(),start of procedure div(),return from a call to div,return from a call to div] +codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args2, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_3args2(),start of procedure div(),start of procedure div(),start of procedure div(),return from a call to div] codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args3, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_3args3(),start of procedure div(),start of procedure div(),start of procedure div()] codetoanalyze/cpp/shared/templates/function_pack.cpp, div0_3args4, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_3args4(),start of procedure div(),start of procedure div(),start of procedure div()] codetoanalyze/cpp/shared/templates/method.cpp, method::div0_getter, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure method::div0_getter(),start of procedure X2,return from a call to method::X2::X2,start of procedure Getter,return from a call to method::Getter::Getter,start of procedure get,start of procedure get,return from a call to method::X2::get,return from a call to method::Getter::get] @@ -297,7 +297,7 @@ codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method, 3, DIVIDE_BY_ codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method_op, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_method_op(),start of procedure operator[],return from a call to X::operator[]] codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method_op_ptr, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure div0_method_op_ptr(),start of procedure operator[],return from a call to X::operator[]] codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure return_struct::get_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X::X,start of procedure X,return from a call to return_struct::X::X,Skipping ~X: method has no implementation,return from a call to return_struct::get,start of procedure X,return from a call to return_struct::X::X,Skipping ~X: method has no implementation] -codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_field_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure return_struct::get_field_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X::X,start of procedure X,return from a call to return_struct::X::X,Skipping ~X: method has no implementation,return from a call to return_struct::get,Skipping ~X: method has no implementation,start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X::X,start of procedure X,return from a call to return_struct::X::X,Skipping ~X: method has no implementation,return from a call to return_struct::get,Skipping ~X: method has no implementation] +codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_field_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure return_struct::get_field_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X::X,start of procedure X,return from a call to return_struct::X::X,Skipping ~X: method has no implementation,return from a call to return_struct::get,Skipping ~X: method has no implementation,start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X::X,start of procedure X,return from a call to return_struct::X::X,Skipping ~X: method has no implementation,return from a call to return_struct::get] codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_method_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure return_struct::get_method_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X::X,start of procedure X,return from a call to return_struct::X::X,Skipping ~X: method has no implementation,return from a call to return_struct::get,start of procedure div] codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_Y_div0, 7, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure struct_forward_declare::X_Y_div0(),start of procedure X,return from a call to struct_forward_declare::X::X,Taking false branch,start of procedure getF,return from a call to struct_forward_declare::X::getF] codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_div0, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure struct_forward_declare::X_div0(),start of procedure X,return from a call to struct_forward_declare::X::X,start of procedure getF,return from a call to struct_forward_declare::X::getF] @@ -306,5 +306,5 @@ codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declar codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_ptr_div0, 5, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure struct_forward_declare::Z_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::Z::getF] codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::field_div0, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure struct_pass_by_value::field_div0(),start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure Y,start of procedure X,return from a call to struct_pass_by_value::X::X,return from a call to struct_pass_by_value::Y::Y,start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::param_get_copied_div0, 3, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure struct_pass_by_value::param_get_copied_div0(),start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure struct_pass_by_value::set_f(),return from a call to struct_pass_by_value::set_f] -codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::temp_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure struct_pass_by_value::temp_div0(),start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f,Skipping ~X: method has no implementation] +codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::temp_div0, 0, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure struct_pass_by_value::temp_div0(),start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp, struct_pass_by_value::var_div0, 2, DIVIDE_BY_ZERO, no_bucket, ERROR, [start of procedure struct_pass_by_value::var_div0(),start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure X,return from a call to struct_pass_by_value::X::X,start of procedure struct_pass_by_value::get_f(),return from a call to struct_pass_by_value::get_f] 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 345eb24ed..67f3015f6 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot @@ -14,62 +14,66 @@ digraph cfg { "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_1" [label="1: Start switch_with_fallthrough\nFormals: n:int\nLocals: res:int \n " color=yellow style=filled] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_1" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_14" ; + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_1" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_15" ; "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_2" [label="2: Exit switch_with_fallthrough \n " color=yellow style=filled] -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" [label="3: Return Stmt \n n$0=*&res:int [line 22, column 10]\n *&return:int=n$0 [line 22, column 3]\n " shape="box"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" [label="3: Return Stmt \n n$0=*&res:int [line 22, column 10]\n " shape="box"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_2" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" [label="4: SwitchStmt \n n$1=*&n:int [line 12, column 11]\n " shape="box"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" [label="4: Return Stmt \n *&return:int=n$0 [line 22, column 3]\n " shape="box"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" ; - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" [label="5: BinaryOperatorStmt: Assign \n n$3=_fun_h() [line 19, column 13]\n *&res:int=n$3 [line 19, column 7]\n " shape="box"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_2" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" [label="5: SwitchStmt \n n$1=*&n:int [line 12, column 11]\n " shape="box"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" [label="6: Prune (true branch, switch) \n PRUNE((n$1 == 77), true); [line 18, column 5]\n " shape="invhouse"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" ; + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_14" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" [label="6: BinaryOperatorStmt: Assign \n n$3=_fun_h() [line 19, column 13]\n *&res:int=n$3 [line 19, column 7]\n " shape="box"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" [label="7: Prune (false branch, switch) \n PRUNE(!(n$1 == 77), false); [line 18, column 5]\n " shape="invhouse"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" [label="7: Prune (true branch, switch) \n PRUNE((n$1 == 77), true); [line 18, column 5]\n " shape="invhouse"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" [label="8: Prune (true branch, switch) \n PRUNE((n$1 == 66), true); [line 16, column 5]\n " shape="invhouse"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" [label="8: Prune (false branch, switch) \n PRUNE(!(n$1 == 77), false); [line 18, column 5]\n " shape="invhouse"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$1 == 66), false); [line 16, column 5]\n " shape="invhouse"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" [label="9: Prune (true branch, switch) \n PRUNE((n$1 == 66), true); [line 16, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" ; - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 33), true); [line 14, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$1 == 66), false); [line 16, column 5]\n " shape="invhouse"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$1 == 33), false); [line 14, column 5]\n " shape="invhouse"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" ; + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" [label="11: Prune (true branch, switch) \n PRUNE((n$1 == 33), true); [line 14, column 5]\n " shape="invhouse"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" ; - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 22), true); [line 13, column 5]\n " shape="invhouse"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" [label="12: Prune (false branch, switch) \n PRUNE(!(n$1 == 33), false); [line 14, column 5]\n " shape="invhouse"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$1 == 22), false); [line 13, column 5]\n " shape="invhouse"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" ; + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" [label="13: Prune (true branch, switch) \n PRUNE((n$1 == 22), true); [line 13, column 5]\n " shape="invhouse"] - "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 VARIABLE_DECLARED(res:int); [line 11, column 3]\n *&res:int=5 [line 11, column 3]\n " shape="box"] + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$1 == 22), false); [line 13, column 5]\n " shape="invhouse"] - "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_14" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" ; + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_14" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" ; + "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_14" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" ; +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_15" [label="15: 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_15" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_1" [label="1: Start test_fallthrough\nFormals: \nLocals: \n " color=yellow style=filled] @@ -77,8 +81,12 @@ digraph cfg { "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_2" [label="2: Exit test_fallthrough \n " color=yellow style=filled] -"test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_3" [label="3: Return Stmt \n n$0=_fun_switch_with_fallthrough(66:int) [line 25, column 38]\n *&return:int=(1 / (n$0 - 3)) [line 25, column 26]\n " shape="box"] +"test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_3" [label="3: Return Stmt \n n$0=_fun_switch_with_fallthrough(66:int) [line 25, column 38]\n " shape="box"] + + + "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_3" -> "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_4" ; +"test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_4" [label="4: Return Stmt \n *&return:int=(1 / (n$0 - 3)) [line 25, column 26]\n " shape="box"] - "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_3" -> "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_2" ; + "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_4" -> "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot index 8c10d7b3e..ff21191b1 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_2" [label="2: Exit operator_new \n " color=yellow style=filled] -"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" [label="3: Return Stmt \n n$0=*&ptr2:void* [line 21, column 10]\n *&return:void*=n$0 [line 21, column 3]\n " shape="box"] +"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" [label="3: Return Stmt \n n$0=*&ptr2:void* [line 21, column 10]\n " shape="box"] - "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" -> "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_2" ; + "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" -> "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_4" ; +"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_4" [label="4: Return Stmt \n *&return:void*=n$0 [line 21, column 3]\n " shape="box"] + + + "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_4" -> "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_2" ; "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" [label="1: Start test\nFormals: \nLocals: i:int* x:int \n " color=yellow style=filled] 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 174192583..372ab7ca8 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot @@ -563,33 +563,49 @@ digraph cfg { "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_1" [label="1: Start break_scope::iterator::operator++\nFormals: this:break_scope::iterator* __return_param:break_scope::iterator*\nLocals: \n " color=yellow style=filled] - "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_1" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_4" ; + "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_1" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_6" ; "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_2" [label="2: Exit break_scope::iterator::operator++ \n " color=yellow style=filled] -"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 24, column 5]\n n$1=*&this:break_scope::iterator* [line 24, column 13]\n n$2=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,n$1:break_scope::iterator&) [line 24, column 12]\n " shape="box"] +"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 24, column 5]\n " shape="box"] - "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_2" ; -"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_4" [label="4: UnaryOperator \n n$3=*&this:break_scope::iterator* [line 23, column 5]\n n$4=*n$3.position:int [line 23, column 5]\n *n$3.position:int=(n$4 + 1) [line 23, column 5]\n " shape="box"] + "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_4" ; +"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_4" [label="4: Return Stmt \n n$1=*&this:break_scope::iterator* [line 24, column 13]\n n$2=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,n$1:break_scope::iterator&) [line 24, column 12]\n " shape="box"] - "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_4" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" ; + "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_4" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_5" ; +"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_5" [label="5: Return Stmt \n " shape="box"] + + + "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_5" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_2" ; +"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_6" [label="6: UnaryOperator \n n$3=*&this:break_scope::iterator* [line 23, column 5]\n n$4=*n$3.position:int [line 23, column 5]\n *n$3.position:int=(n$4 + 1) [line 23, column 5]\n " shape="box"] + + + "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_6" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" ; "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_1" [label="1: Start break_scope::iterator::operator*\nFormals: this:break_scope::iterator* __return_param:break_scope::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const \n " color=yellow style=filled] - "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_1" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" ; + "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_1" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_4" ; "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_2" [label="2: Exit break_scope::iterator::operator* \n " color=yellow style=filled] "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const ); [line 42, column 40]\n n$5=*&this:break_scope::iterator const * [line 42, column 40]\n n$6=*n$5.vector:break_scope::vec const * [line 42, column 40]\n _=*n$6:break_scope::vec const [line 42, column 40]\n n$8=*&this:break_scope::iterator const * [line 42, column 52]\n n$9=*n$8.position:int [line 42, column 52]\n n$11=_fun_break_scope::vec::get(n$6:break_scope::vec const *,n$9:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X*) assign_last [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_4" ; -"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_4" [label="4: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 42, column 33]\n n$12=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const [line 42, column 60]\n n$3=_fun_break_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const *) injected [line 42, column 60]\n " shape="box"] + "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_5" ; +"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_4" [label="4: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 42, column 33]\n " shape="box"] + + + "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_4" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" ; +"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_5" [label="5: Return Stmt \n n$12=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const [line 42, column 60]\n n$3=_fun_break_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const *) injected [line 42, column 60]\n " shape="box"] + + + "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_5" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_6" ; +"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_6" [label="6: Return Stmt \n " shape="box"] - "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_4" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_2" ; + "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_6" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_2" ; "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_1" [label="1: Start break_scope::iterator::iterator\nFormals: this:break_scope::iterator* __param_0:break_scope::iterator const &\nLocals: \n " color=yellow style=filled] @@ -642,40 +658,64 @@ digraph cfg { "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_2" [label="2: Exit break_scope::vec::get \n " color=yellow style=filled] -"get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 37, column 26]\n n$1=*&this:break_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_break_scope::X::X(n$0:break_scope::X*,n$1._data[n$2]:break_scope::X const &) [line 37, column 33]\n " shape="box"] +"get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 37, column 26]\n " shape="box"] + + + "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_3" -> "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_4" ; +"get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_4" [label="4: Return Stmt \n n$1=*&this:break_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_break_scope::X::X(n$0:break_scope::X*,n$1._data[n$2]:break_scope::X const &) [line 37, column 33]\n " shape="box"] - "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_3" -> "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_2" ; + "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_4" -> "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_5" ; +"get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_5" [label="5: Return Stmt \n " shape="box"] + + + "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_5" -> "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_2" ; "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_1" [label="1: Start break_scope::vec::end\nFormals: this:break_scope::vec* __return_param:break_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator \n " color=yellow style=filled] - "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_1" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" ; + "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_1" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_4" ; "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_2" [label="2: Exit break_scope::vec::end \n " color=yellow style=filled] "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator); [line 35, column 27]\n n$5=*&this:break_scope::vec* [line 35, column 36]\n n$6=_fun_break_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$5:break_scope::vec*,10:int) [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_4" ; -"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_4" [label="4: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 35, column 20]\n n$7=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator [line 35, column 44]\n n$3=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*) injected [line 35, column 44]\n " shape="box"] + "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_5" ; +"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_4" [label="4: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 35, column 20]\n " shape="box"] + + + "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_4" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" ; +"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_5" [label="5: Return Stmt \n n$7=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator [line 35, column 44]\n n$3=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*) injected [line 35, column 44]\n " shape="box"] + + + "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_5" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_6" ; +"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_6" [label="6: Return Stmt \n " shape="box"] - "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_4" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_2" ; + "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_6" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_2" ; "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_1" [label="1: Start break_scope::vec::begin\nFormals: this:break_scope::vec* __return_param:break_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator \n " color=yellow style=filled] - "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_1" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" ; + "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_1" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_4" ; "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_2" [label="2: Exit break_scope::vec::begin \n " color=yellow style=filled] "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator); [line 34, column 29]\n n$5=*&this:break_scope::vec* [line 34, column 38]\n n$6=_fun_break_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$5:break_scope::vec*,0:int) [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_4" ; -"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_4" [label="4: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 34, column 22]\n n$7=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator [line 34, column 45]\n n$3=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*) injected [line 34, column 45]\n " shape="box"] + "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_5" ; +"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_4" [label="4: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 34, column 22]\n " shape="box"] + + + "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_4" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" ; +"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_5" [label="5: Return Stmt \n n$7=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator [line 34, column 45]\n n$3=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*) injected [line 34, column 45]\n " shape="box"] + + + "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_5" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_6" ; +"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_6" [label="6: Return Stmt \n " shape="box"] - "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_4" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_2" ; + "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_6" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_2" ; "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_1" [label="1: Start break_scope::vec::vec\nFormals: this:break_scope::vec*\nLocals: \n " color=yellow style=filled] 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 c4cba3639..fd704925c 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot @@ -454,18 +454,26 @@ digraph cfg { "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_1" [label="1: Start continue_scope::iterator::operator*\nFormals: this:continue_scope::iterator* __return_param:continue_scope::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const \n " color=yellow style=filled] - "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_1" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" ; + "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_1" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_4" ; "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_2" [label="2: Exit continue_scope::iterator::operator* \n " color=yellow style=filled] "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const ); [line 42, column 40]\n n$5=*&this:continue_scope::iterator const * [line 42, column 40]\n n$6=*n$5.vector:continue_scope::vec const * [line 42, column 40]\n _=*n$6:continue_scope::vec const [line 42, column 40]\n n$8=*&this:continue_scope::iterator const * [line 42, column 52]\n n$9=*n$8.position:int [line 42, column 52]\n n$11=_fun_continue_scope::vec::get(n$6:continue_scope::vec const *,n$9:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X*) assign_last [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_4" ; -"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_4" [label="4: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 42, column 33]\n n$12=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const [line 42, column 60]\n n$3=_fun_continue_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const *) injected [line 42, column 60]\n " shape="box"] + "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_5" ; +"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_4" [label="4: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 42, column 33]\n " shape="box"] - "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_4" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_2" ; + "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_4" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" ; +"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_5" [label="5: Return Stmt \n n$12=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const [line 42, column 60]\n n$3=_fun_continue_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const *) injected [line 42, column 60]\n " shape="box"] + + + "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_5" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_6" ; +"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_6" [label="6: Return Stmt \n " shape="box"] + + + "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_6" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_2" ; "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_1" [label="1: Start continue_scope::iterator::operator!=\nFormals: this:continue_scope::iterator* i2:continue_scope::iterator const &\nLocals: \n " color=yellow style=filled] @@ -505,18 +513,26 @@ digraph cfg { "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_1" [label="1: Start continue_scope::iterator::operator++\nFormals: this:continue_scope::iterator* __return_param:continue_scope::iterator*\nLocals: \n " color=yellow style=filled] - "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_1" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_4" ; + "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_1" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_6" ; "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_2" [label="2: Exit continue_scope::iterator::operator++ \n " color=yellow style=filled] -"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 24, column 5]\n n$1=*&this:continue_scope::iterator* [line 24, column 13]\n n$2=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,n$1:continue_scope::iterator&) [line 24, column 12]\n " shape="box"] +"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 24, column 5]\n " shape="box"] + + + "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_4" ; +"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_4" [label="4: Return Stmt \n n$1=*&this:continue_scope::iterator* [line 24, column 13]\n n$2=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,n$1:continue_scope::iterator&) [line 24, column 12]\n " shape="box"] + + + "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_4" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_5" ; +"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_5" [label="5: Return Stmt \n " shape="box"] - "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_2" ; -"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_4" [label="4: UnaryOperator \n n$3=*&this:continue_scope::iterator* [line 23, column 5]\n n$4=*n$3.position:int [line 23, column 5]\n *n$3.position:int=(n$4 + 1) [line 23, column 5]\n " shape="box"] + "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_5" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_2" ; +"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_6" [label="6: UnaryOperator \n n$3=*&this:continue_scope::iterator* [line 23, column 5]\n n$4=*n$3.position:int [line 23, column 5]\n *n$3.position:int=(n$4 + 1) [line 23, column 5]\n " shape="box"] - "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_4" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" ; + "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_6" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" ; "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_1" [label="1: Start continue_scope::iterator::iterator\nFormals: this:continue_scope::iterator* __param_0:continue_scope::iterator&\nLocals: \n " color=yellow style=filled] @@ -565,18 +581,26 @@ digraph cfg { "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_1" [label="1: Start continue_scope::vec::begin\nFormals: this:continue_scope::vec* __return_param:continue_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator \n " color=yellow style=filled] - "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_1" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" ; + "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_1" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_4" ; "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_2" [label="2: Exit continue_scope::vec::begin \n " color=yellow style=filled] "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator); [line 34, column 29]\n n$5=*&this:continue_scope::vec* [line 34, column 38]\n n$6=_fun_continue_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$5:continue_scope::vec*,0:int) [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_4" ; -"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_4" [label="4: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 34, column 22]\n n$7=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator [line 34, column 45]\n n$3=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*) injected [line 34, column 45]\n " shape="box"] + "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_5" ; +"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_4" [label="4: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 34, column 22]\n " shape="box"] + + + "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_4" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" ; +"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_5" [label="5: Return Stmt \n n$7=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator [line 34, column 45]\n n$3=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*) injected [line 34, column 45]\n " shape="box"] - "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_4" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_2" ; + "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_5" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_6" ; +"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_6" [label="6: Return Stmt \n " shape="box"] + + + "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_6" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_2" ; "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_1" [label="1: Start continue_scope::vec::get\nFormals: this:continue_scope::vec* pos:int __return_param:continue_scope::X*\nLocals: \n " color=yellow style=filled] @@ -584,25 +608,41 @@ digraph cfg { "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_2" [label="2: Exit continue_scope::vec::get \n " color=yellow style=filled] -"get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 37, column 26]\n n$1=*&this:continue_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_continue_scope::X::X(n$0:continue_scope::X*,n$1._data[n$2]:continue_scope::X const &) [line 37, column 33]\n " shape="box"] +"get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 37, column 26]\n " shape="box"] + + + "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_3" -> "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_4" ; +"get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_4" [label="4: Return Stmt \n n$1=*&this:continue_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_continue_scope::X::X(n$0:continue_scope::X*,n$1._data[n$2]:continue_scope::X const &) [line 37, column 33]\n " shape="box"] + + + "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_4" -> "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_5" ; +"get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_5" [label="5: Return Stmt \n " shape="box"] - "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_3" -> "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_2" ; + "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_5" -> "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_2" ; "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_1" [label="1: Start continue_scope::vec::end\nFormals: this:continue_scope::vec* __return_param:continue_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator \n " color=yellow style=filled] - "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_1" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" ; + "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_1" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_4" ; "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_2" [label="2: Exit continue_scope::vec::end \n " color=yellow style=filled] "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator); [line 35, column 27]\n n$5=*&this:continue_scope::vec* [line 35, column 36]\n n$6=_fun_continue_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$5:continue_scope::vec*,10:int) [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_4" ; -"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_4" [label="4: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 35, column 20]\n n$7=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator [line 35, column 44]\n n$3=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*) injected [line 35, column 44]\n " shape="box"] + "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_5" ; +"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_4" [label="4: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 35, column 20]\n " shape="box"] + + + "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_4" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" ; +"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_5" [label="5: Return Stmt \n n$7=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator [line 35, column 44]\n n$3=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*) injected [line 35, column 44]\n " shape="box"] + + + "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_5" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_6" ; +"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_6" [label="6: Return Stmt \n " shape="box"] - "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_4" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_2" ; + "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_6" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_2" ; "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_1" [label="1: Start continue_scope::vec::vec\nFormals: this:continue_scope::vec*\nLocals: \n " color=yellow style=filled] 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 9c5fd9fee..76e6d668b 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 @@ -18,22 +18,26 @@ digraph cfg { "f#10188173399311638112.8cffce40f5525757e791edeba0985326_1" [label="1: Start f\nFormals: p:int*\nLocals: x:int \n " color=yellow style=filled] - "f#10188173399311638112.8cffce40f5525757e791edeba0985326_1" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" ; + "f#10188173399311638112.8cffce40f5525757e791edeba0985326_1" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_6" ; "f#10188173399311638112.8cffce40f5525757e791edeba0985326_2" [label="2: Exit f \n " color=yellow style=filled] -"f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" [label="3: Return Stmt \n n$0=*&x:int [line 12, column 10]\n *&return:int=n$0 [line 12, column 3]\n " shape="box"] +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" [label="3: Return Stmt \n n$0=*&x:int [line 12, column 10]\n " shape="box"] - "f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_2" ; -"f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" [label="4: Call _fun___infer_skip_function \n n$1=_fun___infer_skip_function() [line 11, column 3]\n " shape="box"] + "f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" ; +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" [label="4: Return Stmt \n *&return:int=n$0 [line 12, column 3]\n " shape="box"] - "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" ; -"f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 10, column 3]\n n$2=*&p:int* [line 10, column 12]\n n$3=*n$2:int [line 10, column 11]\n *&x:int=n$3 [line 10, column 3]\n " shape="box"] + "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_2" ; +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" [label="5: Call _fun___infer_skip_function \n n$1=_fun___infer_skip_function() [line 11, column 3]\n " shape="box"] - "f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" ; + "f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" ; +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int); [line 10, column 3]\n n$2=*&p:int* [line 10, column 12]\n n$3=*n$2:int [line 10, column 11]\n *&x:int=n$3 [line 10, column 3]\n " shape="box"] + + + "f#10188173399311638112.8cffce40f5525757e791edeba0985326_6" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" ; "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" [label="1: Start test\nFormals: \nLocals: t:int* \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot index 968121d8c..5374bf1e3 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot @@ -14,33 +14,49 @@ digraph cfg { "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_1" [label="1: Start destructor_scope::getX\nFormals: __return_param:destructor_scope::X*\nLocals: x:destructor_scope::X \n " color=yellow style=filled] - "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_1" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" ; + "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_1" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_6" ; "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_2" [label="2: Exit destructor_scope::getX \n " color=yellow style=filled] -"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::X* [line 70, column 3]\n n$1=_fun_destructor_scope::X::X(n$0:destructor_scope::X*,&x:destructor_scope::X&) [line 70, column 10]\n _=*&x:destructor_scope::X [line 70, column 10]\n n$3=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 70, column 10]\n " shape="box"] +"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::X* [line 70, column 3]\n " shape="box"] - "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 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 " shape="box"] + "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" ; +"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" [label="4: Return Stmt \n n$1=_fun_destructor_scope::X::X(n$0:destructor_scope::X*,&x:destructor_scope::X&) [line 70, column 10]\n " shape="box"] - "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" ; + "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_5" ; +"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_5" [label="5: Return Stmt \n _=*&x:destructor_scope::X [line 70, column 10]\n n$3=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 70, column 10]\n " shape="box"] + + + "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_5" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_2" ; +"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_6" [label="6: 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 " shape="box"] + + + "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_6" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" ; "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_1" [label="1: Start destructor_scope::getZ\nFormals: __return_param:destructor_scope::Z*\nLocals: z:destructor_scope::Z \n " color=yellow style=filled] - "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_1" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" ; + "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_1" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_6" ; "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_2" [label="2: Exit destructor_scope::getZ \n " color=yellow style=filled] -"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::Z* [line 75, column 3]\n n$1=_fun_destructor_scope::Z::Z(n$0:destructor_scope::Z*,&z:destructor_scope::Z&) [line 75, column 10]\n _=*&z:destructor_scope::Z [line 75, column 10]\n n$3=_fun_destructor_scope::Z::~Z(&z:destructor_scope::Z*) injected [line 75, column 10]\n " shape="box"] +"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::Z* [line 75, column 3]\n " shape="box"] + + + "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" ; +"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" [label="4: Return Stmt \n n$1=_fun_destructor_scope::Z::Z(n$0:destructor_scope::Z*,&z:destructor_scope::Z&) [line 75, column 10]\n " shape="box"] + + + "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_5" ; +"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_5" [label="5: Return Stmt \n _=*&z:destructor_scope::Z [line 75, column 10]\n n$3=_fun_destructor_scope::Z::~Z(&z:destructor_scope::Z*) injected [line 75, column 10]\n " shape="box"] - "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 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 " shape="box"] + "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_5" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_2" ; +"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_6" [label="6: 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 " shape="box"] - "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" ; + "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_6" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" ; "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_1" [label="1: Start destructor_scope::test1\nFormals: a:_Bool b:_Bool\nLocals: y3:destructor_scope::Y y1:destructor_scope::Y x3:destructor_scope::X y2:destructor_scope::Y x2:destructor_scope::X s:destructor_scope::S x1:destructor_scope::X \n " color=yellow style=filled] 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 eb0445f40..150f7cce3 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot @@ -29,25 +29,37 @@ digraph cfg { "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_2" [label="2: Exit test \n " color=yellow style=filled] -"test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 13, column 12]\n n$1=_fun_X::X(n$0:X*,&#GB$global:X const &) [line 13, column 19]\n " shape="box"] +"test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 13, column 12]\n " shape="box"] - "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_3" -> "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_2" ; + "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_3" -> "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_4" ; +"test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_4" [label="4: Return Stmt \n n$1=_fun_X::X(n$0:X*,&#GB$global:X const &) [line 13, column 19]\n " shape="box"] + + + "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_4" -> "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_5" ; +"test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_5" [label="5: Return Stmt \n " shape="box"] + + + "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_5" -> "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_2" ; "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_1" [label="1: Start test2\nFormals: \nLocals: local:int \n " color=yellow style=filled] - "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_1" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" ; + "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_1" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_5" ; "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_2" [label="2: Exit test2 \n " color=yellow style=filled] -"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" [label="3: Return Stmt \n n$0=*&#GB$v:int [line 19, column 10]\n *&return:int=n$0 [line 19, column 3]\n " shape="box"] +"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" [label="3: Return Stmt \n n$0=*&#GB$v:int [line 19, column 10]\n " shape="box"] + + + "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" ; +"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" [label="4: Return Stmt \n *&return:int=n$0 [line 19, column 3]\n " shape="box"] - "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_2" ; -"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(local:int); [line 18, column 3]\n n$1=*&#GB$v:int [line 18, column 15]\n *&local:int=n$1 [line 18, column 3]\n " shape="box"] + "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_2" ; +"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(local:int); [line 18, column 3]\n n$1=*&#GB$v:int [line 18, column 15]\n *&local:int=n$1 [line 18, column 3]\n " shape="box"] - "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" ; + "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_5" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" ; "X#X#{11474741413113936247|constexpr}.31759ca8626d769f5d4e50690b180278_1" [label="1: Start X::X\nFormals: this:X* __param_0:X const &\nLocals: \n " color=yellow style=filled] 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 f6ce773b1..e02331bdf 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot @@ -43,8 +43,12 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Return Stmt \n n$0=*&#GB$global:int [line 9, column 21]\n *&return:int=n$0 [line 9, column 14]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Return Stmt \n n$0=*&#GB$global:int [line 9, column 21]\n " shape="box"] - "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; + "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: Return Stmt \n *&return:int=n$0 [line 9, column 14]\n " shape="box"] + + + "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot index 481eb9537..37bd8eb4e 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_2" [label="2: Exit fun_with_self \n " color=yellow style=filled] -"fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_3" [label="3: Return Stmt \n n$0=*&self:int [line 13, column 38]\n *&return:int=n$0 [line 13, column 31]\n " shape="box"] +"fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_3" [label="3: Return Stmt \n n$0=*&self:int [line 13, column 38]\n " shape="box"] - "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_3" -> "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_2" ; + "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_3" -> "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_4" ; +"fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_4" [label="4: Return Stmt \n *&return:int=n$0 [line 13, column 31]\n " shape="box"] + + + "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_4" -> "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_2" ; "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_1" [label="1: Start test\nFormals: a:A*\nLocals: \n " color=yellow style=filled] @@ -18,10 +22,14 @@ digraph cfg { "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" [label="2: Exit test \n " color=yellow style=filled] -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" [label="3: Return Stmt \n n$0=*&a:A* [line 15, column 25]\n _=*n$0:A [line 15, column 25]\n n$2=_fun_A::meth_with_self(n$0:A*,1:int,2:int) [line 15, column 25]\n n$3=_fun_fun_with_self(10:int) [line 15, column 51]\n *&return:int=(n$2 + n$3) [line 15, column 18]\n " shape="box"] +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" [label="3: Return Stmt \n n$0=*&a:A* [line 15, column 25]\n _=*n$0:A [line 15, column 25]\n n$2=_fun_A::meth_with_self(n$0:A*,1:int,2:int) [line 15, column 25]\n n$3=_fun_fun_with_self(10:int) [line 15, column 51]\n " shape="box"] + + + "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" ; +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" [label="4: Return Stmt \n *&return:int=(n$2 + n$3) [line 15, column 18]\n " shape="box"] - "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" ; + "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" ; "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_1" [label="1: Start A::meth_with_self\nFormals: this:A* self:int b:int\nLocals: \n " color=yellow style=filled] @@ -29,8 +37,12 @@ digraph cfg { "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_2" [label="2: Exit A::meth_with_self \n " color=yellow style=filled] -"meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_3" [label="3: Return Stmt \n n$0=*&self:int [line 10, column 48]\n n$1=*&b:int [line 10, column 55]\n *&return:int=(n$0 + n$1) [line 10, column 41]\n " shape="box"] +"meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_3" [label="3: Return Stmt \n n$0=*&self:int [line 10, column 48]\n n$1=*&b:int [line 10, column 55]\n " shape="box"] + + + "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_3" -> "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_4" ; +"meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_4" [label="4: Return Stmt \n *&return:int=(n$0 + n$1) [line 10, column 41]\n " shape="box"] - "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_3" -> "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_2" ; + "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_4" -> "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/frontend/literals/user_defined.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/literals/user_defined.cpp.dot index e9299232d..1957f687c 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/literals/user_defined.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/literals/user_defined.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" [label="2: Exit foo \n " color=yellow style=filled] -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" [label="3: Return Stmt \n n$0=_fun_operator\"\"_literal(0:unsigned long long) [line 10, column 20]\n *&return:int=n$0 [line 10, column 13]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" [label="3: Return Stmt \n n$0=_fun_operator\"\"_literal(0:unsigned long long) [line 10, column 20]\n " shape="box"] - "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" ; + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" ; +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" [label="4: Return Stmt \n *&return:int=n$0 [line 10, column 13]\n " shape="box"] + + + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" ; "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_1" [label="1: Start operator\"\"_literal\nFormals: i:unsigned long long\nLocals: \n " color=yellow style=filled] @@ -18,8 +22,12 @@ digraph cfg { "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_2" [label="2: Exit operator\"\"_literal \n " color=yellow style=filled] -"operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_3" [label="3: Return Stmt \n n$0=*&i:unsigned long long [line 8, column 56]\n *&return:int=n$0 [line 8, column 49]\n " shape="box"] +"operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_3" [label="3: Return Stmt \n n$0=*&i:unsigned long long [line 8, column 56]\n " shape="box"] + + + "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_3" -> "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_4" ; +"operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_4" [label="4: Return Stmt \n *&return:int=n$0 [line 8, column 49]\n " shape="box"] - "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_3" -> "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_2" ; + "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_4" -> "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_2" ; } 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 fe536310f..96a1750ab 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot @@ -3,59 +3,63 @@ digraph cfg { "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_1" [label="1: Start test1\nFormals: a:_Bool b:_Bool\nLocals: x:int \n " color=yellow style=filled] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_1" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" ; + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_1" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_15" ; "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_2" [label="2: Exit test1 \n " color=yellow style=filled] -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" [label="3: Return Stmt \n n$0=*&x:int [line 20, column 10]\n *&return:int=n$0 [line 20, column 3]\n " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" [label="3: Return Stmt \n n$0=*&x:int [line 20, column 10]\n " shape="box"] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_2" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" [label="4: + \n " ] + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" ; +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" [label="4: Return Stmt \n *&return:int=n$0 [line 20, column 3]\n " shape="box"] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" [label="5: Prune (true branch, do while) \n n$1=*&b:_Bool [line 19, column 12]\n PRUNE(n$1, true); [line 19, column 12]\n " shape="invhouse"] + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_2" ; +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" [label="5: + \n " ] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" [label="6: Prune (false branch, do while) \n n$1=*&b:_Bool [line 19, column 12]\n PRUNE(!n$1, false); [line 19, column 12]\n " shape="invhouse"] + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" ; +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" [label="6: Prune (true branch, do while) \n n$1=*&b:_Bool [line 19, column 12]\n PRUNE(n$1, true); [line 19, column 12]\n " shape="invhouse"] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&x:int [line 18, column 9]\n *&x:int=(n$2 + 4) [line 18, column 5]\n " shape="box"] + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" ; +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" [label="7: Prune (false branch, do while) \n n$1=*&b:_Bool [line 19, column 12]\n PRUNE(!n$1, false); [line 19, column 12]\n " shape="invhouse"] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" ; - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_8" [label="8: + \n " ] + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" ; +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_8" [label="8: BinaryOperatorStmt: Assign \n n$2=*&x:int [line 18, column 9]\n *&x:int=(n$2 + 4) [line 18, column 5]\n " shape="box"] + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_8" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" ; "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_8" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" [label="9: Prune (true branch, if) \n n$3=*&a:_Bool [line 12, column 9]\n PRUNE(n$3, true); [line 12, column 9]\n " shape="invhouse"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" [label="9: + \n " ] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" [label="10: Prune (false branch, if) \n n$3=*&a:_Bool [line 12, column 9]\n PRUNE(!n$3, false); [line 12, column 9]\n " shape="invhouse"] + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_8" ; +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" [label="10: Prune (true branch, if) \n n$3=*&a:_Bool [line 12, column 9]\n PRUNE(n$3, true); [line 12, column 9]\n " shape="invhouse"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" [label="11: BinaryOperatorStmt: Assign \n n$5=*&x:int [line 13, column 11]\n *&x:int=(n$5 + 2) [line 13, column 7]\n " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" [label="11: Prune (false branch, if) \n n$3=*&a:_Bool [line 12, column 9]\n PRUNE(!n$3, false); [line 12, column 9]\n " shape="invhouse"] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" ; - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" [label="12: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 16, column 11]\n *&x:int=(n$6 + 3) [line 16, column 7]\n " shape="box"] + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" ; +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" [label="12: BinaryOperatorStmt: Assign \n n$5=*&x:int [line 13, column 11]\n *&x:int=(n$5 + 2) [line 13, column 7]\n " shape="box"] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_8" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" [label="13: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 11, column 9]\n *&x:int=(n$8 + 1) [line 11, column 5]\n " shape="box"] + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" ; + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" ; +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" [label="13: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 16, column 11]\n *&x:int=(n$6 + 3) [line 16, column 7]\n " shape="box"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" ; - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" ; -"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 " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" [label="14: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 11, column 9]\n *&x:int=(n$8 + 1) [line 11, column 5]\n " shape="box"] - "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" ; + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" ; + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" ; +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=0 [line 9, column 3]\n " shape="box"] + + + "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_15" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" ; } diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot index 246a36542..5ce2f37f7 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot @@ -111,18 +111,26 @@ digraph cfg { "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_1" [label="1: Start iterator::operator++\nFormals: this:iterator* __return_param:iterator*\nLocals: \n " color=yellow style=filled] - "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_1" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_4" ; + "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_1" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_6" ; "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_2" [label="2: Exit iterator::operator++ \n " color=yellow style=filled] -"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 13, column 5]\n n$1=*&this:iterator* [line 13, column 13]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1:iterator&) [line 13, column 12]\n " shape="box"] +"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 13, column 5]\n " shape="box"] - "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_2" ; -"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_4" [label="4: BinaryOperatorStmt: AddAssign \n n$3=*&this:iterator* [line 12, column 5]\n n$4=*n$3.val:int [line 12, column 5]\n *n$3.val:int=(n$4 + 1) [line 12, column 5]\n " shape="box"] + "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_4" ; +"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_4" [label="4: Return Stmt \n n$1=*&this:iterator* [line 13, column 13]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1:iterator&) [line 13, column 12]\n " shape="box"] - "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_4" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" ; + "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_4" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_5" ; +"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_5" [label="5: Return Stmt \n " shape="box"] + + + "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_5" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_2" ; +"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_6" [label="6: BinaryOperatorStmt: AddAssign \n n$3=*&this:iterator* [line 12, column 5]\n n$4=*n$3.val:int [line 12, column 5]\n *n$3.val:int=(n$4 + 1) [line 12, column 5]\n " shape="box"] + + + "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_6" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" ; "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_1" [label="1: Start iterator::operator*\nFormals: this:iterator*\nLocals: \n " color=yellow style=filled] @@ -130,10 +138,14 @@ digraph cfg { "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_2" [label="2: Exit iterator::operator* \n " color=yellow style=filled] -"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" [label="3: Return Stmt \n n$0=*&this:iterator* [line 16, column 12]\n n$1=*n$0.val:int [line 16, column 12]\n *&return:int=n$1 [line 16, column 5]\n " shape="box"] +"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" [label="3: Return Stmt \n n$0=*&this:iterator* [line 16, column 12]\n n$1=*n$0.val:int [line 16, column 12]\n " shape="box"] - "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" -> "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_2" ; + "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" -> "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_4" ; +"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_4" [label="4: Return Stmt \n *&return:int=n$1 [line 16, column 5]\n " shape="box"] + + + "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_4" -> "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_2" ; "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_1" [label="1: Start iterator::iterator\nFormals: this:iterator* __param_0:iterator const &\nLocals: \n " color=yellow style=filled] @@ -170,10 +182,18 @@ digraph cfg { "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_2" [label="2: Exit vec::end \n " color=yellow style=filled] -"end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 27, column 20]\n n$1=*&this:vec* [line 27, column 27]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1.end_:iterator&) [line 27, column 27]\n " shape="box"] +"end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 27, column 20]\n " shape="box"] + + + "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_3" -> "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_4" ; +"end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_4" [label="4: Return Stmt \n n$1=*&this:vec* [line 27, column 27]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1.end_:iterator&) [line 27, column 27]\n " shape="box"] + + + "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_4" -> "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_5" ; +"end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_5" [label="5: Return Stmt \n " shape="box"] - "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_3" -> "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_2" ; + "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_5" -> "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_2" ; "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_1" [label="1: Start vec::begin\nFormals: this:vec* __return_param:iterator*\nLocals: \n " color=yellow style=filled] @@ -181,10 +201,18 @@ digraph cfg { "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_2" [label="2: Exit vec::begin \n " color=yellow style=filled] -"begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 26, column 22]\n n$1=*&this:vec* [line 26, column 29]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1.begin_:iterator&) [line 26, column 29]\n " shape="box"] +"begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 26, column 22]\n " shape="box"] + + + "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_3" -> "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_4" ; +"begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_4" [label="4: Return Stmt \n n$1=*&this:vec* [line 26, column 29]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1.begin_:iterator&) [line 26, column 29]\n " shape="box"] + + + "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_4" -> "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_5" ; +"begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_5" [label="5: Return Stmt \n " shape="box"] - "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_3" -> "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_2" ; + "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_5" -> "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_2" ; "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_1" [label="1: Start vec::vec\nFormals: this:vec* size:int\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot index 0cc6a6810..9d4f18b1d 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot @@ -7,8 +7,12 @@ digraph cfg { "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_2" [label="2: Exit simple \n " color=yellow style=filled] -"simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" [label="3: Return Stmt \n n$0=_fun___infer_skip(&vec:void&) [line 10, column 44]\n n$1=*n$0:void [line 10, column 44]\n *&return:void=n$1 [line 10, column 37]\n " shape="box"] +"simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" [label="3: Return Stmt \n n$0=_fun___infer_skip(&vec:void&) [line 10, column 44]\n n$1=*n$0:void [line 10, column 44]\n " shape="box"] - "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" -> "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_2" ; + "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" -> "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_4" ; +"simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_4" [label="4: Return Stmt \n *&return:void=n$1 [line 10, column 37]\n " shape="box"] + + + "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_4" -> "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot index f3ba8e830..f31fc0b1f 100644 --- a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot @@ -14,40 +14,52 @@ digraph cfg { "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_2" [label="2: Exit derefFirstArg2 \n " color=yellow style=filled] -"derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_3" [label="3: Return Stmt \n n$0=*&b:int* [line 26, column 11]\n n$1=*n$0:int [line 26, column 10]\n *&return:int=n$1 [line 26, column 3]\n " shape="box"] +"derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_3" [label="3: Return Stmt \n n$0=*&b:int* [line 26, column 11]\n n$1=*n$0:int [line 26, column 10]\n " shape="box"] - "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_3" -> "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_2" ; + "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_3" -> "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_4" ; +"derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_4" [label="4: Return Stmt \n *&return:int=n$1 [line 26, column 3]\n " shape="box"] + + + "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_4" -> "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_2" ; "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_1" [label="1: Start derefFirstArg2_null_deref\nFormals: \nLocals: a:int \n " color=yellow style=filled] - "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_1" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" ; + "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_1" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_5" ; "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_2" [label="2: Exit derefFirstArg2_null_deref \n " color=yellow style=filled] -"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" [label="3: Return Stmt \n n$0=*null:int [line 49, column 10]\n *&return:int=n$0 [line 49, column 3]\n " shape="box"] +"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" [label="3: Return Stmt \n n$0=*null:int [line 49, column 10]\n " shape="box"] - "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_2" ; -"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 48, column 3]\n *&a:int=0 [line 48, column 3]\n " shape="box"] + "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" ; +"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" [label="4: Return Stmt \n *&return:int=n$0 [line 49, column 3]\n " shape="box"] - "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" ; + "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_2" ; +"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 48, column 3]\n *&a:int=0 [line 48, column 3]\n " shape="box"] + + + "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_5" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" ; "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_1" [label="1: Start derefFirstArg2_ok_deref\nFormals: \nLocals: a:int \n " color=yellow style=filled] - "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_1" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_4" ; + "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_1" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_5" ; "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_2" [label="2: Exit derefFirstArg2_ok_deref \n " color=yellow style=filled] -"derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" [label="3: Return Stmt \n n$0=*&a:int [line 54, column 10]\n *&return:int=n$0 [line 54, column 3]\n " shape="box"] +"derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" [label="3: Return Stmt \n n$0=*&a:int [line 54, column 10]\n " shape="box"] - "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_2" ; -"derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 53, column 3]\n *&a:int=0 [line 53, column 3]\n " shape="box"] + "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_4" ; +"derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_4" [label="4: Return Stmt \n *&return:int=n$0 [line 54, column 3]\n " shape="box"] - "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_4" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" ; + "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_4" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_2" ; +"derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 53, column 3]\n *&a:int=0 [line 53, column 3]\n " shape="box"] + + + "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_5" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" ; "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_1" [label="1: Start derefFirstArg3\nFormals: a:int* b:int*\nLocals: \n " color=yellow style=filled] @@ -55,249 +67,305 @@ digraph cfg { "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_2" [label="2: Exit derefFirstArg3 \n " color=yellow style=filled] -"derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_3" [label="3: Return Stmt \n n$0=*&b:int* [line 33, column 11]\n n$1=*n$0:int [line 33, column 10]\n *&return:int=n$1 [line 33, column 3]\n " shape="box"] +"derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_3" [label="3: Return Stmt \n n$0=*&b:int* [line 33, column 11]\n n$1=*n$0:int [line 33, column 10]\n " shape="box"] + + + "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_3" -> "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_4" ; +"derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_4" [label="4: Return Stmt \n *&return:int=n$1 [line 33, column 3]\n " shape="box"] - "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_3" -> "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_2" ; + "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_4" -> "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_2" ; "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_1" [label="1: Start derefFirstArg3_null_deref\nFormals: \nLocals: a:int \n " color=yellow style=filled] - "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_1" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" ; + "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_1" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_5" ; "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_2" [label="2: Exit derefFirstArg3_null_deref \n " color=yellow style=filled] -"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(&a:int*,null:int*) [line 64, column 10]\n *&return:int=n$0 [line 64, column 3]\n " shape="box"] +"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(&a:int*,null:int*) [line 64, column 10]\n " shape="box"] - "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_2" ; -"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 63, column 3]\n *&a:int=0 [line 63, column 3]\n " shape="box"] + "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" ; +"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" [label="4: Return Stmt \n *&return:int=n$0 [line 64, column 3]\n " shape="box"] - "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" ; + "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_2" ; +"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 63, column 3]\n *&a:int=0 [line 63, column 3]\n " shape="box"] + + + "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_5" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" ; "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_1" [label="1: Start derefFirstArg3_ok_deref\nFormals: \nLocals: a:int \n " color=yellow style=filled] - "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_1" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" ; + "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_1" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_5" ; "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_2" [label="2: Exit derefFirstArg3_ok_deref \n " color=yellow style=filled] -"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(null:int*,&a:int*) [line 59, column 10]\n *&return:int=n$0 [line 59, column 3]\n " shape="box"] +"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(null:int*,&a:int*) [line 59, column 10]\n " shape="box"] + + + "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" ; +"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" [label="4: Return Stmt \n *&return:int=n$0 [line 59, column 3]\n " shape="box"] - "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_2" ; -"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 58, column 3]\n *&a:int=0 [line 58, column 3]\n " shape="box"] + "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_2" ; +"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 58, column 3]\n *&a:int=0 [line 58, column 3]\n " shape="box"] - "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" ; + "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_5" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" ; "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_1" [label="1: Start derefFirstArg_null_deref\nFormals: \nLocals: a:int \n " color=yellow style=filled] - "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_1" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" ; + "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_1" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_5" ; "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_2" [label="2: Exit derefFirstArg_null_deref \n " color=yellow style=filled] -"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" [label="3: Return Stmt \n n$0=*null:int [line 39, column 10]\n *&return:int=n$0 [line 39, column 3]\n " shape="box"] +"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" [label="3: Return Stmt \n n$0=*null:int [line 39, column 10]\n " shape="box"] + + + "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" ; +"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" [label="4: Return Stmt \n *&return:int=n$0 [line 39, column 3]\n " shape="box"] - "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_2" ; -"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 38, column 3]\n *&a:int=0 [line 38, column 3]\n " shape="box"] + "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_2" ; +"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 38, column 3]\n *&a:int=0 [line 38, column 3]\n " shape="box"] - "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" ; + "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_5" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" ; "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_1" [label="1: Start derefFirstArg_ok_deref\nFormals: \nLocals: a:int \n " color=yellow style=filled] - "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_1" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_4" ; + "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_1" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_5" ; "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_2" [label="2: Exit derefFirstArg_ok_deref \n " color=yellow style=filled] -"derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" [label="3: Return Stmt \n n$0=*&a:int [line 44, column 10]\n *&return:int=n$0 [line 44, column 3]\n " shape="box"] +"derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" [label="3: Return Stmt \n n$0=*&a:int [line 44, column 10]\n " shape="box"] + + + "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_4" ; +"derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_4" [label="4: Return Stmt \n *&return:int=n$0 [line 44, column 3]\n " shape="box"] - "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_2" ; -"derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 43, column 3]\n *&a:int=0 [line 43, column 3]\n " shape="box"] + "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_4" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_2" ; +"derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 43, column 3]\n *&a:int=0 [line 43, column 3]\n " shape="box"] - "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_4" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" ; + "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_5" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" ; "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_1" [label="1: Start getPtr_null_deref1\nFormals: \nLocals: t:int* \n " color=yellow style=filled] - "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_1" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" ; + "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_1" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_6" ; "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_2" [label="2: Exit getPtr_null_deref1 \n " color=yellow style=filled] -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" [label="3: Return Stmt \n _=*&t:int* [line 92, column 11]\n n$1=*&t:int* [line 92, column 11]\n n$2=*n$1:int [line 92, column 10]\n *&return:int=n$2 [line 92, column 3]\n " shape="box"] +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" [label="3: Return Stmt \n _=*&t:int* [line 92, column 11]\n n$1=*&t:int* [line 92, column 11]\n n$2=*n$1:int [line 92, column 10]\n " shape="box"] + + + "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" ; +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" [label="4: Return Stmt \n *&return:int=n$2 [line 92, column 3]\n " shape="box"] - "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_2" ; -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 91, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 91, column 3]\n " shape="box"] + "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_2" ; +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" [label="5: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 91, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 91, column 3]\n " shape="box"] - "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" ; -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 90, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 90, column 23]\n " shape="box"] + "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" ; +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_6" [label="6: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 90, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 90, column 23]\n " shape="box"] - "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" ; + "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_6" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" ; "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_1" [label="1: Start getPtr_null_deref2\nFormals: \nLocals: t:int* \n " color=yellow style=filled] - "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_1" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" ; + "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_1" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_6" ; "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_2" [label="2: Exit getPtr_null_deref2 \n " color=yellow style=filled] -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" [label="3: Return Stmt \n _=*&t:int* [line 98, column 11]\n n$1=*&t:int* [line 98, column 11]\n n$2=*n$1:int [line 98, column 10]\n *&return:int=n$2 [line 98, column 3]\n " shape="box"] +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" [label="3: Return Stmt \n _=*&t:int* [line 98, column 11]\n n$1=*&t:int* [line 98, column 11]\n n$2=*n$1:int [line 98, column 10]\n " shape="box"] + + + "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" ; +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" [label="4: Return Stmt \n *&return:int=n$2 [line 98, column 3]\n " shape="box"] - "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_2" ; -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 97, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 97, column 3]\n " shape="box"] + "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_2" ; +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" [label="5: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 97, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 97, column 3]\n " shape="box"] - "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" ; -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 96, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 96, column 23]\n " shape="box"] + "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" ; +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_6" [label="6: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 96, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 96, column 23]\n " shape="box"] - "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" ; + "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_6" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" ; "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_1" [label="1: Start getPtr_ok_deref\nFormals: \nLocals: t:int* a:int \n " color=yellow style=filled] - "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_1" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_6" ; + "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_1" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_7" ; "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_2" [label="2: Exit getPtr_ok_deref \n " color=yellow style=filled] -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" [label="3: Return Stmt \n _=*&t:int* [line 105, column 11]\n n$1=*&t:int* [line 105, column 11]\n n$2=*n$1:int [line 105, column 10]\n *&return:int=n$2 [line 105, column 3]\n " shape="box"] +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" [label="3: Return Stmt \n _=*&t:int* [line 105, column 11]\n n$1=*&t:int* [line 105, column 11]\n n$2=*n$1:int [line 105, column 10]\n " shape="box"] - "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_2" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 104, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 104, column 3]\n " shape="box"] + "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" ; +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" [label="4: Return Stmt \n *&return:int=n$2 [line 105, column 3]\n " shape="box"] - "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 103, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 103, column 23]\n " shape="box"] + "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_2" ; +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" [label="5: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 104, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 104, column 3]\n " shape="box"] - "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 102, column 3]\n *&a:int=0 [line 102, column 3]\n " shape="box"] + "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" ; +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_6" [label="6: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 103, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 103, column 23]\n " shape="box"] "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_6" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" ; +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 102, column 3]\n *&a:int=0 [line 102, column 3]\n " shape="box"] + + + "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_7" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_6" ; "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_1" [label="1: Start getRef_null_deref1\nFormals: \nLocals: t:int* \n " color=yellow style=filled] - "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_1" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" ; + "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_1" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_6" ; "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_2" [label="2: Exit getRef_null_deref1 \n " color=yellow style=filled] -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" [label="3: Return Stmt \n _=*&t:int* [line 130, column 10]\n n$1=*&t:int* [line 130, column 10]\n n$2=*n$1:int [line 130, column 10]\n *&return:int=n$2 [line 130, column 3]\n " shape="box"] +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" [label="3: Return Stmt \n _=*&t:int* [line 130, column 10]\n n$1=*&t:int* [line 130, column 10]\n n$2=*n$1:int [line 130, column 10]\n " shape="box"] - "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_2" ; -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 129, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 129, column 3]\n " shape="box"] + "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" ; +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" [label="4: Return Stmt \n *&return:int=n$2 [line 130, column 3]\n " shape="box"] - "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" ; -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 128, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 128, column 23]\n " shape="box"] + "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_2" ; +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" [label="5: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 129, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 129, column 3]\n " shape="box"] - "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" ; + "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" ; +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_6" [label="6: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 128, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 128, column 23]\n " shape="box"] + + + "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_6" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" ; "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_1" [label="1: Start getRef_null_deref2\nFormals: \nLocals: t:int* \n " color=yellow style=filled] - "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_1" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" ; + "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_1" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_6" ; "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_2" [label="2: Exit getRef_null_deref2 \n " color=yellow style=filled] -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" [label="3: Return Stmt \n _=*&t:int* [line 136, column 10]\n n$1=*&t:int* [line 136, column 10]\n n$2=*n$1:int [line 136, column 10]\n *&return:int=n$2 [line 136, column 3]\n " shape="box"] +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" [label="3: Return Stmt \n _=*&t:int* [line 136, column 10]\n n$1=*&t:int* [line 136, column 10]\n n$2=*n$1:int [line 136, column 10]\n " shape="box"] + + + "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" ; +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" [label="4: Return Stmt \n *&return:int=n$2 [line 136, column 3]\n " shape="box"] - "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_2" ; -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 135, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 135, column 3]\n " shape="box"] + "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_2" ; +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" [label="5: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 135, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 135, column 3]\n " shape="box"] - "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" ; -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 134, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 134, column 23]\n " shape="box"] + "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" ; +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 134, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 134, column 23]\n " shape="box"] - "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" ; + "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_6" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" ; "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_1" [label="1: Start getRef_ok_deref\nFormals: \nLocals: t:int* a:int \n " color=yellow style=filled] - "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_1" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_6" ; + "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_1" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_7" ; "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_2" [label="2: Exit getRef_ok_deref \n " color=yellow style=filled] -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" [label="3: Return Stmt \n _=*&t:int* [line 143, column 10]\n n$1=*&t:int* [line 143, column 10]\n n$2=*n$1:int [line 143, column 10]\n *&return:int=n$2 [line 143, column 3]\n " shape="box"] +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" [label="3: Return Stmt \n _=*&t:int* [line 143, column 10]\n n$1=*&t:int* [line 143, column 10]\n n$2=*n$1:int [line 143, column 10]\n " shape="box"] - "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_2" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 142, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 142, column 3]\n " shape="box"] + "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" ; +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" [label="4: Return Stmt \n *&return:int=n$2 [line 143, column 3]\n " shape="box"] - "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 141, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 141, column 23]\n " shape="box"] + "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_2" ; +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" [label="5: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 142, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 142, column 3]\n " shape="box"] - "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int); [line 140, column 3]\n *&a:int=0 [line 140, column 3]\n " shape="box"] + "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" ; +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_6" [label="6: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 141, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 141, column 23]\n " shape="box"] "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_6" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" ; +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 140, column 3]\n *&a:int=0 [line 140, column 3]\n " shape="box"] + + + "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_7" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_6" ; "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_1" [label="1: Start operator_star_null_deref1\nFormals: \nLocals: t:int* \n " color=yellow style=filled] - "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_1" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" ; + "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_1" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_6" ; "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_2" [label="2: Exit operator_star_null_deref1 \n " color=yellow style=filled] -"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" [label="3: Return Stmt \n n$1=*&t:int* [line 111, column 10]\n n$2=*n$1:int [line 111, column 10]\n *&return:int=n$2 [line 111, column 3]\n " shape="box"] +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" [label="3: Return Stmt \n n$1=*&t:int* [line 111, column 10]\n n$2=*n$1:int [line 111, column 10]\n " shape="box"] + + + "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" ; +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" [label="4: Return Stmt \n *&return:int=n$2 [line 111, column 3]\n " shape="box"] - "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_2" ; -"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 110, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 110, column 3]\n " shape="box"] + "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_2" ; +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" [label="5: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 110, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 110, column 3]\n " shape="box"] - "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" ; -"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 109, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 109, column 23]\n " shape="box"] + "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" ; +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 109, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 109, column 23]\n " shape="box"] - "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" ; + "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_6" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" ; "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_1" [label="1: Start operator_star_null_deref2\nFormals: \nLocals: t:int* \n " color=yellow style=filled] - "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_1" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" ; + "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_1" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_6" ; "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_2" [label="2: Exit operator_star_null_deref2 \n " color=yellow style=filled] -"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" [label="3: Return Stmt \n _=*&t:int* [line 117, column 10]\n n$1=*&t:int* [line 117, column 10]\n n$2=*n$1:int [line 117, column 10]\n *&return:int=n$2 [line 117, column 3]\n " shape="box"] +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" [label="3: Return Stmt \n _=*&t:int* [line 117, column 10]\n n$1=*&t:int* [line 117, column 10]\n n$2=*n$1:int [line 117, column 10]\n " shape="box"] - "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_2" ; -"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 116, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 116, column 3]\n " shape="box"] + "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" ; +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" [label="4: Return Stmt \n *&return:int=n$2 [line 117, column 3]\n " shape="box"] - "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" ; -"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 115, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 115, column 23]\n " shape="box"] + "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_2" ; +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" [label="5: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 116, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 116, column 3]\n " shape="box"] - "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" ; + "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" ; +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 115, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 115, column 23]\n " shape="box"] + + + "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_6" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" ; "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_1" [label="1: Start operator_star_ok_deref\nFormals: \nLocals: t:int* a:int \n " color=yellow style=filled] - "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_1" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" ; + "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_1" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_6" ; "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_2" [label="2: Exit operator_star_ok_deref \n " color=yellow style=filled] -"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" [label="3: Return Stmt \n _=*&t:int* [line 124, column 10]\n n$1=*&t:int* [line 124, column 10]\n n$2=*n$1:int [line 124, column 10]\n *&return:int=n$2 [line 124, column 3]\n " shape="box"] +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" [label="3: Return Stmt \n _=*&t:int* [line 124, column 10]\n n$1=*&t:int* [line 124, column 10]\n n$2=*n$1:int [line 124, column 10]\n " shape="box"] + + + "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" ; +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" [label="4: Return Stmt \n *&return:int=n$2 [line 124, column 3]\n " shape="box"] - "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_2" ; -"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 123, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 123, column 3]\n " shape="box"] + "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_2" ; +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" [label="5: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 123, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 123, column 3]\n " shape="box"] - "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" ; -"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 122, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 122, column 23]\n " shape="box"] + "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" ; +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_6" [label="6: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 122, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 122, column 23]\n " shape="box"] - "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" ; + "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_6" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" ; "getPtr#TranslateAsPtr#(11398425810130716395).657b6b87ee3e6dc84e17d734bcfc55b1_1" [label="1: Start TranslateAsPtr::getPtr\nFormals: this:int**\nLocals: \n " color=yellow style=filled] 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 70c553500..a0573c0fc 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot @@ -119,18 +119,26 @@ digraph cfg { "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_1" [label="1: Start binary_conditional::getX\nFormals: __return_param:binary_conditional::X*\nLocals: x:binary_conditional::X \n " color=yellow style=filled] - "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_1" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" ; + "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_1" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_6" ; "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_2" [label="2: Exit binary_conditional::getX \n " color=yellow style=filled] -"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" [label="3: Return Stmt \n n$0=*&__return_param:binary_conditional::X* [line 16, column 3]\n n$1=_fun_binary_conditional::X::X(n$0:binary_conditional::X*,&x:binary_conditional::X&) [line 16, column 10]\n _=*&x:binary_conditional::X [line 16, column 10]\n n$3=_fun_binary_conditional::X::~X(&x:binary_conditional::X*) injected [line 16, column 10]\n " shape="box"] +"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" [label="3: Return Stmt \n n$0=*&__return_param:binary_conditional::X* [line 16, column 3]\n " shape="box"] - "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 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 " shape="box"] + "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" ; +"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" [label="4: Return Stmt \n n$1=_fun_binary_conditional::X::X(n$0:binary_conditional::X*,&x:binary_conditional::X&) [line 16, column 10]\n " shape="box"] - "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" ; + "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_5" ; +"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_5" [label="5: Return Stmt \n _=*&x:binary_conditional::X [line 16, column 10]\n n$3=_fun_binary_conditional::X::~X(&x:binary_conditional::X*) injected [line 16, column 10]\n " shape="box"] + + + "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_5" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_2" ; +"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_6" [label="6: 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 " shape="box"] + + + "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_6" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" ; "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_1" [label="1: Start binary_conditional::X::operator_bool\nFormals: this:binary_conditional::X*\nLocals: \n " color=yellow style=filled] 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 05a514f93..a663293aa 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot @@ -3,135 +3,147 @@ digraph cfg { "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_1" [label="1: Start assign_conditional\nFormals: a:int\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int& v2:int v1:int \n " color=yellow style=filled] - "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_1" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_11" ; + "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_1" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_12" ; "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_2" [label="2: Exit assign_conditional \n " color=yellow style=filled] -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" [label="3: Return Stmt \n n$0=*&v1:int [line 23, column 10]\n *&return:int=n$0 [line 23, column 3]\n " shape="box"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" [label="3: Return Stmt \n n$0=*&v1:int [line 23, column 10]\n " shape="box"] - "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_2" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" [label="4: + \n " ] + "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" ; +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" [label="4: Return Stmt \n *&return:int=n$0 [line 23, column 3]\n " shape="box"] - "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 22, column 4]\n PRUNE(n$2, true); [line 22, column 4]\n " shape="invhouse"] + "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_2" ; +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" [label="5: + \n " ] - "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 22, column 4]\n PRUNE(!n$2, false); [line 22, column 4]\n " shape="invhouse"] + "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_10" ; +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" [label="6: Prune (true branch, boolean exp) \n n$2=*&a:int [line 22, column 4]\n PRUNE(n$2, true); [line 22, column 4]\n " shape="invhouse"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v1 [line 22, column 4]\n " shape="box"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" [label="7: Prune (false branch, boolean exp) \n n$2=*&a:int [line 22, column 4]\n PRUNE(!n$2, false); [line 22, column 4]\n " shape="invhouse"] - "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v2 [line 22, column 4]\n " shape="box"] + "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" ; +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v1 [line 22, column 4]\n " shape="box"] - "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" [label="9: BinaryOperatorStmt: Assign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int& [line 22, column 4]\n *n$3:int=1 [line 22, column 3]\n " shape="box"] + "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" ; +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" [label="9: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v2 [line 22, column 4]\n " shape="box"] - "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" ; -"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_9" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" ; +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_10" [label="10: BinaryOperatorStmt: Assign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int& [line 22, column 4]\n *n$3:int=1 [line 22, 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 VARIABLE_DECLARED(v1:int); [line 21, column 3]\n *&v1:int=0 [line 21, column 3]\n " shape="box"] + "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_10" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" ; +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_11" [label="11: 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_11" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_10" ; + "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_11" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" ; + "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_11" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" ; +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_12" [label="12: 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_12" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_11" ; "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_1" [label="1: Start choose_lvalue\nFormals: a:int\nLocals: v3:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int& v2:int v1:int \n " color=yellow style=filled] - "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_1" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_12" ; + "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_1" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_13" ; "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_2" [label="2: Exit choose_lvalue \n " color=yellow style=filled] -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" [label="3: Return Stmt \n n$0=*&v3:int [line 11, column 10]\n *&return:int=n$0 [line 11, column 3]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" [label="3: Return Stmt \n n$0=*&v3:int [line 11, column 10]\n " shape="box"] - "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_2" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" [label="4: + \n " ] + "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" ; +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" [label="4: Return Stmt \n *&return:int=n$0 [line 11, column 3]\n " shape="box"] - "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 10, column 12]\n PRUNE(n$2, true); [line 10, column 12]\n " shape="invhouse"] + "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_2" ; +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" [label="5: + \n " ] - "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 10, column 12]\n PRUNE(!n$2, false); [line 10, column 12]\n " shape="invhouse"] + "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_11" ; +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" [label="6: Prune (true branch, boolean exp) \n n$2=*&a:int [line 10, column 12]\n PRUNE(n$2, true); [line 10, column 12]\n " shape="invhouse"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v1 [line 10, column 12]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" [label="7: Prune (false branch, boolean exp) \n n$2=*&a:int [line 10, column 12]\n PRUNE(!n$2, false); [line 10, column 12]\n " shape="invhouse"] - "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v2 [line 10, column 12]\n " shape="box"] + "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" ; +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v1 [line 10, column 12]\n " shape="box"] - "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 10, column 3]\n " shape="box"] + "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" ; +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" [label="9: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v2 [line 10, column 12]\n " shape="box"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" ; - "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" [label="10: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int& [line 10, column 12]\n n$4=*n$3:int [line 10, column 12]\n *&v3:int=n$4 [line 10, column 3]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" [label="10: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 10, column 3]\n " shape="box"] + + + "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" ; + "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" ; +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_11" [label="11: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int& [line 10, column 12]\n n$4=*n$3:int [line 10, column 12]\n *&v3:int=n$4 [line 10, column 3]\n " shape="box"] - "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_11" [label="11: 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_11" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" ; +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_12" [label="12: 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_11" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_12" [label="12: 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_12" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_10" ; +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_13" [label="13: 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_12" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_11" ; + "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_13" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_12" ; "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_1" [label="1: Start choose_rvalue\nFormals: a:int\nLocals: v3:int v1:int \n " color=yellow style=filled] - "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_1" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_10" ; + "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_1" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_11" ; "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_2" [label="2: Exit choose_rvalue \n " color=yellow style=filled] -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" [label="3: Return Stmt \n n$0=*&v3:int [line 17, column 10]\n *&return:int=n$0 [line 17, column 3]\n " shape="box"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" [label="3: Return Stmt \n n$0=*&v3:int [line 17, column 10]\n " shape="box"] - "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_2" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" [label="4: + \n " ] + "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" ; +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" [label="4: Return Stmt \n *&return:int=n$0 [line 17, column 3]\n " shape="box"] - "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" [label="5: Prune (true branch, boolean exp) \n n$1=*&a:int [line 16, column 12]\n PRUNE(n$1, true); [line 16, column 12]\n " shape="invhouse"] + "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_2" ; +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" [label="5: + \n " ] - "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" [label="6: Prune (false branch, boolean exp) \n n$1=*&a:int [line 16, column 12]\n PRUNE(!n$1, false); [line 16, column 12]\n " shape="invhouse"] + "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" ; +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" [label="6: Prune (true branch, boolean exp) \n n$1=*&a:int [line 16, column 12]\n PRUNE(n$1, true); [line 16, column 12]\n " shape="invhouse"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" [label="7: ConditionalStmt Branch \n n$2=*&v1:int [line 16, column 16]\n *&v3:int=n$2 [line 16, column 12]\n " shape="box"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" [label="7: Prune (false branch, boolean exp) \n n$1=*&a:int [line 16, column 12]\n PRUNE(!n$1, false); [line 16, column 12]\n " shape="invhouse"] - "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" [label="8: ConditionalStmt Branch \n *&v3:int=1 [line 16, column 12]\n " shape="box"] + "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" ; +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" [label="8: ConditionalStmt Branch \n n$2=*&v1:int [line 16, column 16]\n *&v3:int=n$2 [line 16, column 12]\n " shape="box"] - "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 16, column 3]\n " shape="box"] + "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" ; +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" [label="9: ConditionalStmt Branch \n *&v3:int=1 [line 16, column 12]\n " shape="box"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" ; - "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" ; -"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" [label="10: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 16, column 3]\n " shape="box"] + + + "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_10" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" ; + "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_10" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" ; +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_11" [label="11: 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_9" ; + "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_11" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_10" ; "div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_1" [label="1: Start div0_assign_conditional_bad\nFormals: \nLocals: \n " color=yellow style=filled] @@ -139,10 +151,14 @@ digraph cfg { "div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_2" [label="2: Exit div0_assign_conditional_bad \n " color=yellow style=filled] -"div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(0:int) [line 39, column 48]\n *&return:int=(1 / n$0) [line 39, column 37]\n " shape="box"] +"div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(0:int) [line 39, column 48]\n " shape="box"] - "div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_3" -> "div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_2" ; + "div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_3" -> "div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_4" ; +"div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 39, column 37]\n " shape="box"] + + + "div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_4" -> "div0_assign_conditional_bad#15392728490966978909.59445a1ff0409f58853678ecb2a0eeb6_2" ; "div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_1" [label="1: Start div0_choose_lvalue_bad\nFormals: \nLocals: \n " color=yellow style=filled] @@ -150,10 +166,14 @@ digraph cfg { "div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_2" [label="2: Exit div0_choose_lvalue_bad \n " color=yellow style=filled] -"div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(1:int) [line 31, column 43]\n *&return:int=(1 / n$0) [line 31, column 32]\n " shape="box"] +"div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(1:int) [line 31, column 43]\n " shape="box"] + + + "div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_3" -> "div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_4" ; +"div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 31, column 32]\n " shape="box"] - "div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_3" -> "div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_2" ; + "div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_4" -> "div0_choose_lvalue_bad#15922600891528658633.d3011cf95d516b230042aa269044a695_2" ; "div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_1" [label="1: Start div0_choose_rvalue_bad\nFormals: \nLocals: \n " color=yellow style=filled] @@ -161,10 +181,14 @@ digraph cfg { "div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_2" [label="2: Exit div0_choose_rvalue_bad \n " color=yellow style=filled] -"div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(1:int) [line 35, column 43]\n *&return:int=(1 / n$0) [line 35, column 32]\n " shape="box"] +"div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(1:int) [line 35, column 43]\n " shape="box"] + + + "div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_3" -> "div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_4" ; +"div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 35, column 32]\n " shape="box"] - "div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_3" -> "div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_2" ; + "div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_4" -> "div0_choose_rvalue_bad#4711054588210108571.343d2bcae71f9c3f5c3cfb41052dfb24_2" ; "div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_1" [label="1: Start div0_temp_lvalue_bad\nFormals: \nLocals: \n " color=yellow style=filled] @@ -172,10 +196,14 @@ digraph cfg { "div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_2" [label="2: Exit div0_temp_lvalue_bad \n " color=yellow style=filled] -"div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(1:int,0:int) [line 43, column 37]\n *&return:int=n$0 [line 43, column 30]\n " shape="box"] +"div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(1:int,0:int) [line 43, column 37]\n " shape="box"] - "div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_3" -> "div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_2" ; + "div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_3" -> "div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_4" ; +"div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_4" [label="4: Return Stmt \n *&return:int=n$0 [line 43, column 30]\n " shape="box"] + + + "div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_4" -> "div0_temp_lvalue_bad#762924255965163608.e2236a796f5186064a6ced7c1ad558e7_2" ; "div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_1" [label="1: Start div1_assign_conditional_ok\nFormals: \nLocals: \n " color=yellow style=filled] @@ -183,10 +211,14 @@ digraph cfg { "div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_2" [label="2: Exit div1_assign_conditional_ok \n " color=yellow style=filled] -"div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(1:int) [line 41, column 47]\n *&return:int=(1 / n$0) [line 41, column 36]\n " shape="box"] +"div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(1:int) [line 41, column 47]\n " shape="box"] + + + "div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_3" -> "div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_4" ; +"div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 41, column 36]\n " shape="box"] - "div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_3" -> "div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_2" ; + "div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_4" -> "div1_assign_conditional_ok#386580495590546150.d2c51159bce0b01c70ad4bdfe249ccbe_2" ; "div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_1" [label="1: Start div1_choose_lvalue_ok\nFormals: \nLocals: \n " color=yellow style=filled] @@ -194,10 +226,14 @@ digraph cfg { "div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_2" [label="2: Exit div1_choose_lvalue_ok \n " color=yellow style=filled] -"div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(0:int) [line 33, column 42]\n *&return:int=(1 / n$0) [line 33, column 31]\n " shape="box"] +"div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(0:int) [line 33, column 42]\n " shape="box"] + + + "div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_3" -> "div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_4" ; +"div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 33, column 31]\n " shape="box"] - "div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_3" -> "div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_2" ; + "div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_4" -> "div1_choose_lvalue_ok#14794514121851844432.e6a75af880b689c083ff11acc983eb66_2" ; "div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_1" [label="1: Start div1_choose_rvalue_ok\nFormals: \nLocals: \n " color=yellow style=filled] @@ -205,10 +241,14 @@ digraph cfg { "div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_2" [label="2: Exit div1_choose_rvalue_ok \n " color=yellow style=filled] -"div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(0:int) [line 37, column 42]\n *&return:int=(1 / n$0) [line 37, column 31]\n " shape="box"] +"div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(0:int) [line 37, column 42]\n " shape="box"] - "div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_3" -> "div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_2" ; + "div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_3" -> "div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_4" ; +"div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 37, column 31]\n " shape="box"] + + + "div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_4" -> "div1_choose_rvalue_ok#15613531805403677222.429ad10e519e5d1b777d0c86b7c2e7c8_2" ; "div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_1" [label="1: Start div1_temp_lvalue_ok\nFormals: \nLocals: \n " color=yellow style=filled] @@ -216,52 +256,60 @@ digraph cfg { "div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_2" [label="2: Exit div1_temp_lvalue_ok \n " color=yellow style=filled] -"div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(0:int,1:int) [line 45, column 36]\n *&return:int=n$0 [line 45, column 29]\n " shape="box"] +"div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(0:int,1:int) [line 45, column 36]\n " shape="box"] + + + "div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_3" -> "div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_4" ; +"div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_4" [label="4: Return Stmt \n *&return:int=n$0 [line 45, column 29]\n " shape="box"] - "div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_3" -> "div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_2" ; + "div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_4" -> "div1_temp_lvalue_ok#4626871652686231614.8872cbb3e2dad1aa6aca69eca5075abc_2" ; "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_1" [label="1: Start div_temp_lvalue\nFormals: a:int b:int\nLocals: r:int const & 0$?%__sil_tmpSIL_materialize_temp__n$2:int const \n " color=yellow style=filled] - "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_1" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_10" ; + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_1" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_11" ; "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_2" [label="2: Exit div_temp_lvalue \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 " 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 " shape="box"] - "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_2" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" [label="4: + \n " ] + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" ; +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 28, column 3]\n " shape="box"] - "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_11" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" [label="5: Prune (true branch, boolean exp) \n n$3=*&a:int [line 27, column 18]\n PRUNE(n$3, true); [line 27, column 18]\n " shape="invhouse"] + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_2" ; +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" [label="5: + \n " ] - "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" [label="6: Prune (false branch, boolean exp) \n n$3=*&a:int [line 27, column 18]\n PRUNE(!n$3, false); [line 27, column 18]\n " shape="invhouse"] + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_12" ; +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" [label="6: Prune (true branch, boolean exp) \n n$3=*&a:int [line 27, column 18]\n PRUNE(n$3, true); [line 27, column 18]\n " shape="invhouse"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" [label="7: ConditionalStmt Branch \n n$4=*&b:int [line 27, column 22]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=n$4 [line 27, column 18]\n " shape="box"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" [label="7: Prune (false branch, boolean exp) \n n$3=*&a:int [line 27, column 18]\n PRUNE(!n$3, false); [line 27, column 18]\n " shape="invhouse"] - "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=1 [line 27, column 18]\n " shape="box"] + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" ; +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" [label="8: ConditionalStmt Branch \n n$4=*&b:int [line 27, column 22]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=n$4 [line 27, column 18]\n " shape="box"] - "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" [label="9: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 27, column 18]\n " shape="box"] + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" ; +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" [label="9: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=1 [line 27, column 18]\n " shape="box"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" ; - "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_10" [label="10: DeclStmt \n VARIABLE_DECLARED(r:int const &); [line 27, column 3]\n " shape="box"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_10" [label="10: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 27, column 18]\n " shape="box"] + + + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_10" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" ; + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_10" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" ; +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_11" [label="11: DeclStmt \n VARIABLE_DECLARED(r:int const &); [line 27, column 3]\n " shape="box"] - "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_10" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_11" [label="11: DeclStmt \n *&r:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 27, column 3]\n " shape="box"] + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_11" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_10" ; +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_12" [label="12: DeclStmt \n *&r:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 27, column 3]\n " shape="box"] - "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_11" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" ; + "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_12" -> "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 6f5b505fd..1b667ebbe 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot @@ -3,34 +3,38 @@ digraph cfg { "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_1" [label="1: Start array_of_person\nFormals: \nLocals: arr:Person[10*4] 0$?%__sil_tmpSIL_materialize_temp__n$1:Person 0$?%__sil_tmpSIL_materialize_temp__n$2:Person 0$?%__sil_tmpSIL_materialize_temp__n$3:Person \n " color=yellow style=filled] - "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_1" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_7" ; + "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_1" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_8" ; "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_2" [label="2: Exit array_of_person \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 " shape="box"] +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" [label="3: Return Stmt \n n$0=*&arr[0].x:int [line 17, column 10]\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 VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:Person); [line 16, column 21]\n n$11=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 16, column 21]\n " shape="box"] + "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" ; +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" [label="4: Return Stmt \n *&return:int=n$0 [line 17, column 3]\n " shape="box"] - "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_5" ; -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 16, column 31]\n n$13=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 16, column 31]\n " shape="box"] + "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_2" ; +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:Person); [line 16, column 21]\n n$11=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 16, column 21]\n " shape="box"] "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_5" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_6" ; -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Person); [line 16, column 41]\n n$15=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 16, column 41]\n " shape="box"] +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 16, column 31]\n n$13=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 16, column 31]\n " shape="box"] - "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_6" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_8" ; -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(arr:Person[10*4]); [line 16, column 3]\n " shape="box"] + "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_6" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_7" ; +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Person); [line 16, column 41]\n n$15=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 16, column 41]\n " shape="box"] - "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_7" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" ; -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_8" [label="8: DeclStmt \n n$12=_fun_Person::Person(&arr[0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 16, column 21]\n n$14=_fun_Person::Person(&arr[1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 16, column 31]\n n$16=_fun_Person::Person(&arr[2]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 16, column 41]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Person [line 16, column 49]\n n$5=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) injected [line 16, column 49]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:Person [line 16, column 49]\n n$7=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) injected [line 16, column 49]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:Person [line 16, column 49]\n n$9=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) injected [line 16, column 49]\n " shape="box"] + "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_7" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_9" ; +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_8" [label="8: DeclStmt \n VARIABLE_DECLARED(arr:Person[10*4]); [line 16, column 3]\n " shape="box"] - "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_8" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" ; + "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_8" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_5" ; +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_9" [label="9: DeclStmt \n n$12=_fun_Person::Person(&arr[0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 16, column 21]\n n$14=_fun_Person::Person(&arr[1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 16, column 31]\n n$16=_fun_Person::Person(&arr[2]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 16, column 41]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Person [line 16, column 49]\n n$5=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) injected [line 16, column 49]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:Person [line 16, column 49]\n n$7=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) injected [line 16, column 49]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:Person [line 16, column 49]\n n$9=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) injected [line 16, column 49]\n " shape="box"] + + + "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_9" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" ; "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_1" [label="1: Start initialization_c_style\nFormals: \nLocals: z2:Z z:Z[2*8] \n " color=yellow style=filled] @@ -76,38 +80,42 @@ digraph cfg { "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_1" [label="1: Start matrix_of_person\nFormals: \nLocals: arr:Person[2*4][2*8] 0$?%__sil_tmpSIL_materialize_temp__n$1:Person 0$?%__sil_tmpSIL_materialize_temp__n$2:Person 0$?%__sil_tmpSIL_materialize_temp__n$3:Person 0$?%__sil_tmpSIL_materialize_temp__n$4:Person \n " color=yellow style=filled] - "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_1" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_8" ; + "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_1" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_9" ; "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_2" [label="2: Exit matrix_of_person \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 " shape="box"] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" [label="3: Return Stmt \n n$0=*&arr[0][1].x:int [line 22, column 10]\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 VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:Person); [line 21, column 23]\n n$14=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 21, column 23]\n " shape="box"] + "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" ; +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" [label="4: Return Stmt \n *&return:int=n$0 [line 22, column 3]\n " shape="box"] - "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_5" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 21, column 33]\n n$16=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 21, column 33]\n " shape="box"] + "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_2" ; +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:Person); [line 21, column 23]\n n$14=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 21, column 23]\n " shape="box"] "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_5" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_6" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Person); [line 21, column 43]\n n$18=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 21, column 43]\n " shape="box"] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 21, column 33]\n n$16=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 21, column 33]\n " shape="box"] "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_6" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_7" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_7" [label="7: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:Person); [line 21, column 53]\n n$20=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) [line 21, column 53]\n " shape="box"] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_7" [label="7: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Person); [line 21, column 43]\n n$18=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 21, column 43]\n " shape="box"] + + + "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_7" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_8" ; +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_8" [label="8: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:Person); [line 21, column 53]\n n$20=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) [line 21, column 53]\n " shape="box"] - "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_7" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_9" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_8" [label="8: DeclStmt \n VARIABLE_DECLARED(arr:Person[2*4][2*8]); [line 21, column 3]\n " shape="box"] + "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_8" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_10" ; +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_9" [label="9: DeclStmt \n VARIABLE_DECLARED(arr:Person[2*4][2*8]); [line 21, column 3]\n " shape="box"] - "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_8" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_9" [label="9: DeclStmt \n n$15=_fun_Person::Person(&arr[0][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 21, column 23]\n n$17=_fun_Person::Person(&arr[0][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 21, column 33]\n n$19=_fun_Person::Person(&arr[1][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 21, column 43]\n n$21=_fun_Person::Person(&arr[1][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$4:Person&) [line 21, column 53]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:Person [line 21, column 61]\n n$6=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Person [line 21, column 61]\n n$8=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:Person [line 21, column 61]\n n$10=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:Person [line 21, column 61]\n n$12=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) injected [line 21, column 61]\n " shape="box"] + "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_9" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_5" ; +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_10" [label="10: DeclStmt \n n$15=_fun_Person::Person(&arr[0][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 21, column 23]\n n$17=_fun_Person::Person(&arr[0][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 21, column 33]\n n$19=_fun_Person::Person(&arr[1][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 21, column 43]\n n$21=_fun_Person::Person(&arr[1][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$4:Person&) [line 21, column 53]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:Person [line 21, column 61]\n n$6=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Person [line 21, column 61]\n n$8=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:Person [line 21, column 61]\n n$10=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:Person [line 21, column 61]\n n$12=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) injected [line 21, column 61]\n " shape="box"] - "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_9" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" ; + "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_10" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" ; "Person#Person#{13294141311747224102}.29587c0ac2200b59d0b19a07fdc656e5_1" [label="1: Start Person::Person\nFormals: this:Person*\nLocals: \n " color=yellow style=filled] 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 b9a837500..c2f61a370 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 @@ -26,10 +26,14 @@ digraph cfg { "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" [label="2: Exit X::div \n " color=yellow style=filled] -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 13, column 26]\n n$1=*n$0.f:int [line 13, column 26]\n *&return:int=(1 / n$1) [line 13, column 15]\n " shape="box"] +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 13, column 26]\n n$1=*n$0.f:int [line 13, column 26]\n " shape="box"] - "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; + "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_4" ; +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 13, column 15]\n " shape="box"] + + + "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_4" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_1" [label="1: Start X::X\nFormals: this:X* a:int b:int\nLocals: \n " color=yellow style=filled] 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 40a0e864f..cd3710996 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot @@ -3,113 +3,137 @@ digraph cfg { "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_1" [label="1: Start delegate_constr_f2_div0\nFormals: \nLocals: v:int b:B \n " color=yellow style=filled] - "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_1" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" ; + "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_1" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_6" ; "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_2" [label="2: Exit delegate_constr_f2_div0 \n " color=yellow style=filled] -"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 49, column 14]\n *&return:int=(1 / n$0) [line 49, column 3]\n _=*&b:B [line 49, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 49, column 16]\n " shape="box"] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 49, column 14]\n " shape="box"] - "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_2" ; -"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" [label="4: DeclStmt \n 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 " shape="box"] + "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" ; +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 49, column 3]\n _=*&b:B [line 49, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 49, column 16]\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 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 " shape="box"] + "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_2" ; +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" [label="5: 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 " shape="box"] - "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" ; + "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" ; +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_6" [label="6: 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 " shape="box"] + + + "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_6" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" ; "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_1" [label="1: Start delegate_constr_f_div0\nFormals: \nLocals: v:int b:B \n " color=yellow style=filled] - "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_1" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" ; + "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_1" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_6" ; "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_2" [label="2: Exit delegate_constr_f_div0 \n " color=yellow style=filled] -"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 43, column 14]\n *&return:int=(1 / n$0) [line 43, column 3]\n _=*&b:B [line 43, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 43, column 16]\n " shape="box"] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 43, column 14]\n " shape="box"] + + + "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" ; +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 43, column 3]\n _=*&b:B [line 43, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 43, column 16]\n " shape="box"] - "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_2" ; -"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" [label="4: DeclStmt \n 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 " shape="box"] + "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_2" ; +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" [label="5: 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 " 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 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 " shape="box"] + "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" ; +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_6" [label="6: 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 " shape="box"] - "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" ; + "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_6" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" ; "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_1" [label="1: Start f2_div0\nFormals: \nLocals: b:B \n " color=yellow style=filled] - "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_1" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" ; + "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_1" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_5" ; "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_2" [label="2: Exit f2_div0 \n " color=yellow style=filled] -"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 27, column 14]\n *&return:int=(1 / n$0) [line 27, column 3]\n _=*&b:B [line 27, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 27, column 16]\n " shape="box"] +"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 27, column 14]\n " shape="box"] + + + "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" ; +"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 27, column 3]\n _=*&b:B [line 27, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 27, column 16]\n " shape="box"] - "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_2" ; -"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 " shape="box"] + "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_2" ; +"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_5" [label="5: 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 " shape="box"] - "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" ; + "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_5" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" ; "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_1" [label="1: Start f_div0\nFormals: \nLocals: b:B \n " color=yellow style=filled] - "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_1" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" ; + "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_1" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_5" ; "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_2" [label="2: Exit f_div0 \n " color=yellow style=filled] -"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 32, column 14]\n *&return:int=(1 / n$0) [line 32, column 3]\n _=*&b:B [line 32, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 32, column 16]\n " shape="box"] +"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 32, column 14]\n " shape="box"] - "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_2" ; -"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 " shape="box"] + "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" ; +"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 32, column 3]\n _=*&b:B [line 32, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 32, column 16]\n " shape="box"] - "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" ; + "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_2" ; +"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_5" [label="5: 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 " shape="box"] + + + "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_5" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" ; "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_1" [label="1: Start f_f2_div1\nFormals: \nLocals: v3:int v2:int v:int b:B \n " color=yellow style=filled] - "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_1" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" ; + "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_1" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_8" ; "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_2" [label="2: Exit f_f2_div1 \n " color=yellow style=filled] -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" [label="3: Return Stmt \n n$0=*&v:int [line 57, column 10]\n n$1=*&v2:int [line 57, column 14]\n *&return:int=(n$0 + n$1) [line 57, column 3]\n _=*&b:B [line 57, column 14]\n n$3=_fun_B::~B(&b:B*) injected [line 57, column 14]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" [label="3: Return Stmt \n n$0=*&v:int [line 57, column 10]\n n$1=*&v2:int [line 57, column 14]\n " shape="box"] - "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_2" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" [label="4: DeclStmt \n 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 " shape="box"] + "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" ; +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" [label="4: Return Stmt \n *&return:int=(n$0 + n$1) [line 57, column 3]\n _=*&b:B [line 57, column 14]\n n$3=_fun_B::~B(&b:B*) injected [line 57, column 14]\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 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 " shape="box"] + "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_2" ; +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" [label="5: 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 " shape="box"] - "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" ; -"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 " shape="box"] + "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" ; +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" [label="6: 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 " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" ; -"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 " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" [label="7: 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 " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" ; +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_8" [label="8: 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 " shape="box"] + + + "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_8" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" ; "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_1" [label="1: Start t_div0\nFormals: \nLocals: b:B \n " color=yellow style=filled] - "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_1" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" ; + "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_1" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_5" ; "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_2" [label="2: Exit t_div0 \n " color=yellow style=filled] -"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" [label="3: Return Stmt \n n$0=*&b.t.v:int [line 37, column 14]\n *&return:int=(1 / n$0) [line 37, column 3]\n _=*&b:B [line 37, column 18]\n n$2=_fun_B::~B(&b:B*) injected [line 37, column 18]\n " shape="box"] +"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" [label="3: Return Stmt \n n$0=*&b.t.v:int [line 37, column 14]\n " shape="box"] + + + "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" ; +"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 37, column 3]\n _=*&b:B [line 37, column 18]\n n$2=_fun_B::~B(&b:B*) injected [line 37, column 18]\n " shape="box"] - "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_2" ; -"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 " shape="box"] + "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_2" ; +"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_5" [label="5: 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 " shape="box"] - "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" ; + "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_5" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" ; "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_1" [label="1: Start A::A\nFormals: this:A* f:int\nLocals: \n " color=yellow style=filled] 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 a20cf2b81..15dbbddb8 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot @@ -70,140 +70,156 @@ digraph cfg { "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_1" [label="1: Start constructor_new::constructor_1_arg_new_div0\nFormals: \nLocals: p:constructor_new::Person* \n " color=yellow style=filled] - "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_1" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_6" ; + "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_1" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_7" ; "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 " 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 " 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: CXXNewExpr \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 28, column 15]\n " shape="box"] + "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" ; +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - 5)) [line 29, column 3]\n " shape="box"] - "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_5" ; -"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_5" [label="5: CXXNewExpr \n n$3=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,5:int) [line 28, column 19]\n " shape="box"] + "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_2" ; +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_5" [label="5: CXXNewExpr \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 28, column 15]\n " shape="box"] - "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_5" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_7" ; -"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_6" [label="6: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 28, column 3]\n " shape="box"] + "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_5" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_6" ; +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_6" [label="6: CXXNewExpr \n n$3=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,5:int) [line 28, column 19]\n " shape="box"] - "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_6" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" ; -"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_7" [label="7: DeclStmt \n *&p:constructor_new::Person*=n$2 [line 28, column 3]\n " shape="box"] + "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_6" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_8" ; +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_7" [label="7: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 28, column 3]\n " shape="box"] - "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_7" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" ; + "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_7" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_5" ; +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_8" [label="8: DeclStmt \n *&p:constructor_new::Person*=n$2 [line 28, column 3]\n " shape="box"] + + + "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_8" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" ; "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_1" [label="1: Start constructor_new::constructor_3_args_new_div0\nFormals: \nLocals: p:constructor_new::Person* \n " color=yellow style=filled] - "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_1" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_6" ; + "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_1" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_7" ; "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 " 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 " shape="box"] + + + "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" ; +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - 7)) [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: CXXNewExpr \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 33, column 15]\n " shape="box"] + "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_2" ; +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_5" [label="5: CXXNewExpr \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 33, column 15]\n " shape="box"] - "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_5" ; -"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_5" [label="5: CXXNewExpr \n n$3=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,5:int,6:int,7:int) [line 33, column 19]\n " shape="box"] + "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_5" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_6" ; +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_6" [label="6: CXXNewExpr \n n$3=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,5:int,6:int,7:int) [line 33, column 19]\n " shape="box"] - "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_5" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_7" ; -"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_6" [label="6: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 33, column 3]\n " shape="box"] + "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_6" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_8" ; +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_7" [label="7: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 33, column 3]\n " shape="box"] - "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_6" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" ; -"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_7" [label="7: DeclStmt \n *&p:constructor_new::Person*=n$2 [line 33, column 3]\n " shape="box"] + "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_7" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_5" ; +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_8" [label="8: DeclStmt \n *&p:constructor_new::Person*=n$2 [line 33, column 3]\n " shape="box"] - "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_7" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" ; + "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_8" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" ; "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_1" [label="1: Start constructor_new::constructor_nodes\nFormals: \nLocals: p:constructor_new::Person* 0$?%__sil_tmpSIL_temp_conditional___n$3:int z:int \n " color=yellow style=filled] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_1" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_14" ; + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_1" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_15" ; "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 " 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 " shape="box"] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_2" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" [label="4: CXXNewExpr \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 71, column 15]\n " shape="box"] + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - 7)) [line 72, column 3]\n " shape="box"] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" [label="5: + \n " ] + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_2" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" [label="5: CXXNewExpr \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 71, column 15]\n " shape="box"] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" [label="6: Call _fun_constructor_new::getValue \n n$4=_fun_constructor_new::getValue(0:int) [line 71, column 26]\n " shape="box"] + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" [label="6: + \n " ] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" ; - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_8" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" [label="7: Prune (true branch, boolean exp) \n PRUNE(n$4, true); [line 71, column 26]\n " shape="invhouse"] + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_12" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" [label="7: Call _fun_constructor_new::getValue \n n$4=_fun_constructor_new::getValue(0:int) [line 71, column 26]\n " shape="box"] + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_8" ; "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_8" [label="8: Prune (false branch, boolean exp) \n PRUNE(!n$4, false); [line 71, column 26]\n " shape="invhouse"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_8" [label="8: Prune (true branch, boolean exp) \n PRUNE(n$4, true); [line 71, column 26]\n " shape="invhouse"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_8" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" [label="9: ConditionalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int) [line 71, column 40]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=n$5 [line 71, column 26]\n " shape="box"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" [label="9: Prune (false branch, boolean exp) \n PRUNE(!n$4, false); [line 71, column 26]\n " shape="invhouse"] + + + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" [label="10: ConditionalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int) [line 71, column 40]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=n$5 [line 71, column 26]\n " shape="box"] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" [label="10: ConditionalStmt Branch \n n$6=*&z:int [line 71, column 58]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=(1 + n$6) [line 71, column 26]\n " shape="box"] + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" [label="11: ConditionalStmt Branch \n n$6=*&z:int [line 71, column 58]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=(1 + n$6) [line 71, column 26]\n " shape="box"] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" [label="11: CXXNewExpr \n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 71, column 26]\n n$8=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,n$7:int) [line 71, column 19]\n " shape="box"] + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_12" [label="12: CXXNewExpr \n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 71, column 26]\n n$8=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,n$7:int) [line 71, column 19]\n " shape="box"] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_13" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_12" [label="12: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 71, column 3]\n " shape="box"] + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_12" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_14" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_13" [label="13: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 71, column 3]\n " shape="box"] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_12" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_13" [label="13: DeclStmt \n *&p:constructor_new::Person*=n$2 [line 71, column 3]\n " shape="box"] + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_13" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_14" [label="14: DeclStmt \n *&p:constructor_new::Person*=n$2 [line 71, column 3]\n " shape="box"] - "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_13" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_14" [label="14: 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_14" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" ; +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_15" [label="15: 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_14" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_12" ; + "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_15" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_13" ; "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_1" [label="1: Start constructor_new::float_init_number\nFormals: \nLocals: x1:float* \n " color=yellow style=filled] - "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_1" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_6" ; + "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_1" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_7" ; "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 " 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 " 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: CXXNewExpr \n n$2=_fun___new(sizeof(t=float):unsigned long) [line 43, column 15]\n " shape="box"] + "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" ; +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" [label="4: Return Stmt \n *&return:float=(1 / (n$1 - 5.4)) [line 44, column 3]\n " shape="box"] - "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_5" ; -"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_5" [label="5: CXXNewExpr \n *n$2:float=5.4 [line 43, column 15]\n " shape="box"] + "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_2" ; +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_5" [label="5: CXXNewExpr \n n$2=_fun___new(sizeof(t=float):unsigned long) [line 43, column 15]\n " shape="box"] - "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_5" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_7" ; -"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:float*); [line 43, column 3]\n " shape="box"] + "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_5" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_6" ; +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_6" [label="6: CXXNewExpr \n *n$2:float=5.4 [line 43, column 15]\n " shape="box"] - "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_6" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" ; -"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_7" [label="7: DeclStmt \n *&x1:float*=n$2 [line 43, column 3]\n " shape="box"] + "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_6" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_8" ; +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x1:float*); [line 43, column 3]\n " shape="box"] - "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_7" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" ; + "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_7" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_5" ; +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_8" [label="8: DeclStmt \n *&x1:float*=n$2 [line 43, column 3]\n " shape="box"] + + + "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_8" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" ; "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_1" [label="1: Start constructor_new::getValue\nFormals: x:int\nLocals: \n " color=yellow style=filled] @@ -211,257 +227,289 @@ digraph cfg { "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_2" [label="2: Exit constructor_new::getValue \n " color=yellow style=filled] -"getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_3" [label="3: Return Stmt \n n$0=*&x:int [line 25, column 30]\n *&return:int=n$0 [line 25, column 23]\n " shape="box"] +"getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_3" [label="3: Return Stmt \n n$0=*&x:int [line 25, column 30]\n " shape="box"] + + + "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_3" -> "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_4" ; +"getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_4" [label="4: Return Stmt \n *&return:int=n$0 [line 25, column 23]\n " shape="box"] - "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_3" -> "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_2" ; + "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_4" -> "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_2" ; "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_1" [label="1: Start constructor_new::int_array\nFormals: \nLocals: x2:int* 0$?%__sil_tmpSIL_temp_conditional___n$6:int \n " color=yellow style=filled] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_1" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" ; + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_1" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_14" ; "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 " 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 " shape="box"] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_2" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&x2:int* [line 78, column 3]\n *n$4[1]:int=2 [line 78, column 3]\n " shape="box"] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" [label="4: Return Stmt \n *&return:int=(1 / ((n$1 + n$3) - 3)) [line 79, column 3]\n " shape="box"] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&x2:int* [line 77, column 3]\n *n$5[0]:int=1 [line 77, column 3]\n " shape="box"] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_2" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&x2:int* [line 78, column 3]\n *n$4[1]:int=2 [line 78, column 3]\n " shape="box"] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" [label="6: + \n " ] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&x2:int* [line 77, column 3]\n *n$5[0]:int=1 [line 77, column 3]\n " shape="box"] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" [label="7: Call _fun_constructor_new::getValue \n n$7=_fun_constructor_new::getValue(5:int) [line 76, column 21]\n " shape="box"] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" [label="7: + \n " ] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" ; - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" [label="8: Prune (true branch, boolean exp) \n PRUNE(n$7, true); [line 76, column 21]\n " shape="invhouse"] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" [label="8: Call _fun_constructor_new::getValue \n n$7=_fun_constructor_new::getValue(5:int) [line 76, column 21]\n " shape="box"] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" ; "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_10" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" [label="9: Prune (false branch, boolean exp) \n PRUNE(!n$7, false); [line 76, column 21]\n " shape="invhouse"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" [label="9: Prune (true branch, boolean exp) \n PRUNE(n$7, true); [line 76, column 21]\n " shape="invhouse"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_10" [label="10: ConditionalStmt Branch \n n$8=_fun_constructor_new::getValue(5:int) [line 76, column 35]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=n$8 [line 76, column 21]\n " shape="box"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_10" [label="10: Prune (false branch, boolean exp) \n PRUNE(!n$7, false); [line 76, column 21]\n " shape="invhouse"] + + + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_10" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" [label="11: ConditionalStmt Branch \n n$8=_fun_constructor_new::getValue(5:int) [line 76, column 35]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=n$8 [line 76, column 21]\n " shape="box"] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_10" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=3 [line 76, column 21]\n " shape="box"] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=3 [line 76, column 21]\n " shape="box"] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" [label="12: CXXNewExpr \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 76, column 21]\n n$10=_fun___new_array((sizeof(t=int;nbytes=4) * n$9):unsigned long) [line 76, column 13]\n " shape="box"] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" [label="13: CXXNewExpr \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 76, column 21]\n n$10=_fun___new_array((sizeof(t=int;nbytes=4) * n$9):unsigned long) [line 76, column 13]\n " shape="box"] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_14" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x2:int*); [line 76, column 3]\n " shape="box"] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_15" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x2:int*); [line 76, column 3]\n " shape="box"] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_14" [label="14: DeclStmt \n *&x2:int*=n$10 [line 76, column 3]\n " shape="box"] + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_14" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" ; +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_15" [label="15: DeclStmt \n *&x2:int*=n$10 [line 76, column 3]\n " shape="box"] - "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_14" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" ; + "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_15" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" ; "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_1" [label="1: Start constructor_new::int_array_init\nFormals: \nLocals: arr:int* \n " color=yellow style=filled] - "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_1" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_6" ; + "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_1" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_7" ; "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 " 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 " 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: CXXNewExpr \n n$10=_fun___new_array((sizeof(t=int;nbytes=4) * 100):unsigned long) [line 83, column 14]\n " shape="box"] + "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" ; +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" [label="4: Return Stmt \n *&return:int=(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 84, column 3]\n " shape="box"] - "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_5" ; -"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_5" [label="5: CXXNewExpr \n *n$10[0]:int=1 [line 83, column 26]\n *n$10[1]:int=2 [line 83, column 26]\n *n$10[2]:int=3 [line 83, column 26]\n *n$10[3]:int=4 [line 83, column 26]\n *n$10[4]:int=5 [line 83, column 26]\n *n$10[5]:int=6 [line 83, column 26]\n *n$10[6]:int=7 [line 83, column 26]\n *n$10[7]:int=8 [line 83, column 26]\n *n$10[8]:int=9 [line 83, column 26]\n *n$10[9]:int=10 [line 83, column 26]\n " shape="box"] + "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_2" ; +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_5" [label="5: CXXNewExpr \n n$10=_fun___new_array((sizeof(t=int;nbytes=4) * 100):unsigned long) [line 83, column 14]\n " shape="box"] - "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_5" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_7" ; -"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_6" [label="6: DeclStmt \n VARIABLE_DECLARED(arr:int*); [line 83, column 3]\n " shape="box"] + "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_5" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_6" ; +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_6" [label="6: CXXNewExpr \n *n$10[0]:int=1 [line 83, column 26]\n *n$10[1]:int=2 [line 83, column 26]\n *n$10[2]:int=3 [line 83, column 26]\n *n$10[3]:int=4 [line 83, column 26]\n *n$10[4]:int=5 [line 83, column 26]\n *n$10[5]:int=6 [line 83, column 26]\n *n$10[6]:int=7 [line 83, column 26]\n *n$10[7]:int=8 [line 83, column 26]\n *n$10[8]:int=9 [line 83, column 26]\n *n$10[9]:int=10 [line 83, column 26]\n " shape="box"] - "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_6" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" ; -"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_7" [label="7: DeclStmt \n *&arr:int*=n$10 [line 83, column 3]\n " shape="box"] + "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_6" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_8" ; +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_7" [label="7: DeclStmt \n VARIABLE_DECLARED(arr:int*); [line 83, column 3]\n " shape="box"] - "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_7" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" ; + "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_7" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_5" ; +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_8" [label="8: DeclStmt \n *&arr:int*=n$10 [line 83, column 3]\n " shape="box"] + + + "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_8" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" ; "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_1" [label="1: Start constructor_new::int_init_empty\nFormals: \nLocals: x1:int* \n " color=yellow style=filled] - "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_1" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_6" ; + "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_1" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_7" ; "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 " 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 " shape="box"] + + + "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" ; +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [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: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 48, column 13]\n " shape="box"] + "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_2" ; +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_5" [label="5: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 48, column 13]\n " shape="box"] - "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_5" ; -"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_5" [label="5: CXXNewExpr \n *n$2:int=0 [line 48, column 21]\n " shape="box"] + "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_5" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_6" ; +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_6" [label="6: CXXNewExpr \n *n$2:int=0 [line 48, column 21]\n " shape="box"] - "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_5" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_7" ; -"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 48, column 3]\n " shape="box"] + "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_6" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_8" ; +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 48, column 3]\n " shape="box"] - "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_6" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" ; -"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_7" [label="7: DeclStmt \n *&x1:int*=n$2 [line 48, column 3]\n " shape="box"] + "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_7" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_5" ; +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_8" [label="8: DeclStmt \n *&x1:int*=n$2 [line 48, column 3]\n " shape="box"] - "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_7" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" ; + "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_8" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" ; "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_1" [label="1: Start constructor_new::int_init_empty_list\nFormals: \nLocals: x1:int \n " color=yellow style=filled] - "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_1" -> "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_4" ; + "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_1" -> "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_5" ; "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_2" [label="2: Exit constructor_new::int_init_empty_list \n " color=yellow style=filled] -"int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_3" [label="3: Return Stmt \n n$0=*&x1:int [line 54, column 14]\n *&return:int=(1 / n$0) [line 54, column 3]\n " shape="box"] +"int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_3" [label="3: Return Stmt \n n$0=*&x1:int [line 54, column 14]\n " shape="box"] + + + "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_3" -> "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_4" ; +"int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 54, column 3]\n " shape="box"] - "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 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_2" ; +"int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_5" [label="5: 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" ; + "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_5" -> "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_3" ; "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_1" [label="1: Start constructor_new::int_init_empty_list_new\nFormals: \nLocals: x1:int* \n " color=yellow style=filled] - "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_1" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_6" ; + "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_1" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_7" ; "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 " 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 " 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: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 58, column 13]\n " shape="box"] + "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" ; +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 59, column 3]\n " shape="box"] - "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_5" ; -"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_5" [label="5: CXXNewExpr \n *n$2:int=0 [line 58, column 13]\n " shape="box"] + "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_2" ; +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_5" [label="5: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 58, column 13]\n " shape="box"] - "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_5" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_7" ; -"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 58, column 3]\n " shape="box"] + "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_5" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_6" ; +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_6" [label="6: CXXNewExpr \n *n$2:int=0 [line 58, column 13]\n " shape="box"] - "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_6" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" ; -"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_7" [label="7: DeclStmt \n *&x1:int*=n$2 [line 58, column 3]\n " shape="box"] + "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_6" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_8" ; +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 58, column 3]\n " shape="box"] - "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_7" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" ; + "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_7" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_5" ; +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_8" [label="8: DeclStmt \n *&x1:int*=n$2 [line 58, column 3]\n " shape="box"] + + + "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_8" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_1" [label="1: Start constructor_new::int_init_nodes\nFormals: \nLocals: x:int* y:int* z:int \n " color=yellow style=filled] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_1" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_17" ; + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_1" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_18" ; "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 " 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 " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_2" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" [label="4: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 65, column 12]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - 5)) [line 66, column 3]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" [label="5: + \n " ] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_2" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" [label="5: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 65, column 12]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" [label="6: Call _fun_constructor_new::getValue \n n$3=_fun_constructor_new::getValue(0:int) [line 65, column 20]\n " shape="box"] + "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: + \n " ] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" ; - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" [label="7: Prune (true branch, boolean exp) \n PRUNE(n$3, true); [line 65, column 20]\n " shape="invhouse"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_13" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" [label="7: Call _fun_constructor_new::getValue \n n$3=_fun_constructor_new::getValue(0:int) [line 65, column 20]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" [label="8: Prune (false branch, boolean exp) \n PRUNE(!n$3, false); [line 65, column 20]\n " shape="invhouse"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" [label="8: Prune (true branch, boolean exp) \n PRUNE(n$3, true); [line 65, column 20]\n " shape="invhouse"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" [label="9: ConditionalStmt Branch \n n$4=_fun_constructor_new::getValue(1:int) [line 65, column 34]\n *n$2:int=n$4 [line 65, column 20]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" [label="9: Prune (false branch, boolean exp) \n PRUNE(!n$3, false); [line 65, column 20]\n " shape="invhouse"] + + + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" [label="10: ConditionalStmt Branch \n n$4=_fun_constructor_new::getValue(1:int) [line 65, column 34]\n *n$2:int=n$4 [line 65, column 20]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" [label="10: ConditionalStmt Branch \n n$5=*&y:int* [line 65, column 53]\n n$6=*n$5:int [line 65, column 52]\n *n$2:int=(1 + n$6) [line 65, column 20]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" [label="11: ConditionalStmt Branch \n n$5=*&y:int* [line 65, column 53]\n n$6=*n$5:int [line 65, column 52]\n *n$2:int=(1 + n$6) [line 65, column 20]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 65, column 3]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 65, column 3]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" [label="12: DeclStmt \n *&x:int*=n$2 [line 65, column 3]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_13" [label="13: DeclStmt \n *&x:int*=n$2 [line 65, column 3]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_13" [label="13: CXXNewExpr \n n$7=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 64, column 12]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_13" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_14" [label="14: CXXNewExpr \n n$7=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 64, column 12]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_13" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_14" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_14" [label="14: CXXNewExpr \n n$8=_fun_constructor_new::getValue(4:int) [line 64, column 20]\n *n$7:int=n$8 [line 64, column 12]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_14" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_15" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_15" [label="15: CXXNewExpr \n n$8=_fun_constructor_new::getValue(4:int) [line 64, column 20]\n *n$7:int=n$8 [line 64, column 12]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_14" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_16" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_15" [label="15: DeclStmt \n VARIABLE_DECLARED(y:int*); [line 64, column 3]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_15" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_17" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_16" [label="16: DeclStmt \n VARIABLE_DECLARED(y:int*); [line 64, column 3]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_15" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_13" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_16" [label="16: DeclStmt \n *&y:int*=n$7 [line 64, column 3]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_16" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_14" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_17" [label="17: DeclStmt \n *&y:int*=n$7 [line 64, column 3]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_16" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_17" [label="17: DeclStmt \n VARIABLE_DECLARED(z:int); [line 63, column 3]\n *&z:int=6 [line 63, column 3]\n " shape="box"] + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_17" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" ; +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_18" [label="18: DeclStmt \n VARIABLE_DECLARED(z:int); [line 63, column 3]\n *&z:int=6 [line 63, column 3]\n " shape="box"] - "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_17" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_15" ; + "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_18" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_16" ; "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_1" [label="1: Start constructor_new::int_init_number\nFormals: \nLocals: x1:int* \n " color=yellow style=filled] - "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_1" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_6" ; + "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_1" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_7" ; "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 " 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 " shape="box"] + + + "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" ; +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - 5)) [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: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 38, column 13]\n " shape="box"] + "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_2" ; +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_5" [label="5: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 38, column 13]\n " shape="box"] - "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_5" ; -"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_5" [label="5: CXXNewExpr \n *n$2:int=5 [line 38, column 13]\n " shape="box"] + "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_5" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_6" ; +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_6" [label="6: CXXNewExpr \n *n$2:int=5 [line 38, column 13]\n " shape="box"] - "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_5" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_7" ; -"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 38, column 3]\n " shape="box"] + "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_6" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_8" ; +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 38, column 3]\n " shape="box"] - "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_6" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" ; -"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_7" [label="7: DeclStmt \n *&x1:int*=n$2 [line 38, column 3]\n " shape="box"] + "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_7" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_5" ; +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_8" [label="8: DeclStmt \n *&x1:int*=n$2 [line 38, column 3]\n " shape="box"] - "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_7" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" ; + "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_8" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" ; "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_1" [label="1: Start constructor_new::matrix_of_person\nFormals: \nLocals: tarray:constructor_new::Person** \n " color=yellow style=filled] 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 0c2a206a4..cbae968ab 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 @@ -63,10 +63,14 @@ digraph cfg { "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_2" [label="2: Exit constructor_with_body::X::div \n " color=yellow style=filled] -"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" [label="3: Return Stmt \n n$0=*&this:constructor_with_body::X* [line 19, column 26]\n n$1=*n$0.f:int [line 19, column 26]\n *&return:int=(1 / n$1) [line 19, column 15]\n " shape="box"] +"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" [label="3: Return Stmt \n n$0=*&this:constructor_with_body::X* [line 19, column 26]\n n$1=*n$0.f:int [line 19, column 26]\n " shape="box"] - "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" -> "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_2" ; + "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" -> "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_4" ; +"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 19, column 15]\n " shape="box"] + + + "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_4" -> "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_2" ; "X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_1" [label="1: Start constructor_with_body::X::X\nFormals: this:constructor_with_body::X*\nLocals: \n " color=yellow style=filled] 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 4613101d7..4523b6879 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 @@ -3,53 +3,61 @@ digraph cfg { "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_1" [label="1: Start copy_array_field::no_npe\nFormals: \nLocals: x2:copy_array_field::X x1:copy_array_field::X a:int \n " color=yellow style=filled] - "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_1" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_7" ; + "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_1" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_8" ; "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_2" [label="2: Exit copy_array_field::no_npe \n " color=yellow style=filled] -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" [label="3: Return Stmt \n n$0=*&x2.p:int* [line 25, column 11]\n n$1=*n$0:int [line 25, column 10]\n *&return:int=n$1 [line 25, column 3]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" [label="3: Return Stmt \n n$0=*&x2.p:int* [line 25, column 11]\n n$1=*n$0:int [line 25, column 10]\n " shape="box"] - "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 VARIABLE_DECLARED(x2:copy_array_field::X); [line 24, column 3]\n n$2=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 24, column 10]\n " shape="box"] + "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" ; +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" [label="4: Return Stmt \n *&return:int=n$1 [line 25, column 3]\n " shape="box"] - "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" ; -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" [label="5: BinaryOperatorStmt: Assign \n *&x1.p:int*=&a [line 23, column 3]\n " shape="box"] + "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_2" ; +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2:copy_array_field::X); [line 24, column 3]\n n$2=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 24, column 10]\n " shape="box"] - "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 VARIABLE_DECLARED(x1:copy_array_field::X); [line 22, column 3]\n n$3=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 22, column 5]\n " shape="box"] + "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" ; +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" [label="6: BinaryOperatorStmt: Assign \n *&x1.p:int*=&a [line 23, column 3]\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 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" [label="7: DeclStmt \n VARIABLE_DECLARED(x1:copy_array_field::X); [line 22, column 3]\n n$3=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 22, column 5]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_7" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" ; +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_8" [label="8: 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_8" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_7" ; "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_1" [label="1: Start copy_array_field::npe\nFormals: \nLocals: x2:copy_array_field::X x1:copy_array_field::X \n " color=yellow style=filled] - "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_1" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" ; + "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_1" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_7" ; "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_2" [label="2: Exit copy_array_field::npe \n " color=yellow style=filled] -"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" [label="3: Return Stmt \n n$0=*&x2.p:int* [line 17, column 11]\n n$1=*n$0:int [line 17, column 10]\n *&return:int=n$1 [line 17, column 3]\n " shape="box"] +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" [label="3: Return Stmt \n n$0=*&x2.p:int* [line 17, column 11]\n n$1=*n$0:int [line 17, column 10]\n " shape="box"] - "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 VARIABLE_DECLARED(x2:copy_array_field::X); [line 16, column 3]\n n$2=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 16, column 10]\n " shape="box"] + "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" ; +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" [label="4: Return Stmt \n *&return:int=n$1 [line 17, column 3]\n " shape="box"] - "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" ; -"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_5" [label="5: BinaryOperatorStmt: Assign \n *&x1.p:int*=null [line 15, column 3]\n " shape="box"] + "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_2" ; +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2:copy_array_field::X); [line 16, column 3]\n n$2=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 16, column 10]\n " shape="box"] - "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 VARIABLE_DECLARED(x1:copy_array_field::X); [line 14, column 3]\n n$3=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 14, column 5]\n " shape="box"] + "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_5" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" ; +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" [label="6: BinaryOperatorStmt: Assign \n *&x1.p:int*=null [line 15, column 3]\n " shape="box"] "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_5" ; +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x1:copy_array_field::X); [line 14, column 3]\n n$3=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 14, column 5]\n " shape="box"] + + + "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_7" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" ; "X#X#copy_array_field#{13837822965298396151}.45edc461c1975571aa48e5a08cc73f08_1" [label="1: Start copy_array_field::X::X\nFormals: this:copy_array_field::X*\nLocals: \n " color=yellow style=filled] 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 fe4608937..6e25bbde4 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 @@ -3,165 +3,197 @@ digraph cfg { "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_1" [label="1: Start copy_move_constructor::copyX_div0\nFormals: \nLocals: x2:copy_move_constructor::X x1:copy_move_constructor::X \n " color=yellow style=filled] - "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_1" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" ; + "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_1" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_7" ; "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_2" [label="2: Exit copy_move_constructor::copyX_div0 \n " color=yellow style=filled] -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" [label="3: Return Stmt \n n$0=*&x2.f:int [line 43, column 14]\n *&return:int=(1 / n$0) [line 43, column 3]\n _=*&x2:copy_move_constructor::X [line 43, column 17]\n n$2=_fun_copy_move_constructor::X::~X(&x2:copy_move_constructor::X*) injected [line 43, column 17]\n _=*&x1:copy_move_constructor::X [line 43, column 17]\n n$4=_fun_copy_move_constructor::X::~X(&x1:copy_move_constructor::X*) injected [line 43, column 17]\n " shape="box"] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" [label="3: Return Stmt \n n$0=*&x2.f:int [line 43, column 14]\n " shape="box"] - "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_2" ; -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" [label="4: DeclStmt \n 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 " shape="box"] + "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" ; +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 43, column 3]\n _=*&x2:copy_move_constructor::X [line 43, column 17]\n n$2=_fun_copy_move_constructor::X::~X(&x2:copy_move_constructor::X*) injected [line 43, column 17]\n _=*&x1:copy_move_constructor::X [line 43, column 17]\n n$4=_fun_copy_move_constructor::X::~X(&x1:copy_move_constructor::X*) injected [line 43, column 17]\n " shape="box"] - "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" ; -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_5" [label="5: BinaryOperatorStmt: Assign \n *&x1.f:int=0 [line 41, column 3]\n " shape="box"] + "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_2" ; +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_5" [label="5: 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 " shape="box"] - "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 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 " shape="box"] + "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_5" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" ; +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" [label="6: BinaryOperatorStmt: Assign \n *&x1.f:int=0 [line 41, column 3]\n " shape="box"] "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_5" ; +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_7" [label="7: 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 " shape="box"] + + + "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_7" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" ; "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_1" [label="1: Start copy_move_constructor::copyX_moveX_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X d1:int x2:copy_move_constructor::X x1:copy_move_constructor::X \n " color=yellow style=filled] - "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_1" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_10" ; + "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_1" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_11" ; "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_2" [label="2: Exit copy_move_constructor::copyX_moveX_div1 \n " color=yellow style=filled] -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" [label="3: Return Stmt \n n$0=*&d1:int [line 69, column 10]\n n$1=*&d2:int [line 69, column 15]\n *&return:int=(n$0 + n$1) [line 69, column 3]\n _=*&x2:copy_move_constructor::X [line 69, column 15]\n n$3=_fun_copy_move_constructor::X::~X(&x2:copy_move_constructor::X*) injected [line 69, column 15]\n _=*&x1:copy_move_constructor::X [line 69, column 15]\n n$5=_fun_copy_move_constructor::X::~X(&x1:copy_move_constructor::X*) injected [line 69, column 15]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" [label="3: Return Stmt \n n$0=*&d1:int [line 69, column 10]\n n$1=*&d2:int [line 69, column 15]\n " shape="box"] - "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_2" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X); [line 68, column 16]\n n$12=_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 " shape="box"] + "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" ; +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" [label="4: Return Stmt \n *&return:int=(n$0 + n$1) [line 69, column 3]\n _=*&x2:copy_move_constructor::X [line 69, column 15]\n n$3=_fun_copy_move_constructor::X::~X(&x2:copy_move_constructor::X*) injected [line 69, column 15]\n _=*&x1:copy_move_constructor::X [line 69, column 15]\n n$5=_fun_copy_move_constructor::X::~X(&x1:copy_move_constructor::X*) injected [line 69, column 15]\n " shape="box"] - "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" [label="5: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 68, column 3]\n " shape="box"] + "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_2" ; +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X); [line 68, column 16]\n n$12=_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 " 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$13=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 68, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X [line 68, column 24]\n n$9=_fun_copy_move_constructor::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X*) injected [line 68, column 24]\n *&d2:int=(1 / n$13) [line 68, column 3]\n " shape="box"] + "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" ; +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" [label="6: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 68, column 3]\n " shape="box"] - "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" [label="7: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 67, column 3]\n n$14=*&x2.f:int [line 67, column 16]\n *&d1:int=(1 / n$14) [line 67, column 3]\n " shape="box"] + "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" ; +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" [label="7: DeclStmt \n n$13=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 68, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X [line 68, column 24]\n n$9=_fun_copy_move_constructor::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X*) injected [line 68, column 24]\n *&d2:int=(1 / n$13) [line 68, column 3]\n " shape="box"] - "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x2:copy_move_constructor::X); [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 " shape="box"] + "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" ; +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" [label="8: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 67, column 3]\n n$14=*&x2.f:int [line 67, column 16]\n *&d1:int=(1 / n$14) [line 67, column 3]\n " shape="box"] - "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_9" [label="9: BinaryOperatorStmt: Assign \n *&x1.f:int=1 [line 65, column 3]\n " shape="box"] + "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" ; +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x2:copy_move_constructor::X); [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 " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_9" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x1:copy_move_constructor::X); [line 64, column 3]\n n$16=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 64, column 5]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_10" [label="10: BinaryOperatorStmt: Assign \n *&x1.f:int=1 [line 65, column 3]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_10" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_9" ; +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x1:copy_move_constructor::X); [line 64, column 3]\n n$16=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 64, column 5]\n " shape="box"] + + + "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_11" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_10" ; "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_1" [label="1: Start copy_move_constructor::copyY_div0\nFormals: \nLocals: y2:copy_move_constructor::Y y1:copy_move_constructor::Y \n " color=yellow style=filled] - "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_1" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" ; + "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_1" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_7" ; "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_2" [label="2: Exit copy_move_constructor::copyY_div0 \n " color=yellow style=filled] -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 52, column 14]\n *&return:int=(1 / n$0) [line 52, column 3]\n _=*&y2:copy_move_constructor::Y [line 52, column 17]\n n$2=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 52, column 17]\n _=*&y1:copy_move_constructor::Y [line 52, column 17]\n n$4=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 52, column 17]\n " shape="box"] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 52, column 14]\n " shape="box"] - "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_2" ; -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" [label="4: DeclStmt \n 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 " shape="box"] + "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" ; +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 52, column 3]\n _=*&y2:copy_move_constructor::Y [line 52, column 17]\n n$2=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 52, column 17]\n _=*&y1:copy_move_constructor::Y [line 52, column 17]\n n$4=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 52, column 17]\n " shape="box"] - "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" ; -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_5" [label="5: BinaryOperatorStmt: Assign \n *&y1.f:int=0 [line 50, column 3]\n " shape="box"] + "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_2" ; +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_5" [label="5: 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 " shape="box"] - "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 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 " shape="box"] + "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_5" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" ; +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" [label="6: BinaryOperatorStmt: Assign \n *&y1.f:int=0 [line 50, column 3]\n " shape="box"] "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_5" ; +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_7" [label="7: 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 " shape="box"] + + + "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_7" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" ; "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_1" [label="1: Start copy_move_constructor::copyY_moveY_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y d1:int y2:copy_move_constructor::Y y1:copy_move_constructor::Y \n " color=yellow style=filled] - "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_1" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_10" ; + "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_1" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_11" ; "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_2" [label="2: Exit copy_move_constructor::copyY_moveY_div1 \n " color=yellow style=filled] -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" [label="3: Return Stmt \n n$0=*&d1:int [line 78, column 10]\n n$1=*&d2:int [line 78, column 15]\n *&return:int=(n$0 + n$1) [line 78, column 3]\n _=*&y2:copy_move_constructor::Y [line 78, column 15]\n n$3=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 78, column 15]\n _=*&y1:copy_move_constructor::Y [line 78, column 15]\n n$5=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 78, column 15]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" [label="3: Return Stmt \n n$0=*&d1:int [line 78, column 10]\n n$1=*&d2:int [line 78, column 15]\n " shape="box"] - "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_2" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y); [line 77, column 16]\n n$12=_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 " shape="box"] + "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" ; +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" [label="4: Return Stmt \n *&return:int=(n$0 + n$1) [line 78, column 3]\n _=*&y2:copy_move_constructor::Y [line 78, column 15]\n n$3=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 78, column 15]\n _=*&y1:copy_move_constructor::Y [line 78, column 15]\n n$5=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 78, column 15]\n " shape="box"] - "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" [label="5: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 77, column 3]\n " shape="box"] + "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_2" ; +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y); [line 77, column 16]\n n$12=_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 " 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$13=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 77, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y [line 77, column 24]\n n$9=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) injected [line 77, column 24]\n *&d2:int=(1 / n$13) [line 77, column 3]\n " shape="box"] + "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" ; +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" [label="6: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 77, column 3]\n " shape="box"] - "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" [label="7: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 76, column 3]\n n$14=*&y2.f:int [line 76, column 16]\n *&d1:int=(1 / n$14) [line 76, column 3]\n " shape="box"] + "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" ; +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" [label="7: DeclStmt \n n$13=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 77, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y [line 77, column 24]\n n$9=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) injected [line 77, column 24]\n *&d2:int=(1 / n$13) [line 77, column 3]\n " shape="box"] - "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" [label="8: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [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 " shape="box"] + "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" ; +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" [label="8: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 76, column 3]\n n$14=*&y2.f:int [line 76, column 16]\n *&d1:int=(1 / n$14) [line 76, column 3]\n " shape="box"] - "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_9" [label="9: BinaryOperatorStmt: Assign \n *&y1.f:int=1 [line 74, column 3]\n " shape="box"] + "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" ; +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_9" [label="9: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [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 " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_9" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_10" [label="10: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 73, column 3]\n n$16=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 73, column 5]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_10" [label="10: BinaryOperatorStmt: Assign \n *&y1.f:int=1 [line 74, column 3]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_10" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_9" ; +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_11" [label="11: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 73, column 3]\n n$16=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 73, column 5]\n " shape="box"] + + + "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_11" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_10" ; "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_1" [label="1: Start copy_move_constructor::getX\nFormals: f:int __return_param:copy_move_constructor::X*\nLocals: x:copy_move_constructor::X \n " color=yellow style=filled] - "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_1" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" ; + "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_1" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_7" ; "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_2" [label="2: Exit copy_move_constructor::getX \n " color=yellow style=filled] -"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::X* [line 30, column 3]\n n$1=_fun_copy_move_constructor::X::X(n$0:copy_move_constructor::X*,&x:copy_move_constructor::X&) [line 30, column 10]\n _=*&x:copy_move_constructor::X [line 30, column 10]\n n$3=_fun_copy_move_constructor::X::~X(&x:copy_move_constructor::X*) injected [line 30, column 10]\n " shape="box"] +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::X* [line 30, column 3]\n " shape="box"] + + + "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" ; +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" [label="4: Return Stmt \n n$1=_fun_copy_move_constructor::X::X(n$0:copy_move_constructor::X*,&x:copy_move_constructor::X&) [line 30, column 10]\n " shape="box"] + + + "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" ; +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" [label="5: Return Stmt \n _=*&x:copy_move_constructor::X [line 30, column 10]\n n$3=_fun_copy_move_constructor::X::~X(&x:copy_move_constructor::X*) injected [line 30, column 10]\n " shape="box"] - "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_2" ; -"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 29, column 9]\n *&x.f:int=n$5 [line 29, column 3]\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_2" ; +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 29, column 9]\n *&x.f:int=n$5 [line 29, column 3]\n " shape="box"] - "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 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 " shape="box"] + "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_6" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" ; +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_7" [label="7: 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 " 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" ; + "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_7" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_6" ; "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_1" [label="1: Start copy_move_constructor::getY\nFormals: f:int __return_param:copy_move_constructor::Y*\nLocals: y:copy_move_constructor::Y \n " color=yellow style=filled] - "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_1" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" ; + "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_1" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_7" ; "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_2" [label="2: Exit copy_move_constructor::getY \n " color=yellow style=filled] -"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::Y* [line 36, column 3]\n n$1=_fun_copy_move_constructor::Y::Y(n$0:copy_move_constructor::Y*,&y:copy_move_constructor::Y&) [line 36, column 10]\n _=*&y:copy_move_constructor::Y [line 36, column 10]\n n$3=_fun_copy_move_constructor::Y::~Y(&y:copy_move_constructor::Y*) injected [line 36, column 10]\n " shape="box"] +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::Y* [line 36, column 3]\n " shape="box"] + + + "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" ; +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" [label="4: Return Stmt \n n$1=_fun_copy_move_constructor::Y::Y(n$0:copy_move_constructor::Y*,&y:copy_move_constructor::Y&) [line 36, column 10]\n " shape="box"] - "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_2" ; -"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 35, column 9]\n *&y.f:int=n$5 [line 35, column 3]\n " shape="box"] + "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" ; +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" [label="5: Return Stmt \n _=*&y:copy_move_constructor::Y [line 36, column 10]\n n$3=_fun_copy_move_constructor::Y::~Y(&y:copy_move_constructor::Y*) injected [line 36, column 10]\n " shape="box"] - "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 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 " 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_2" ; +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 35, column 9]\n *&y.f:int=n$5 [line 35, column 3]\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" ; + "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_6" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" ; +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_7" [label="7: 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 " shape="box"] + + + "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_7" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_6" ; "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_1" [label="1: Start copy_move_constructor::moveX_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X \n " color=yellow style=filled] @@ -173,10 +205,14 @@ digraph cfg { "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" -> "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_4" ; -"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 46, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X [line 46, column 39]\n n$2=_fun_copy_move_constructor::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) injected [line 46, column 39]\n *&return:int=(1 / n$6) [line 46, column 20]\n " shape="box"] +"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 46, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X [line 46, column 39]\n n$2=_fun_copy_move_constructor::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) injected [line 46, column 39]\n " shape="box"] - "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_4" -> "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_2" ; + "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_4" -> "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_5" ; +"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_5" [label="5: Return Stmt \n *&return:int=(1 / n$6) [line 46, column 20]\n " shape="box"] + + + "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_5" -> "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_2" ; "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_1" [label="1: Start copy_move_constructor::moveY_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y \n " color=yellow style=filled] @@ -188,37 +224,45 @@ digraph cfg { "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" -> "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_4" ; -"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 55, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y [line 55, column 39]\n n$2=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) injected [line 55, column 39]\n *&return:int=(1 / n$6) [line 55, column 20]\n " shape="box"] +"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 55, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y [line 55, column 39]\n n$2=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) injected [line 55, column 39]\n " shape="box"] + + + "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_4" -> "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_5" ; +"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_5" [label="5: Return Stmt \n *&return:int=(1 / n$6) [line 55, column 20]\n " shape="box"] - "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_4" -> "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_2" ; + "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_5" -> "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$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_6" ; + "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_1" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_7" ; "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_2" [label="2: Exit copy_move_constructor::moveY_moveY_copyY_div0 \n " color=yellow style=filled] -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 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 " shape="box"] +"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 " shape="box"] + + + "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" ; +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" [label="4: Return Stmt \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 " 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 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 " shape="box"] + "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_2" ; +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" [label="5: 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 " 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 VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const ); [line 58, column 10]\n n$12=_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 " shape="box"] + "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" ; +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const ); [line 58, column 10]\n n$12=_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 " shape="box"] - "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_7" ; -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 58, column 3]\n " shape="box"] + "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_6" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_8" ; +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_7" [label="7: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 58, column 3]\n " shape="box"] - "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_6" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" ; -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_7" [label="7: DeclStmt \n n$13=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const [line 58, column 16]\n n$9=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const *) injected [line 58, column 16]\n " shape="box"] + "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_7" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_6" ; +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_8" [label="8: DeclStmt \n n$13=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const [line 58, column 16]\n n$9=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const *) injected [line 58, column 16]\n " shape="box"] - "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_7" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" ; + "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_8" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" ; "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_1" [label="1: Start copy_move_constructor::X::X\nFormals: this:copy_move_constructor::X* __param_0:copy_move_constructor::X&\nLocals: \n " color=yellow style=filled] 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 b148c2b07..f5f10e57f 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot @@ -3,26 +3,30 @@ digraph cfg { "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_1" [label="1: Start temp_object::assign_temp_div0\nFormals: \nLocals: x:temp_object::X 0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const \n " color=yellow style=filled] - "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_1" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_5" ; + "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_1" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_6" ; "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_2" [label="2: Exit temp_object::assign_temp_div0 \n " color=yellow style=filled] -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" [label="3: Return Stmt \n _=*&x:temp_object::X [line 28, column 10]\n n$1=_fun_temp_object::X::div(&x:temp_object::X&) [line 28, column 10]\n *&return:int=n$1 [line 28, column 3]\n _=*&x:temp_object::X [line 28, column 16]\n n$3=_fun_temp_object::X::~X(&x:temp_object::X*) injected [line 28, column 16]\n " shape="box"] +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" [label="3: Return Stmt \n _=*&x:temp_object::X [line 28, column 10]\n n$1=_fun_temp_object::X::div(&x:temp_object::X&) [line 28, column 10]\n " shape="box"] - "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_2" ; -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const ); [line 27, column 9]\n n$9=_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 " shape="box"] + "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" ; +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" [label="4: Return Stmt \n *&return:int=n$1 [line 28, column 3]\n _=*&x:temp_object::X [line 28, column 16]\n n$3=_fun_temp_object::X::~X(&x:temp_object::X*) injected [line 28, column 16]\n " shape="box"] - "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_6" ; -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:temp_object::X); [line 27, column 3]\n " shape="box"] + "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_2" ; +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const ); [line 27, column 9]\n n$9=_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 " shape="box"] - "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_5" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" ; -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_6" [label="6: DeclStmt \n n$10=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const [line 27, column 15]\n n$7=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const *) injected [line 27, column 15]\n " shape="box"] + "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_5" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_7" ; +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:temp_object::X); [line 27, column 3]\n " shape="box"] - "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_6" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" ; + "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_6" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_5" ; +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_7" [label="7: DeclStmt \n n$10=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const [line 27, column 15]\n n$7=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const *) injected [line 27, column 15]\n " shape="box"] + + + "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_7" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" ; "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_1" [label="1: Start temp_object::div\nFormals: f:int\nLocals: \n " color=yellow style=filled] @@ -30,25 +34,37 @@ digraph cfg { "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_2" [label="2: Exit temp_object::div \n " color=yellow style=filled] -"div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_3" [label="3: Return Stmt \n n$0=*&f:int [line 19, column 29]\n *&return:int=(1 / n$0) [line 19, column 18]\n " shape="box"] +"div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_3" [label="3: Return Stmt \n n$0=*&f:int [line 19, column 29]\n " shape="box"] + + + "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_3" -> "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_4" ; +"div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 19, column 18]\n " shape="box"] - "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_3" -> "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_2" ; + "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_4" -> "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_2" ; "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_1" [label="1: Start temp_object::getX\nFormals: a:int b:int __return_param:temp_object::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const \n " color=yellow style=filled] - "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_1" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" ; + "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_1" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_4" ; "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_2" [label="2: Exit temp_object::getX \n " color=yellow style=filled] "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const ); [line 24, column 31]\n n$5=*&a:int [line 24, column 33]\n n$6=*&b:int [line 24, column 36]\n n$7=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *,n$5:int,n$6:int) [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_4" ; -"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_4" [label="4: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 24, column 24]\n n$8=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const [line 24, column 37]\n n$3=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *) injected [line 24, column 37]\n " shape="box"] + "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_5" ; +"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_4" [label="4: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 24, column 24]\n " shape="box"] + + + "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_4" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" ; +"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_5" [label="5: Return Stmt \n n$8=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const [line 24, column 37]\n n$3=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *) injected [line 24, column 37]\n " shape="box"] - "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_4" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_2" ; + "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_5" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_6" ; +"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_6" [label="6: Return Stmt \n " shape="box"] + + + "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_6" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_2" ; "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_1" [label="1: Start temp_object::getX_field_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X \n " color=yellow style=filled] @@ -60,10 +76,14 @@ digraph cfg { "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" -> "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_4" ; -"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 37, column 36]\n n$7=_fun_temp_object::div(n$6:int) [line 37, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 37, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 37, column 48]\n *&return:int=n$7 [line 37, column 25]\n " shape="box"] +"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 37, column 36]\n n$7=_fun_temp_object::div(n$6:int) [line 37, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 37, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 37, column 48]\n " shape="box"] + + + "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_4" -> "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_5" ; +"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_5" [label="5: Return Stmt \n *&return:int=n$7 [line 37, column 25]\n " shape="box"] - "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_4" -> "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_2" ; + "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_5" -> "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_2" ; "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_1" [label="1: Start temp_object::getX_field_div1\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X \n " color=yellow style=filled] @@ -75,10 +95,14 @@ digraph cfg { "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" -> "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_4" ; -"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 43, column 36]\n n$7=_fun_temp_object::div(n$6:int) [line 43, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 43, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 43, column 48]\n *&return:int=n$7 [line 43, column 25]\n " shape="box"] +"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 43, column 36]\n n$7=_fun_temp_object::div(n$6:int) [line 43, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 43, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 43, column 48]\n " shape="box"] + + + "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_4" -> "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_5" ; +"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_5" [label="5: Return Stmt \n *&return:int=n$7 [line 43, column 25]\n " shape="box"] - "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_4" -> "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_2" ; + "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_5" -> "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_2" ; "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_1" [label="1: Start temp_object::getX_method_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X \n " color=yellow style=filled] @@ -90,10 +114,14 @@ digraph cfg { "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" -> "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_4" ; -"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_4" [label="4: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 33]\n n$7=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 39, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 39, column 48]\n *&return:int=n$7 [line 39, column 26]\n " shape="box"] +"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_4" [label="4: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 33]\n n$7=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 39, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 39, column 48]\n " shape="box"] - "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_4" -> "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_2" ; + "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_4" -> "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_5" ; +"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_5" [label="5: Return Stmt \n *&return:int=n$7 [line 39, column 26]\n " shape="box"] + + + "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_5" -> "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_2" ; "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_1" [label="1: Start temp_object::temp_field2_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X \n " color=yellow style=filled] @@ -105,10 +133,14 @@ digraph cfg { "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" -> "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_4" ; -"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_4" [label="4: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 33, column 37]\n n$6=_fun_temp_object::div(n$5:int) [line 33, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 33, column 43]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 33, column 43]\n *&return:int=n$6 [line 33, column 26]\n " shape="box"] +"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_4" [label="4: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 33, column 37]\n n$6=_fun_temp_object::div(n$5:int) [line 33, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 33, column 43]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 33, column 43]\n " shape="box"] + + + "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_4" -> "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_5" ; +"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_5" [label="5: Return Stmt \n *&return:int=n$6 [line 33, column 26]\n " shape="box"] - "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_4" -> "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_2" ; + "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_5" -> "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_2" ; "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_1" [label="1: Start temp_object::temp_field_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X \n " color=yellow style=filled] @@ -120,10 +152,14 @@ digraph cfg { "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" -> "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_4" ; -"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_4" [label="4: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 31, column 36]\n n$6=_fun_temp_object::div(n$5:int) [line 31, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 31, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 31, column 45]\n *&return:int=n$6 [line 31, column 25]\n " shape="box"] +"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_4" [label="4: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 31, column 36]\n n$6=_fun_temp_object::div(n$5:int) [line 31, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 31, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 31, column 45]\n " shape="box"] + + + "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_4" -> "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_5" ; +"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_5" [label="5: Return Stmt \n *&return:int=n$6 [line 31, column 25]\n " shape="box"] - "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_4" -> "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_2" ; + "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_5" -> "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_2" ; "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_1" [label="1: Start temp_object::temp_field_div1\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X \n " color=yellow style=filled] @@ -135,10 +171,14 @@ digraph cfg { "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" -> "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_4" ; -"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_4" [label="4: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 41, column 36]\n n$6=_fun_temp_object::div(n$5:int) [line 41, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 41, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 41, column 45]\n *&return:int=n$6 [line 41, column 25]\n " shape="box"] +"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_4" [label="4: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 41, column 36]\n n$6=_fun_temp_object::div(n$5:int) [line 41, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 41, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 41, column 45]\n " shape="box"] - "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_4" -> "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_2" ; + "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_4" -> "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_5" ; +"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_5" [label="5: Return Stmt \n *&return:int=n$6 [line 41, column 25]\n " shape="box"] + + + "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_5" -> "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_2" ; "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_1" [label="1: Start temp_object::temp_method_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X \n " color=yellow style=filled] @@ -150,10 +190,14 @@ digraph cfg { "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" -> "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_4" ; -"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_4" [label="4: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 33]\n n$6=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 35, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 35, column 45]\n *&return:int=n$6 [line 35, column 26]\n " shape="box"] +"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_4" [label="4: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 33]\n n$6=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 35, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 35, column 45]\n " shape="box"] + + + "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_4" -> "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_5" ; +"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_5" [label="5: Return Stmt \n *&return:int=n$6 [line 35, column 26]\n " shape="box"] - "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_4" -> "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_2" ; + "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_5" -> "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_2" ; "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_1" [label="1: Start temp_object::X::div\nFormals: this:temp_object::X*\nLocals: \n " color=yellow style=filled] @@ -161,10 +205,14 @@ digraph cfg { "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_2" [label="2: Exit temp_object::X::div \n " color=yellow style=filled] -"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" [label="3: Return Stmt \n n$0=*&this:temp_object::X* [line 16, column 26]\n n$1=*n$0.f:int [line 16, column 26]\n *&return:int=(1 / n$1) [line 16, column 15]\n " shape="box"] +"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" [label="3: Return Stmt \n n$0=*&this:temp_object::X* [line 16, column 26]\n n$1=*n$0.f:int [line 16, column 26]\n " shape="box"] + + + "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" -> "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_4" ; +"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 16, column 15]\n " shape="box"] - "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" -> "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_2" ; + "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_4" -> "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_2" ; "X#X#temp_object#{5376484276992466061}.a1cfaf9ee9d8c713d3d1751acbb77f32_1" [label="1: Start temp_object::X::X\nFormals: this:temp_object::X* x:temp_object::X const &\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot index add033975..99d5ae8fc 100644 --- a/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot @@ -3,39 +3,43 @@ digraph cfg { "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_1" [label="1: Start FN_deref_null_after_catch_bad\nFormals: i:int*\nLocals: 0$?%__sil_tmp__temp_construct_n$6:std::runtime_error 0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const \n " color=yellow style=filled] - "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_1" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_7" ; + "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_1" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_8" ; "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_2" [label="2: Exit FN_deref_null_after_catch_bad \n " color=yellow style=filled] -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" [label="3: Return Stmt \n n$0=*&i:int* [line 52, column 11]\n n$1=*n$0:int [line 52, column 10]\n *&return:int=n$1 [line 52, column 3]\n " shape="box"] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" [label="3: Return Stmt \n n$0=*&i:int* [line 52, column 11]\n n$1=*n$0:int [line 52, column 10]\n " shape="box"] - "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: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const [line 48, column 37]\n n$4=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *) injected virtual [line 48, column 37]\n " shape="box"] + "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_4" [label="4: Return Stmt \n *&return:int=n$1 [line 52, column 3]\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_8" [color="red" ]; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ); [line 48, column 11]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"error\":char const *) [line 48, column 11]\n " shape="box"] + "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_2" ; +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" [label="5: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const [line 48, column 37]\n n$4=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *) injected virtual [line 48, column 37]\n " shape="box"] - "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" ; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" [label="6: ObjCCPPThrow \n n$8=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 48, column 11]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error) [line 48, column 5]\n " shape="box"] + "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" ; + "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_9" [color="red" ]; +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ); [line 48, column 11]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"error\":char const *) [line 48, column 11]\n " shape="box"] - "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" ; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_7" [label="7: BinaryOperatorStmt: Assign \n n$10=*&i:int* [line 47, column 6]\n *n$10:int=2 [line 47, column 5]\n " shape="box"] + "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_7" ; +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_7" [label="7: ObjCCPPThrow \n n$8=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 48, column 11]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error) [line 48, column 5]\n " shape="box"] "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_7" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" ; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_8" [label="8: BinaryOperatorStmt: Assign \n *&i:int*=null [line 50, column 5]\n " shape="box"] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_8" [label="8: BinaryOperatorStmt: Assign \n n$10=*&i:int* [line 47, column 6]\n *n$10:int=2 [line 47, column 5]\n " shape="box"] - "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_8" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" ; + "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_8" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" ; +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_9" [label="9: BinaryOperatorStmt: Assign \n *&i:int*=null [line 50, column 5]\n " shape="box"] + + + "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_9" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" ; "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_1" [label="1: Start FN_deref_null_in_catch_bad\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$4:std::runtime_error 0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const i:int* \n " color=yellow style=filled] - "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_1" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_8" ; + "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_1" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_9" ; "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" [label="2: Exit FN_deref_null_in_catch_bad \n " color=yellow style=filled] @@ -56,18 +60,22 @@ digraph cfg { "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_6" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" ; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_7" [label="7: 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 " shape="box"] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_7" [label="7: Return Stmt \n n$8=*&i:int* [line 40, column 13]\n n$9=*n$8:int [line 40, column 12]\n " shape="box"] + + + "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_7" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_8" ; +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_8" [label="8: Return Stmt \n *&return:int=n$9 [line 40, column 5]\n " shape="box"] - "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_7" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" ; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_8" [label="8: 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_8" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" ; +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_9" [label="9: 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_8" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_5" ; + "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_9" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_5" ; "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_1" [label="1: Start FN_multiple_catches_bad\nFormals: b:_Bool\nLocals: 0$?%__sil_tmp__temp_construct_n$5:std::length_error 0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const 0$?%__sil_tmp__temp_construct_n$13:std::range_error 0$?%__sil_tmpSIL_materialize_temp__n$9: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_16" ; + "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_1" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_18" ; "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" [label="2: Exit FN_multiple_catches_bad \n " color=yellow style=filled] @@ -79,7 +87,7 @@ digraph cfg { "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_3" ; - "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_14" [color="red" ]; + "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_15" [color="red" ]; "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_13" [color="red" ]; "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_5" [label="5: Prune (true branch, if) \n n$0=*&b:_Bool [line 59, column 9]\n PRUNE(n$0, true); [line 59, column 9]\n " shape="invhouse"] @@ -113,23 +121,31 @@ digraph cfg { "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_12" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_10" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_13" [label="13: Return Stmt \n n$18=*&i:int* [line 65, column 13]\n n$19=*n$18:int [line 65, column 12]\n *&return:int=n$19 [line 65, column 5]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_13" [label="13: Return Stmt \n n$18=*&i:int* [line 65, column 13]\n n$19=*n$18:int [line 65, column 12]\n " shape="box"] - "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_13" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_14" [label="14: Return Stmt \n n$20=*&j:int* [line 67, column 13]\n n$21=*n$20:int [line 67, column 12]\n *&return:int=n$21 [line 67, column 5]\n " shape="box"] + "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_13" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_14" ; +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_14" [label="14: Return Stmt \n *&return:int=n$19 [line 65, column 5]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_14" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_15" [label="15: 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_15" [label="15: Return Stmt \n n$20=*&j:int* [line 67, column 13]\n n$21=*n$20:int [line 67, column 12]\n " shape="box"] + + + "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_15" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_16" ; +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_16" [label="16: Return Stmt \n *&return:int=n$21 [line 67, column 5]\n " shape="box"] + + + "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_16" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" ; +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_17" [label="17: 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_15" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_5" ; - "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_15" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_6" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_16" [label="16: 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_17" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_5" ; + "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_17" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_6" ; +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_18" [label="18: 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_16" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_15" ; + "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_18" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_17" ; "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_1" [label="1: Start basic_throw_ok\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$4:std::runtime_error 0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const \n " color=yellow style=filled] @@ -163,62 +179,70 @@ digraph cfg { "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_1" [label="1: Start dead_deref_null_after_throw_ok\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$6:std::runtime_error 0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const i:int* \n " color=yellow style=filled] - "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_1" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_7" ; + "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_1" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_8" ; "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_2" [label="2: Exit dead_deref_null_after_throw_ok \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 " 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 " 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: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const [line 31, column 39]\n n$4=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *) injected virtual [line 31, column 39]\n " shape="box"] + "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" ; +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" [label="4: Return Stmt \n *&return:int=n$1 [line 32, 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 VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ); [line 31, column 9]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"throwing!\":char const *) [line 31, column 9]\n " shape="box"] + "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_2" ; +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" [label="5: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const [line 31, column 39]\n n$4=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *) injected virtual [line 31, column 39]\n " shape="box"] - "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_6" ; -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_6" [label="6: ObjCCPPThrow \n n$8=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 31, column 9]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error) [line 31, column 3]\n " shape="box"] + "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" ; +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ); [line 31, column 9]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"throwing!\":char const *) [line 31, column 9]\n " shape="box"] - "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_6" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" ; -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_7" [label="7: 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_6" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_7" ; +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_7" [label="7: ObjCCPPThrow \n n$8=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 31, column 9]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error) [line 31, column 3]\n " shape="box"] "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_7" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" ; +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_8" [label="8: 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_8" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_6" ; "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_1" [label="1: Start deref\nFormals: p:int*\nLocals: \n " color=yellow style=filled] - "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_1" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" ; + "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_1" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" ; "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_2" [label="2: Exit deref \n " color=yellow style=filled] -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_3" [label="3: Return Stmt \n n$0=*&p:int* [line 15, column 11]\n n$1=*n$0:int [line 15, column 10]\n *&return:int=n$1 [line 15, column 3]\n " shape="box"] +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_3" [label="3: Return Stmt \n n$0=*&p:int* [line 15, column 11]\n n$1=*n$0:int [line 15, column 10]\n " shape="box"] - "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_3" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_2" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" [label="4: + \n " ] + "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_3" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" ; +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" [label="4: Return Stmt \n *&return:int=n$1 [line 15, column 3]\n " shape="box"] - "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_3" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" [label="5: BinaryOperatorStmt: EQ \n n$2=*&p:int* [line 12, column 7]\n " shape="box"] + "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_2" ; +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" [label="5: + \n " ] - "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" ; - "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" [label="6: Prune (true branch, if) \n PRUNE((n$2 == null), true); [line 12, column 7]\n " shape="invhouse"] + "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_3" ; +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" [label="6: BinaryOperatorStmt: EQ \n n$2=*&p:int* [line 12, column 7]\n " shape="box"] + "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" ; "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$2 == null), false); [line 12, column 7]\n " shape="invhouse"] +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" [label="7: Prune (true branch, if) \n PRUNE((n$2 == null), true); [line 12, column 7]\n " shape="invhouse"] + + + "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_9" ; +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" [label="8: Prune (false branch, if) \n PRUNE(!(n$2 == null), false); [line 12, column 7]\n " shape="invhouse"] - "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" [label="8: ObjCCPPThrow \n n$3=_fun___infer_objc_cpp_throw(\"Null pointer!\":char const *) [line 13, column 5]\n " shape="box"] + "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" ; +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_9" [label="9: ObjCCPPThrow \n n$3=_fun___infer_objc_cpp_throw(\"Null pointer!\":char const *) [line 13, column 5]\n " shape="box"] - "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" ; + "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_9" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" ; "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_1" [label="1: Start deref_null\nFormals: p:int*\nLocals: \n " color=yellow style=filled] @@ -226,10 +250,14 @@ digraph cfg { "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_2" [label="2: Exit deref_null \n " color=yellow style=filled] -"deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_3" [label="3: Return Stmt \n n$0=*&p:int* [line 20, column 13]\n n$1=*n$0:int [line 20, column 12]\n *&return:int=n$1 [line 20, column 5]\n " shape="box"] +"deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_3" [label="3: Return Stmt \n n$0=*&p:int* [line 20, column 13]\n n$1=*n$0:int [line 20, column 12]\n " shape="box"] - "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_3" -> "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_2" ; + "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_3" -> "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_4" ; +"deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_4" [label="4: Return Stmt \n *&return:int=n$1 [line 20, column 5]\n " shape="box"] + + + "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_4" -> "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_2" ; "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: \nLocals: \n " color=yellow style=filled] @@ -237,12 +265,16 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=_fun_deref(null:int*) [line 74, column 12]\n *&return:int=n$0 [line 74, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=_fun_deref(null:int*) [line 74, column 12]\n " shape="box"] - "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Return Stmt \n *&return:int=-1 [line 76, column 5]\n " shape="box"] + "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Return Stmt \n *&return:int=n$0 [line 74, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Return Stmt \n *&return:int=-1 [line 76, column 5]\n " shape="box"] + + + "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot index d6e629e91..ef635ca8a 100644 --- a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot @@ -3,111 +3,127 @@ digraph cfg { "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_1" [label="1: Start bar\nFormals: \nLocals: func:bar::lambda_shared_lambda_lambda1.cpp:9:15 0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15 \n " color=yellow style=filled] - "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_1" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_5" ; + "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_1" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_6" ; "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_2" [label="2: Exit bar \n " color=yellow style=filled] -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" [label="3: Return Stmt \n n$1=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::operator()(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15&) [line 13, column 14]\n *&return:int=(7 / n$1) [line 13, column 3]\n _=*&func:bar::lambda_shared_lambda_lambda1.cpp:9:15 [line 13, column 19]\n n$3=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::~(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15*) injected [line 13, column 19]\n " shape="box"] +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" [label="3: Return Stmt \n n$1=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::operator()(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15&) [line 13, column 14]\n " shape="box"] - "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_2" ; -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" [label="4: DeclStmt \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 " shape="box"] + "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" ; +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" [label="4: Return Stmt \n *&return:int=(7 / n$1) [line 13, column 3]\n _=*&func:bar::lambda_shared_lambda_lambda1.cpp:9:15 [line 13, column 19]\n n$3=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::~(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15*) injected [line 13, column 19]\n " shape="box"] - "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_6" ; -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_5" [label="5: DeclStmt \n VARIABLE_DECLARED(func:bar::lambda_shared_lambda_lambda1.cpp:9:15); [line 9, column 3]\n " shape="box"] + "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_2" ; +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_5" [label="5: DeclStmt \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 " shape="box"] - "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_5" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" ; -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_6" [label="6: DeclStmt \n n$9=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15 [line 12, column 3]\n n$7=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::~(&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15*) injected [line 12, column 3]\n " shape="box"] + "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_5" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_7" ; +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_6" [label="6: DeclStmt \n VARIABLE_DECLARED(func:bar::lambda_shared_lambda_lambda1.cpp:9:15); [line 9, column 3]\n " shape="box"] - "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_6" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" ; + "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_6" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_5" ; +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_7" [label="7: DeclStmt \n n$9=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15 [line 12, column 3]\n n$7=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::~(&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15*) injected [line 12, column 3]\n " shape="box"] + + + "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_7" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" ; "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_1" [label="1: Start capture_by_ref\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3 x:int \n " color=yellow style=filled] - "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_1" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_7" ; + "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_1" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_8" ; "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_2" [label="2: Exit capture_by_ref \n " color=yellow style=filled] -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" [label="3: Return Stmt \n n$0=*&x:int [line 37, column 10]\n *&return:int=n$0 [line 37, column 3]\n " shape="box"] +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" [label="3: Return Stmt \n n$0=*&x:int [line 37, column 10]\n " shape="box"] - "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_2" ; -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3 [line 36, column 19]\n n$3=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::~(&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3*) injected [line 36, column 19]\n " shape="box"] + "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" ; +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" [label="4: Return Stmt \n *&return:int=n$0 [line 37, 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 VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3); [line 36, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1: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 " shape="box"] + "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_2" ; +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" [label="5: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3 [line 36, column 19]\n n$3=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::~(&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3*) injected [line 36, column 19]\n " shape="box"] - "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_6" ; -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_6" [label="6: Call _fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator() \n n$6=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3&) [line 36, column 3]\n " shape="box"] + "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" ; +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3); [line 36, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1: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 " shape="box"] - "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_6" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" ; -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_7" [label="7: 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_6" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_7" ; +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_7" [label="7: Call _fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator() \n n$6=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3&) [line 36, column 3]\n " shape="box"] "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_7" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" ; +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_8" [label="8: 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_8" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_6" ; "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$12:foo::lambda_shared_lambda_lambda1.cpp:17:17 \n " color=yellow style=filled] - "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_1" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_8" ; + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_1" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_9" ; "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" [label="2: Exit foo \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 " shape="box"] +"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 " shape="box"] - "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" [label="4: DeclStmt \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 " shape="box"] + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" ; +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" [label="4: Return Stmt \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 " shape="box"] - "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_6" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:foo::lambda_shared_lambda_lambda1.cpp:18:12); [line 18, column 3]\n " shape="box"] + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" ; +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" [label="5: DeclStmt \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 " shape="box"] - "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_6" [label="6: DeclStmt \n n$11=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12 [line 18, column 36]\n n$9=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12*) injected [line 18, column 36]\n " shape="box"] + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_7" ; +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y:foo::lambda_shared_lambda_lambda1.cpp:18:12); [line 18, column 3]\n " shape="box"] - "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_6" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_7" [label="7: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 17]\n *&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17=(_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::operator()) [line 17, column 17]\n " shape="box"] + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_6" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" ; +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_7" [label="7: DeclStmt \n n$11=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12 [line 18, column 36]\n n$9=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12*) injected [line 18, column 36]\n " shape="box"] - "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_7" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_9" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_8" [label="8: DeclStmt \n VARIABLE_DECLARED(unused:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 3]\n " shape="box"] + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_7" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" ; +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_8" [label="8: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 17]\n *&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17=(_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::operator()) [line 17, column 17]\n " shape="box"] - "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_8" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_7" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_9" [label="9: DeclStmt \n n$16=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17*,&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17&) [line 17, column 17]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17 [line 17, column 38]\n n$14=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::~(&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17*) injected [line 17, column 38]\n " shape="box"] + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_8" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_10" ; +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_9" [label="9: DeclStmt \n VARIABLE_DECLARED(unused:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 3]\n " shape="box"] - "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_9" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" ; + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_9" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_8" ; +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_10" [label="10: DeclStmt \n n$16=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17*,&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17&) [line 17, column 17]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17 [line 17, column 38]\n n$14=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::~(&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17*) injected [line 17, column 38]\n " shape="box"] + + + "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_10" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_6" ; "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_1" [label="1: Start fooOK\nFormals: \nLocals: y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 \n " color=yellow style=filled] - "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_1" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_5" ; + "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_1" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_6" ; "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_2" [label="2: Exit fooOK \n " color=yellow style=filled] -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" [label="3: Return Stmt \n n$1=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator()(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&,3:int) [line 25, column 19]\n *&return:int=(5 / (4 - n$1)) [line 25, column 3]\n _=*&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 [line 25, column 23]\n n$3=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::~(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*) injected [line 25, column 23]\n " shape="box"] +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" [label="3: Return Stmt \n n$1=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator()(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&,3:int) [line 25, column 19]\n " shape="box"] + + + "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" ; +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" [label="4: Return Stmt \n *&return:int=(5 / (4 - n$1)) [line 25, column 3]\n _=*&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 [line 25, column 23]\n n$3=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::~(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*) injected [line 25, column 23]\n " shape="box"] - "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_2" ; -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" [label="4: DeclStmt \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 " shape="box"] + "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_2" ; +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_5" [label="5: DeclStmt \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 " shape="box"] - "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_6" ; -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12); [line 24, column 3]\n " shape="box"] + "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_5" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_7" ; +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12); [line 24, column 3]\n " shape="box"] - "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_5" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" ; -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_6" [label="6: DeclStmt \n n$9=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 [line 24, column 36]\n n$7=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*) injected [line 24, column 36]\n " shape="box"] + "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_6" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_5" ; +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_7" [label="7: DeclStmt \n n$9=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 [line 24, column 36]\n n$7=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*) injected [line 24, column 36]\n " shape="box"] - "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_6" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" ; + "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_7" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" ; "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_1" [label="1: Start init_capture1\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10 \n " color=yellow style=filled] @@ -127,14 +143,18 @@ digraph cfg { "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_5" -> "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_6" ; -"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_6" [label="6: Return Stmt \n n$6=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10&) [line 41, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10 [line 41, column 34]\n n$2=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10*) injected [line 41, column 34]\n *&return:int=n$6 [line 41, column 3]\n " shape="box"] +"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_6" [label="6: Return Stmt \n n$6=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10&) [line 41, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10 [line 41, column 34]\n n$2=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10*) injected [line 41, column 34]\n " shape="box"] - "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_6" -> "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_2" ; + "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_6" -> "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_7" ; +"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_7" [label="7: Return Stmt \n *&return:int=n$6 [line 41, column 3]\n " shape="box"] + + + "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_7" -> "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_2" ; "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_1" [label="1: Start init_capture2\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10 i:int \n " color=yellow style=filled] - "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_1" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_9" ; + "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_1" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_10" ; "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_2" [label="2: Exit init_capture2 \n " color=yellow style=filled] @@ -158,18 +178,22 @@ digraph cfg { "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_7" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_8" ; -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_8" [label="8: Return Stmt \n n$9=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10&) [line 46, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10 [line 46, column 56]\n n$2=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10*) injected [line 46, column 56]\n *&return:int=n$9 [line 46, column 3]\n " shape="box"] +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_8" [label="8: Return Stmt \n n$9=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10&) [line 46, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10 [line 46, column 56]\n n$2=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10*) injected [line 46, column 56]\n " shape="box"] + + + "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_8" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_9" ; +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_9" [label="9: Return Stmt \n *&return:int=n$9 [line 46, column 3]\n " shape="box"] - "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_8" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_2" ; -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_9" [label="9: 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_9" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_2" ; +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_10" [label="10: 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_9" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_6" ; + "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_10" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_6" ; "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_1" [label="1: Start normal_capture\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10 y:int x:int \n " color=yellow style=filled] - "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_1" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_6" ; + "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_1" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_7" ; "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_2" [label="2: Exit normal_capture \n " color=yellow style=filled] @@ -177,345 +201,385 @@ digraph cfg { "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_4" ; -"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_4" [label="4: Return Stmt \n n$7=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10&) [line 31, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10 [line 31, column 37]\n n$2=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10*) injected [line 31, column 37]\n *&return:int=n$7 [line 31, column 3]\n " shape="box"] +"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_4" [label="4: Return Stmt \n n$7=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10&) [line 31, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10 [line 31, column 37]\n n$2=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10*) injected [line 31, column 37]\n " shape="box"] - "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_4" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_2" ; -"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_5" [label="5: 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_5" ; +"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_5" [label="5: Return Stmt \n *&return:int=n$7 [line 31, column 3]\n " shape="box"] - "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_5" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" ; -"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_6" [label="6: 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_2" ; +"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_6" [label="6: 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_6" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_5" ; + "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_6" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" ; +"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_7" [label="7: 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_7" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_6" ; "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_1" [label="1: Start ref_capture_by_ref\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3 xref:int& x:int \n " color=yellow style=filled] - "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_1" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_8" ; + "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_1" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_9" ; "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_2" [label="2: Exit ref_capture_by_ref \n " color=yellow style=filled] -"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_3" [label="3: Return Stmt \n n$0=*&xref:int& [line 101, column 10]\n n$1=*n$0:int [line 101, column 10]\n *&return:int=n$1 [line 101, column 3]\n " shape="box"] +"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_3" [label="3: Return Stmt \n n$0=*&xref:int& [line 101, column 10]\n n$1=*n$0:int [line 101, column 10]\n " shape="box"] - "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_3" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_2" ; -"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3 [line 100, column 25]\n n$4=_fun_ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3::~(&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3*) injected [line 100, column 25]\n " shape="box"] + "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_3" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_4" ; +"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_4" [label="4: Return Stmt \n *&return:int=n$1 [line 101, column 3]\n " shape="box"] - "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_4" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_3" ; -"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3); [line 100, column 3]\n n$7=*&xref:int& [line 100, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3=(_fun_ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3::operator(),([by ref]n$7 &xref:int&)) [line 100, column 3]\n " shape="box"] + "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_4" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_2" ; +"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_5" [label="5: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3 [line 100, column 25]\n n$4=_fun_ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3::~(&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3*) injected [line 100, column 25]\n " shape="box"] - "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_5" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_6" ; -"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_6" [label="6: Call _fun_ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3::operator() \n n$8=_fun_ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3&) [line 100, column 3]\n " shape="box"] + "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_5" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_3" ; +"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3); [line 100, column 3]\n n$7=*&xref:int& [line 100, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3=(_fun_ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3::operator(),([by ref]n$7 &xref:int&)) [line 100, column 3]\n " shape="box"] - "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_6" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_4" ; -"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(xref:int&); [line 99, column 3]\n *&xref:int&=&x [line 99, column 3]\n " shape="box"] + "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_6" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_7" ; +"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_7" [label="7: Call _fun_ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3::operator() \n n$8=_fun_ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_capture_by_ref::lambda_shared_lambda_lambda1.cpp:100:3&) [line 100, column 3]\n " shape="box"] "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_7" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_5" ; -"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x:int); [line 98, column 3]\n *&x:int=0 [line 98, column 3]\n " shape="box"] +"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_8" [label="8: DeclStmt \n VARIABLE_DECLARED(xref:int&); [line 99, column 3]\n *&xref:int&=&x [line 99, column 3]\n " shape="box"] + + + "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_8" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_6" ; +"ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:int); [line 98, column 3]\n *&x:int=0 [line 98, column 3]\n " shape="box"] - "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_8" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_7" ; + "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_9" -> "ref_capture_by_ref#14681721236694523499.e4fbc78377bc879fc79633acdbd6829c_8" ; "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_1" [label="1: Start ref_capture_by_value\nFormals: \nLocals: ret:int f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12 0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12 xref:int& x:int \n " color=yellow style=filled] - "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_1" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_9" ; + "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_1" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_10" ; "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_2" [label="2: Exit ref_capture_by_value \n " color=yellow style=filled] -"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_3" [label="3: Return Stmt \n n$0=*&ret:int [line 86, column 10]\n *&return:int=n$0 [line 86, column 3]\n _=*&f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12 [line 86, column 10]\n n$2=_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::~(&f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12*) injected [line 86, column 10]\n " shape="box"] +"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_3" [label="3: Return Stmt \n n$0=*&ret:int [line 86, column 10]\n " shape="box"] - "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_3" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_2" ; -"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ret:int); [line 85, column 3]\n n$5=_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::operator()(&f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12&) [line 85, column 13]\n *&ret:int=n$5 [line 85, column 3]\n " shape="box"] + "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_3" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_4" ; +"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_4" [label="4: Return Stmt \n *&return:int=n$0 [line 86, column 3]\n _=*&f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12 [line 86, column 10]\n n$2=_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::~(&f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12*) injected [line 86, column 10]\n " shape="box"] - "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_4" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_3" ; -"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12); [line 84, column 12]\n n$10=*&xref:int& [line 84, column 12]\n n$11=*n$10:int [line 84, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12=(_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::operator(),([by value]n$11 &xref:int)) [line 84, column 12]\n " shape="box"] + "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_4" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_2" ; +"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:int); [line 85, column 3]\n n$5=_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::operator()(&f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12&) [line 85, column 13]\n *&ret:int=n$5 [line 85, column 3]\n " shape="box"] - "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_5" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_7" ; -"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_6" [label="6: DeclStmt \n VARIABLE_DECLARED(f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12); [line 84, column 3]\n " shape="box"] + "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_5" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_3" ; +"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12); [line 84, column 12]\n n$10=*&xref:int& [line 84, column 12]\n n$11=*n$10:int [line 84, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12=(_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::operator(),([by value]n$11 &xref:int)) [line 84, column 12]\n " shape="box"] - "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_6" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_5" ; -"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_7" [label="7: DeclStmt \n n$12=_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::(&f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12*,&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12&) [line 84, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12 [line 84, column 40]\n n$8=_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12*) injected [line 84, column 40]\n " shape="box"] + "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_6" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_8" ; +"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_7" [label="7: DeclStmt \n VARIABLE_DECLARED(f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12); [line 84, column 3]\n " shape="box"] - "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_7" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_4" ; -"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_8" [label="8: DeclStmt \n VARIABLE_DECLARED(xref:int&); [line 83, column 3]\n *&xref:int&=&x [line 83, column 3]\n " shape="box"] + "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_7" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_6" ; +"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_8" [label="8: DeclStmt \n n$12=_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::(&f:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12*,&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12&) [line 84, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12 [line 84, column 40]\n n$8=_fun_ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12*) injected [line 84, column 40]\n " shape="box"] - "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_8" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_6" ; -"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:int); [line 82, column 3]\n *&x:int=0 [line 82, column 3]\n " shape="box"] + "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_8" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_5" ; +"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_9" [label="9: DeclStmt \n VARIABLE_DECLARED(xref:int&); [line 83, column 3]\n *&xref:int&=&x [line 83, column 3]\n " shape="box"] - "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_9" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_8" ; + "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_9" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_7" ; +"ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int); [line 82, column 3]\n *&x:int=0 [line 82, column 3]\n " shape="box"] + + + "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_10" -> "ref_capture_by_value#4806574088982549998.61621d058ca5955e04dd4735d42f6588_9" ; "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_1" [label="1: Start ref_init_capture_by_ref\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3 xref:int& x:int \n " color=yellow style=filled] - "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_1" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_10" ; + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_1" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_11" ; "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_2" [label="2: Exit ref_init_capture_by_ref \n " color=yellow style=filled] -"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_3" [label="3: Return Stmt \n n$0=*&xref:int& [line 108, column 10]\n n$1=*n$0:int [line 108, column 10]\n *&return:int=n$1 [line 108, column 3]\n " shape="box"] +"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_3" [label="3: Return Stmt \n n$0=*&xref:int& [line 108, column 10]\n n$1=*n$0:int [line 108, column 10]\n " shape="box"] + + + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_3" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_4" ; +"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_4" [label="4: Return Stmt \n *&return:int=n$1 [line 108, column 3]\n " shape="box"] - "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_3" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_2" ; -"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3 [line 107, column 39]\n n$4=_fun_ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3::~(&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3*) injected [line 107, column 39]\n " shape="box"] + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_4" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_2" ; +"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_5" [label="5: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3 [line 107, column 39]\n n$4=_fun_ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3::~(&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3*) injected [line 107, column 39]\n " shape="box"] - "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_4" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_3" ; -"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(xlambda:int&); [line 107, column 3]\n n$7=*&xref:int& [line 107, column 16]\n *&xlambda:int&=n$7 [line 107, column 3]\n " shape="box"] + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_5" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_3" ; +"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(xlambda:int&); [line 107, column 3]\n n$7=*&xref:int& [line 107, column 16]\n *&xlambda:int&=n$7 [line 107, column 3]\n " shape="box"] - "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_5" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_7" ; -"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3); [line 107, column 3]\n " shape="box"] + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_6" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_8" ; +"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3); [line 107, column 3]\n " shape="box"] - "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_6" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_5" ; -"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_7" [label="7: DeclStmt \n n$8=*&xlambda:int& [line 107, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3=(_fun_ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3::operator(),([by ref]n$8 &xlambda:int&)) [line 107, column 3]\n " shape="box"] + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_7" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_6" ; +"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_8" [label="8: DeclStmt \n n$8=*&xlambda:int& [line 107, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3=(_fun_ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3::operator(),([by ref]n$8 &xlambda:int&)) [line 107, column 3]\n " shape="box"] - "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_7" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_8" ; -"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_8" [label="8: Call _fun_ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3::operator() \n n$9=_fun_ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3&) [line 107, column 3]\n " shape="box"] + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_8" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_9" ; +"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_9" [label="9: Call _fun_ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3::operator() \n n$9=_fun_ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$2:ref_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:107:3&) [line 107, column 3]\n " shape="box"] - "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_8" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_4" ; -"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_9" [label="9: DeclStmt \n VARIABLE_DECLARED(xref:int&); [line 106, column 3]\n *&xref:int&=&x [line 106, column 3]\n " shape="box"] + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_9" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_5" ; +"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_10" [label="10: DeclStmt \n VARIABLE_DECLARED(xref:int&); [line 106, column 3]\n *&xref:int&=&x [line 106, column 3]\n " shape="box"] - "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_9" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_6" ; -"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int); [line 105, column 3]\n *&x:int=0 [line 105, column 3]\n " shape="box"] + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_10" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_7" ; +"ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:int); [line 105, column 3]\n *&x:int=0 [line 105, column 3]\n " shape="box"] - "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_10" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_9" ; + "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_11" -> "ref_init_capture_by_ref#8408411231784662282.399b89cb2bc432190cf902f8189b053c_10" ; "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_1" [label="1: Start ref_init_capture_by_value\nFormals: \nLocals: ret:int f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12 0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12 xref:int& x:int \n " color=yellow style=filled] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_1" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_11" ; + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_1" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_12" ; "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_2" [label="2: Exit ref_init_capture_by_value \n " color=yellow style=filled] -"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_3" [label="3: Return Stmt \n n$0=*&ret:int [line 94, column 10]\n *&return:int=n$0 [line 94, column 3]\n _=*&f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12 [line 94, column 10]\n n$2=_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::~(&f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12*) injected [line 94, column 10]\n " shape="box"] +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_3" [label="3: Return Stmt \n n$0=*&ret:int [line 94, column 10]\n " shape="box"] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_3" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_2" ; -"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ret:int); [line 93, column 3]\n n$5=_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::operator()(&f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12&) [line 93, column 13]\n *&ret:int=n$5 [line 93, column 3]\n " shape="box"] + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_3" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_4" ; +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_4" [label="4: Return Stmt \n *&return:int=n$0 [line 94, column 3]\n _=*&f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12 [line 94, column 10]\n n$2=_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::~(&f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12*) injected [line 94, column 10]\n " shape="box"] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_4" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_3" ; -"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_5" [label="5: DeclStmt \n VARIABLE_DECLARED(xlambda:int); [line 92, column 12]\n n$10=*&xref:int& [line 92, column 23]\n n$11=*n$10:int [line 92, column 23]\n *&xlambda:int=n$11 [line 92, column 12]\n " shape="box"] + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_4" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_2" ; +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_5" [label="5: DeclStmt \n VARIABLE_DECLARED(ret:int); [line 93, column 3]\n n$5=_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::operator()(&f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12&) [line 93, column 13]\n *&ret:int=n$5 [line 93, column 3]\n " shape="box"] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_5" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_7" ; -"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12); [line 92, column 12]\n " shape="box"] + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_5" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_3" ; +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_6" [label="6: DeclStmt \n VARIABLE_DECLARED(xlambda:int); [line 92, column 12]\n n$10=*&xref:int& [line 92, column 23]\n n$11=*n$10:int [line 92, column 23]\n *&xlambda:int=n$11 [line 92, column 12]\n " shape="box"] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_6" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_5" ; -"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_7" [label="7: DeclStmt \n n$12=*&xlambda:int [line 92, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12=(_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::operator(),([by value]n$12 &xlambda:int)) [line 92, column 12]\n " shape="box"] + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_6" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_8" ; +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_7" [label="7: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12); [line 92, column 12]\n " shape="box"] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_7" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_9" ; -"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_8" [label="8: DeclStmt \n VARIABLE_DECLARED(f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12); [line 92, column 3]\n " shape="box"] + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_7" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_6" ; +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_8" [label="8: DeclStmt \n n$12=*&xlambda:int [line 92, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12=(_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::operator(),([by value]n$12 &xlambda:int)) [line 92, column 12]\n " shape="box"] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_8" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_6" ; -"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_9" [label="9: DeclStmt \n n$13=_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::(&f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12*,&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12&) [line 92, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12 [line 92, column 53]\n n$8=_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12*) injected [line 92, column 53]\n " shape="box"] + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_8" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_10" ; +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_9" [label="9: DeclStmt \n VARIABLE_DECLARED(f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12); [line 92, column 3]\n " shape="box"] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_9" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_4" ; -"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_10" [label="10: DeclStmt \n VARIABLE_DECLARED(xref:int&); [line 91, column 3]\n *&xref:int&=&x [line 91, column 3]\n " shape="box"] + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_9" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_7" ; +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_10" [label="10: DeclStmt \n n$13=_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::(&f:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12*,&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12&) [line 92, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12 [line 92, column 53]\n n$8=_fun_ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$6:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12*) injected [line 92, column 53]\n " shape="box"] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_10" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_8" ; -"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:int); [line 90, column 3]\n *&x:int=0 [line 90, column 3]\n " shape="box"] + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_10" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_5" ; +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_11" [label="11: DeclStmt \n VARIABLE_DECLARED(xref:int&); [line 91, column 3]\n *&xref:int&=&x [line 91, column 3]\n " shape="box"] - "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_11" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_10" ; + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_11" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_9" ; +"ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x:int); [line 90, column 3]\n *&x:int=0 [line 90, column 3]\n " shape="box"] + + + "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_12" -> "ref_init_capture_by_value#2039100596272541472.6db03403e4946224500aec3971ad9092_11" ; "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_1" [label="1: Start struct_capture\nFormals: \nLocals: 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 y:SomeStruct x:SomeStruct \n " color=yellow style=filled] - "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_1" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_8" ; + "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_1" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_9" ; "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_2" [label="2: Exit struct_capture \n " color=yellow style=filled] -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" [label="3: Return Stmt \n n$1=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator()(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12&) [line 78, column 10]\n *&return:int=n$1 [line 78, column 3]\n _=*&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 78, column 12]\n n$3=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::~(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*) injected [line 78, column 12]\n _=*&y:SomeStruct [line 78, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&y:SomeStruct*) injected [line 78, column 12]\n _=*&x:SomeStruct [line 78, column 12]\n n$7=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 78, column 12]\n " shape="box"] +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" [label="3: Return Stmt \n n$1=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator()(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12&) [line 78, column 10]\n " shape="box"] + + + "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" ; +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" [label="4: Return Stmt \n *&return:int=n$1 [line 78, column 3]\n _=*&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 78, column 12]\n n$3=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::~(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*) injected [line 78, column 12]\n _=*&y:SomeStruct [line 78, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&y:SomeStruct*) injected [line 78, column 12]\n _=*&x:SomeStruct [line 78, column 12]\n n$7=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 78, column 12]\n " shape="box"] - "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_2" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" [label="4: DeclStmt \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$14=*&x:SomeStruct& [line 77, column 12]\n n$13=*&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(),([by value]n$14 &x:SomeStruct&),([by value]n$13 &y:SomeStruct&)) [line 77, column 12]\n " shape="box"] + "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_2" ; +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" [label="5: DeclStmt \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$14=*&x:SomeStruct& [line 77, column 12]\n n$13=*&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(),([by value]n$14 &x:SomeStruct&),([by value]n$13 &y:SomeStruct&)) [line 77, column 12]\n " shape="box"] - "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" [label="5: DeclStmt \n VARIABLE_DECLARED(f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12); [line 77, column 3]\n " shape="box"] + "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_7" ; +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" [label="6: DeclStmt \n VARIABLE_DECLARED(f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12); [line 77, column 3]\n " shape="box"] - "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" [label="6: DeclStmt \n n$15=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 77, column 41]\n n$11=_fun_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*) injected [line 77, column 41]\n " shape="box"] + "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" ; +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_7" [label="7: DeclStmt \n n$15=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 77, column 41]\n n$11=_fun_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*) injected [line 77, column 41]\n " shape="box"] - "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_7" [label="7: DeclStmt \n VARIABLE_DECLARED(y:SomeStruct); [line 76, column 3]\n n$16=_fun_SomeStruct::SomeStruct(&y:SomeStruct*) [line 76, column 14]\n " shape="box"] + "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_7" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" ; +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_8" [label="8: DeclStmt \n VARIABLE_DECLARED(y:SomeStruct); [line 76, column 3]\n n$16=_fun_SomeStruct::SomeStruct(&y:SomeStruct*) [line 76, column 14]\n " shape="box"] - "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_7" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 75, column 3]\n n$17=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 75, column 14]\n " shape="box"] + "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_8" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" ; +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 75, column 3]\n n$17=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 75, column 14]\n " shape="box"] - "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_8" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_7" ; + "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_9" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_8" ; "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_1" [label="1: Start struct_capture_by_ref\nFormals: \nLocals: f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12 0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12 xref:SomeStruct& x:SomeStruct \n " color=yellow style=filled] - "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_1" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_8" ; + "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_1" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_9" ; "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_2" [label="2: Exit struct_capture_by_ref \n " color=yellow style=filled] -"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_3" [label="3: Return Stmt \n n$1=_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::operator()(&f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12&) [line 125, column 10]\n *&return:int=n$1 [line 125, column 3]\n _=*&f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12 [line 125, column 12]\n n$3=_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::~(&f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12*) injected [line 125, column 12]\n _=*&x:SomeStruct [line 125, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 125, column 12]\n " shape="box"] +"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_3" [label="3: Return Stmt \n n$1=_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::operator()(&f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12&) [line 125, column 10]\n " shape="box"] - "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_3" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_2" ; -"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12); [line 121, column 12]\n n$11=*&xref:SomeStruct& [line 121, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12=(_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::operator(),&x,([by ref]n$11 &xref:SomeStruct&)) [line 121, column 12]\n " shape="box"] + "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_3" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_4" ; +"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_4" [label="4: Return Stmt \n *&return:int=n$1 [line 125, column 3]\n _=*&f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12 [line 125, column 12]\n n$3=_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::~(&f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12*) injected [line 125, column 12]\n _=*&x:SomeStruct [line 125, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 125, column 12]\n " shape="box"] - "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_4" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_6" ; -"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_5" [label="5: DeclStmt \n VARIABLE_DECLARED(f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12); [line 121, column 3]\n " shape="box"] + "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_4" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_2" ; +"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12); [line 121, column 12]\n n$11=*&xref:SomeStruct& [line 121, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12=(_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::operator(),&x,([by ref]n$11 &xref:SomeStruct&)) [line 121, column 12]\n " shape="box"] - "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_5" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_4" ; -"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_6" [label="6: DeclStmt \n n$12=_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::(&f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12&) [line 121, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12 [line 124, column 3]\n n$9=_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12*) injected [line 124, column 3]\n " shape="box"] + "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_5" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_7" ; +"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_6" [label="6: DeclStmt \n VARIABLE_DECLARED(f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12); [line 121, column 3]\n " shape="box"] - "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_6" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_3" ; -"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_7" [label="7: DeclStmt \n VARIABLE_DECLARED(xref:SomeStruct&); [line 120, column 3]\n *&xref:SomeStruct&=&x [line 120, column 3]\n " shape="box"] + "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_6" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_5" ; +"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_7" [label="7: DeclStmt \n n$12=_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::(&f:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12&) [line 121, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12 [line 124, column 3]\n n$9=_fun_struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12*) injected [line 124, column 3]\n " shape="box"] - "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_7" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_5" ; -"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 119, column 3]\n n$13=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 119, column 14]\n " shape="box"] + "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_7" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_3" ; +"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_8" [label="8: DeclStmt \n VARIABLE_DECLARED(xref:SomeStruct&); [line 120, column 3]\n *&xref:SomeStruct&=&x [line 120, column 3]\n " shape="box"] - "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_8" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_7" ; + "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_8" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_6" ; +"struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 119, column 3]\n n$13=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 119, column 14]\n " shape="box"] + + + "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_9" -> "struct_capture_by_ref#12577537422211765985.ebc118d2dbc2f2f5b7c5ee63317b20fd_8" ; "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_1" [label="1: Start struct_capture_by_value\nFormals: \nLocals: f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12 0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12 xref:SomeStruct& x:SomeStruct \n " color=yellow style=filled] - "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_1" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_8" ; + "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_1" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_9" ; "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_2" [label="2: Exit struct_capture_by_value \n " color=yellow style=filled] -"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_3" [label="3: Return Stmt \n n$1=_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::operator()(&f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12&) [line 115, column 10]\n *&return:int=n$1 [line 115, column 3]\n _=*&f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12 [line 115, column 12]\n n$3=_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::~(&f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12*) injected [line 115, column 12]\n _=*&x:SomeStruct [line 115, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 115, column 12]\n " shape="box"] +"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_3" [label="3: Return Stmt \n n$1=_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::operator()(&f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12&) [line 115, column 10]\n " shape="box"] + + + "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_3" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_4" ; +"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_4" [label="4: Return Stmt \n *&return:int=n$1 [line 115, column 3]\n _=*&f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12 [line 115, column 12]\n n$3=_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::~(&f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12*) injected [line 115, column 12]\n _=*&x:SomeStruct [line 115, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 115, column 12]\n " shape="box"] - "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_3" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_2" ; -"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12); [line 114, column 12]\n n$12=*&x:SomeStruct& [line 114, column 12]\n n$11=*&xref:SomeStruct& [line 114, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12=(_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::operator(),([by value]n$12 &x:SomeStruct&),([by value]n$11 &xref:SomeStruct&)) [line 114, column 12]\n " shape="box"] + "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_4" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_2" ; +"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12); [line 114, column 12]\n n$12=*&x:SomeStruct& [line 114, column 12]\n n$11=*&xref:SomeStruct& [line 114, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12=(_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::operator(),([by value]n$12 &x:SomeStruct&),([by value]n$11 &xref:SomeStruct&)) [line 114, column 12]\n " shape="box"] - "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_4" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_6" ; -"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12); [line 114, column 3]\n " shape="box"] + "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_5" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_7" ; +"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12); [line 114, column 3]\n " shape="box"] - "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_5" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_4" ; -"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_6" [label="6: DeclStmt \n n$13=_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::(&f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12&) [line 114, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12 [line 114, column 47]\n n$9=_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12*) injected [line 114, column 47]\n " shape="box"] + "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_6" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_5" ; +"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_7" [label="7: DeclStmt \n n$13=_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::(&f:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12&) [line 114, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12 [line 114, column 47]\n n$9=_fun_struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12*) injected [line 114, column 47]\n " shape="box"] - "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_6" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_3" ; -"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_7" [label="7: DeclStmt \n VARIABLE_DECLARED(xref:SomeStruct&); [line 113, column 3]\n *&xref:SomeStruct&=&x [line 113, column 3]\n " shape="box"] + "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_7" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_3" ; +"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_8" [label="8: DeclStmt \n VARIABLE_DECLARED(xref:SomeStruct&); [line 113, column 3]\n *&xref:SomeStruct&=&x [line 113, column 3]\n " shape="box"] - "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_7" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_5" ; -"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 112, column 3]\n n$14=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 112, column 14]\n " shape="box"] + "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_8" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_6" ; +"struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 112, column 3]\n n$14=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 112, column 14]\n " shape="box"] - "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_8" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_7" ; + "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_9" -> "struct_capture_by_value#11699147294788787683.903e0c9fb8b981281b248d9decb0d97d_8" ; "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_1" [label="1: Start struct_init_capture_by_ref\nFormals: \nLocals: f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12 0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12 xref:SomeStruct& x:SomeStruct \n " color=yellow style=filled] - "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_1" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_11" ; + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_1" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_12" ; "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_2" [label="2: Exit struct_init_capture_by_ref \n " color=yellow style=filled] -"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_3" [label="3: Return Stmt \n n$1=_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::operator()(&f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12&) [line 144, column 10]\n *&return:int=n$1 [line 144, column 3]\n _=*&f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12 [line 144, column 12]\n n$3=_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::~(&f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12*) injected [line 144, column 12]\n _=*&x:SomeStruct [line 144, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 144, column 12]\n " shape="box"] +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_3" [label="3: Return Stmt \n n$1=_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::operator()(&f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12&) [line 144, column 10]\n " shape="box"] - "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_3" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_2" ; -"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(xreflambda:SomeStruct&); [line 140, column 12]\n n$11=*&xref:SomeStruct& [line 140, column 42]\n *&xreflambda:SomeStruct&=n$11 [line 140, column 12]\n " shape="box"] + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_3" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_4" ; +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_4" [label="4: Return Stmt \n *&return:int=n$1 [line 144, column 3]\n _=*&f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12 [line 144, column 12]\n n$3=_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::~(&f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12*) injected [line 144, column 12]\n _=*&x:SomeStruct [line 144, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 144, column 12]\n " shape="box"] - "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_4" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_7" ; -"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(xlambda:SomeStruct&); [line 140, column 12]\n *&xlambda:SomeStruct&=&x [line 140, column 12]\n " shape="box"] + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_4" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_2" ; +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(xreflambda:SomeStruct&); [line 140, column 12]\n n$11=*&xref:SomeStruct& [line 140, column 42]\n *&xreflambda:SomeStruct&=n$11 [line 140, column 12]\n " shape="box"] - "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_5" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_4" ; -"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12); [line 140, column 12]\n " shape="box"] + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_5" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_8" ; +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(xlambda:SomeStruct&); [line 140, column 12]\n *&xlambda:SomeStruct&=&x [line 140, column 12]\n " shape="box"] "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_6" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_5" ; -"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_7" [label="7: DeclStmt \n n$13=*&xlambda:SomeStruct& [line 140, column 12]\n n$12=*&xreflambda:SomeStruct& [line 140, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12=(_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::operator(),([by ref]n$13 &xlambda:SomeStruct&),([by ref]n$12 &xreflambda:SomeStruct&)) [line 140, column 12]\n " shape="box"] +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12); [line 140, column 12]\n " shape="box"] - "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_7" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_9" ; -"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_8" [label="8: DeclStmt \n VARIABLE_DECLARED(f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12); [line 140, column 3]\n " shape="box"] + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_7" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_6" ; +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_8" [label="8: DeclStmt \n n$13=*&xlambda:SomeStruct& [line 140, column 12]\n n$12=*&xreflambda:SomeStruct& [line 140, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12=(_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::operator(),([by ref]n$13 &xlambda:SomeStruct&),([by ref]n$12 &xreflambda:SomeStruct&)) [line 140, column 12]\n " shape="box"] - "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_8" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_6" ; -"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_9" [label="9: DeclStmt \n n$14=_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::(&f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12&) [line 140, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12 [line 143, column 3]\n n$9=_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12*) injected [line 143, column 3]\n " shape="box"] + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_8" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_10" ; +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_9" [label="9: DeclStmt \n VARIABLE_DECLARED(f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12); [line 140, column 3]\n " shape="box"] - "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_9" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_3" ; -"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_10" [label="10: DeclStmt \n VARIABLE_DECLARED(xref:SomeStruct&); [line 139, column 3]\n *&xref:SomeStruct&=&x [line 139, column 3]\n " shape="box"] + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_9" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_7" ; +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_10" [label="10: DeclStmt \n n$14=_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::(&f:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12&) [line 140, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12 [line 143, column 3]\n n$9=_fun_struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12*) injected [line 143, column 3]\n " shape="box"] - "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_10" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_8" ; -"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 138, column 3]\n n$15=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 138, column 14]\n " shape="box"] + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_10" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_3" ; +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_11" [label="11: DeclStmt \n VARIABLE_DECLARED(xref:SomeStruct&); [line 139, column 3]\n *&xref:SomeStruct&=&x [line 139, column 3]\n " shape="box"] - "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_11" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_10" ; + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_11" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_9" ; +"struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 138, column 3]\n n$15=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 138, column 14]\n " shape="box"] + + + "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_12" -> "struct_init_capture_by_ref#9205094663270955601.142e205b831e508a8eb59bdbc8b0b42b_11" ; "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_1" [label="1: Start struct_init_capture_by_value\nFormals: \nLocals: f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12 0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12 xref:SomeStruct& x:SomeStruct \n " color=yellow style=filled] - "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_1" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_11" ; + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_1" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_12" ; "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_2" [label="2: Exit struct_init_capture_by_value \n " color=yellow style=filled] -"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_3" [label="3: Return Stmt \n n$1=_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::operator()(&f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12&) [line 134, column 10]\n *&return:int=n$1 [line 134, column 3]\n _=*&f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12 [line 134, column 12]\n n$3=_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::~(&f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12*) injected [line 134, column 12]\n _=*&x:SomeStruct [line 134, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 134, column 12]\n " shape="box"] +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_3" [label="3: Return Stmt \n n$1=_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::operator()(&f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12&) [line 134, column 10]\n " shape="box"] - "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_3" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_2" ; -"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(xreflambda:SomeStruct); [line 131, column 12]\n n$11=*&xref:SomeStruct& [line 131, column 39]\n n$12=_fun_SomeStruct::SomeStruct(&xreflambda:SomeStruct*,n$11:SomeStruct&) [line 131, column 39]\n " shape="box"] + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_3" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_4" ; +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_4" [label="4: Return Stmt \n *&return:int=n$1 [line 134, column 3]\n _=*&f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12 [line 134, column 12]\n n$3=_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::~(&f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12*) injected [line 134, column 12]\n _=*&x:SomeStruct [line 134, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 134, column 12]\n " shape="box"] - "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_4" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_7" ; -"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_5" [label="5: DeclStmt \n VARIABLE_DECLARED(xlambda:SomeStruct); [line 131, column 12]\n n$14=_fun_SomeStruct::SomeStruct(&xlambda:SomeStruct*,&x:SomeStruct&) [line 131, column 23]\n " shape="box"] + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_4" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_2" ; +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_5" [label="5: DeclStmt \n VARIABLE_DECLARED(xreflambda:SomeStruct); [line 131, column 12]\n n$11=*&xref:SomeStruct& [line 131, column 39]\n n$12=_fun_SomeStruct::SomeStruct(&xreflambda:SomeStruct*,n$11:SomeStruct&) [line 131, column 39]\n " shape="box"] - "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_5" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_4" ; -"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12); [line 131, column 12]\n " shape="box"] + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_5" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_8" ; +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_6" [label="6: DeclStmt \n VARIABLE_DECLARED(xlambda:SomeStruct); [line 131, column 12]\n n$14=_fun_SomeStruct::SomeStruct(&xlambda:SomeStruct*,&x:SomeStruct&) [line 131, column 23]\n " shape="box"] "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_6" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_5" ; -"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_7" [label="7: DeclStmt \n n$15=*&xlambda:SomeStruct& [line 131, column 12]\n n$13=*&xreflambda:SomeStruct& [line 131, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12=(_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::operator(),([by value]n$15 &xlambda:SomeStruct&),([by value]n$13 &xreflambda:SomeStruct&)) [line 131, column 12]\n " shape="box"] +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_7" [label="7: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12); [line 131, column 12]\n " shape="box"] + + + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_7" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_6" ; +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_8" [label="8: DeclStmt \n n$15=*&xlambda:SomeStruct& [line 131, column 12]\n n$13=*&xreflambda:SomeStruct& [line 131, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12=(_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::operator(),([by value]n$15 &xlambda:SomeStruct&),([by value]n$13 &xreflambda:SomeStruct&)) [line 131, column 12]\n " shape="box"] - "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_7" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_9" ; -"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_8" [label="8: DeclStmt \n VARIABLE_DECLARED(f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12); [line 131, column 3]\n " shape="box"] + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_8" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_10" ; +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_9" [label="9: DeclStmt \n VARIABLE_DECLARED(f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12); [line 131, column 3]\n " shape="box"] - "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_8" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_6" ; -"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_9" [label="9: DeclStmt \n n$16=_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::(&f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12&) [line 131, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12 [line 133, column 3]\n n$9=_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12*) injected [line 133, column 3]\n " shape="box"] + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_9" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_7" ; +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_10" [label="10: DeclStmt \n n$16=_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::(&f:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12&) [line 131, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12 [line 133, column 3]\n n$9=_fun_struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12*) injected [line 133, column 3]\n " shape="box"] - "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_9" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_3" ; -"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_10" [label="10: DeclStmt \n VARIABLE_DECLARED(xref:SomeStruct&); [line 130, column 3]\n *&xref:SomeStruct&=&x [line 130, column 3]\n " shape="box"] + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_10" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_3" ; +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_11" [label="11: DeclStmt \n VARIABLE_DECLARED(xref:SomeStruct&); [line 130, column 3]\n *&xref:SomeStruct&=&x [line 130, column 3]\n " shape="box"] - "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_10" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_8" ; -"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 129, column 3]\n n$17=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 129, column 14]\n " shape="box"] + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_11" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_9" ; +"struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 129, column 3]\n n$17=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 129, column 14]\n " shape="box"] - "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_11" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_10" ; + "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_12" -> "struct_init_capture_by_value#3463451947935606399.b06cb2db506297a6236b8f54f65f87a9_11" ; "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_1" [label="1: Start Capture::capture_this_explicit\nFormals: this:Capture*\nLocals: lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 \n " color=yellow style=filled] @@ -669,10 +733,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_2" [label="2: Exit struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_3" [label="3: Return Stmt \n n$0=*&x:SomeStruct& [line 114, column 33]\n n$1=*n$0.f:int [line 114, column 33]\n n$2=*&xref:SomeStruct& [line 114, column 39]\n n$3=*n$2.f:int [line 114, column 39]\n *&return:int=(n$1 + n$3) [line 114, column 26]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_3" [label="3: Return Stmt \n n$0=*&x:SomeStruct& [line 114, column 33]\n n$1=*n$0.f:int [line 114, column 33]\n n$2=*&xref:SomeStruct& [line 114, column 39]\n n$3=*n$2.f:int [line 114, column 39]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$3) [line 114, column 26]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(2150129997065521100).a616841500faf5cf766ee05bebfd495b_2" ; "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_1" [label="1: Start struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::\nFormals: this:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12* __param_0:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12&\nLocals: \n " color=yellow style=filled] @@ -713,18 +781,22 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_1" [label="1: Start struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::operator()\nFormals: this:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12*\nLocals: \nCaptured: [by ref]x:SomeStruct& [by ref]xref:SomeStruct& \n " color=yellow style=filled] - "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_1" -> "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_4" ; + "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_1" -> "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_5" ; "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_2" [label="2: Exit struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_3" [label="3: Return Stmt \n n$0=*&x:SomeStruct& [line 123, column 12]\n n$1=*n$0.f:int [line 123, column 12]\n *&return:int=n$1 [line 123, column 5]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_3" [label="3: Return Stmt \n n$0=*&x:SomeStruct& [line 123, column 12]\n n$1=*n$0.f:int [line 123, column 12]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_4" [label="4: Return Stmt \n *&return:int=n$1 [line 123, column 5]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_2" ; -"operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_4" [label="4: UnaryOperator \n n$2=*&xref:SomeStruct& [line 122, column 5]\n n$3=*n$2.f:int [line 122, column 5]\n *n$2.f:int=(n$3 + 1) [line 122, column 5]\n " shape="box"] + "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_2" ; +"operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_5" [label="5: UnaryOperator \n n$2=*&xref:SomeStruct& [line 122, column 5]\n n$3=*n$2.f:int [line 122, column 5]\n *n$2.f:int=(n$3 + 1) [line 122, column 5]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_3" ; + "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_5" -> "operator()#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#(9710896582584402087).3e1da6a0d3e429a6201a7347f66f8e41_3" ; "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_1" [label="1: Start struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12::\nFormals: this:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12* __param_0:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12&\nLocals: \n " color=yellow style=filled] @@ -747,10 +819,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_2" [label="2: Exit struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_3" [label="3: Return Stmt \n n$0=*&xlambda:SomeStruct& [line 132, column 12]\n n$1=*n$0.f:int [line 132, column 12]\n n$2=*&xreflambda:SomeStruct& [line 132, column 24]\n n$3=*n$2.f:int [line 132, column 24]\n *&return:int=(n$1 + n$3) [line 132, column 5]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_3" [label="3: Return Stmt \n n$0=*&xlambda:SomeStruct& [line 132, column 12]\n n$1=*n$0.f:int [line 132, column 12]\n n$2=*&xreflambda:SomeStruct& [line 132, column 24]\n n$3=*n$2.f:int [line 132, column 24]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$3) [line 132, column 5]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_2" ; "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_1" [label="1: Start struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::\nFormals: this:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12* __param_0:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12&\nLocals: \n " color=yellow style=filled] @@ -791,18 +867,22 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_1" [label="1: Start struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::operator()\nFormals: this:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12*\nLocals: \nCaptured: [by ref]xlambda:SomeStruct& [by ref]xreflambda:SomeStruct& \n " color=yellow style=filled] - "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_1" -> "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_4" ; + "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_1" -> "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_5" ; "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_2" [label="2: Exit struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_3" [label="3: Return Stmt \n n$0=*&xlambda:SomeStruct& [line 142, column 12]\n n$1=*n$0.f:int [line 142, column 12]\n *&return:int=n$1 [line 142, column 5]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_3" [label="3: Return Stmt \n n$0=*&xlambda:SomeStruct& [line 142, column 12]\n n$1=*n$0.f:int [line 142, column 12]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_4" [label="4: Return Stmt \n *&return:int=n$1 [line 142, column 5]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_2" ; -"operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_4" [label="4: UnaryOperator \n n$2=*&xreflambda:SomeStruct& [line 141, column 5]\n n$3=*n$2.f:int [line 141, column 5]\n *n$2.f:int=(n$3 + 1) [line 141, column 5]\n " shape="box"] + "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_2" ; +"operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_5" [label="5: UnaryOperator \n n$2=*&xreflambda:SomeStruct& [line 141, column 5]\n n$3=*n$2.f:int [line 141, column 5]\n *n$2.f:int=(n$3 + 1) [line 141, column 5]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_3" ; + "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_5" -> "operator()#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#(15005887938914111589).35be5232427f26403761e8e1f9bd2f5f_3" ; "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_1" [label="1: Start struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12::\nFormals: this:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12* __param_0:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12&\nLocals: \n " color=yellow style=filled] @@ -843,10 +923,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_2" [label="2: Exit foo::lambda_shared_lambda_lambda1.cpp:18:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_3" [label="3: Return Stmt \n n$0=*&i:int [line 18, column 31]\n *&i:int=(n$0 + 1) [line 18, column 31]\n n$1=*&i:int [line 18, column 31]\n *&return:int=n$1 [line 18, column 24]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_3" [label="3: Return Stmt \n n$0=*&i:int [line 18, column 31]\n *&i:int=(n$0 + 1) [line 18, column 31]\n n$1=*&i:int [line 18, column 31]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_4" [label="4: Return Stmt \n *&return:int=n$1 [line 18, column 24]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_2" ; "#lambda_shared_lambda_lambda1.cpp:18:12#foo#{2457771116144546786|constexpr}.c00e98ad40878efac6212763d91f37b3_1" [label="1: Start foo::lambda_shared_lambda_lambda1.cpp:18:12::\nFormals: this:foo::lambda_shared_lambda_lambda1.cpp:18:12* __param_0:foo::lambda_shared_lambda_lambda1.cpp:18:12&\nLocals: \n " color=yellow style=filled] @@ -861,10 +945,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_2" [label="2: Exit fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_3" [label="3: Return Stmt \n n$0=*&i:int [line 24, column 31]\n *&i:int=(n$0 + 1) [line 24, column 31]\n *&return:int=n$0 [line 24, column 24]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_3" [label="3: Return Stmt \n n$0=*&i:int [line 24, column 31]\n *&i:int=(n$0 + 1) [line 24, column 31]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_4" [label="4: Return Stmt \n *&return:int=n$0 [line 24, column 24]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_2" ; "#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#{12805486487749307717|constexpr}.5e8e5a47f663bbae0aeb80a4152608e7_1" [label="1: Start fooOK::lambda_shared_lambda_lambda1.cpp:24:12::\nFormals: this:fooOK::lambda_shared_lambda_lambda1.cpp:24:12* __param_0:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&\nLocals: \n " color=yellow style=filled] @@ -879,10 +967,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_2" [label="2: Exit normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_3" [label="3: Return Stmt \n n$0=*&x:int [line 31, column 28]\n n$1=*&y:int [line 31, column 32]\n *&return:int=(n$0 + n$1) [line 31, column 21]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_3" [label="3: Return Stmt \n n$0=*&x:int [line 31, column 28]\n n$1=*&y:int [line 31, column 32]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_4" [label="4: Return Stmt \n *&return:int=(n$0 + n$1) [line 31, column 21]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:36:3#capture_by_ref#(17277454583786497390).328aa336808e9a777a5cd630eb1ef54f_1" [label="1: Start capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator()\nFormals: this:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3*\nLocals: \nCaptured: [by ref]x:int& \n " color=yellow style=filled] @@ -901,10 +993,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_2" [label="2: Exit init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_3" [label="3: Return Stmt \n n$0=*&i:int [line 41, column 29]\n *&return:int=n$0 [line 41, column 22]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_3" [label="3: Return Stmt \n n$0=*&i:int [line 41, column 29]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_4" [label="4: Return Stmt \n *&return:int=n$0 [line 41, column 22]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_1" [label="1: Start init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator()\nFormals: this:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10*\nLocals: \nCaptured: [by value]a:int [by value]b:int [by value]c:int \n " color=yellow style=filled] @@ -912,10 +1008,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_2" [label="2: Exit init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_3" [label="3: Return Stmt \n n$0=*&a:int [line 46, column 43]\n n$1=*&b:int [line 46, column 47]\n n$2=*&c:int [line 46, column 51]\n *&return:int=((n$0 + n$1) + n$2) [line 46, column 36]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_3" [label="3: Return Stmt \n n$0=*&a:int [line 46, column 43]\n n$1=*&b:int [line 46, column 47]\n n$2=*&c:int [line 46, column 51]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_4" [label="4: Return Stmt \n *&return:int=((n$0 + n$1) + n$2) [line 46, column 36]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_1" [label="1: Start Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::operator()\nFormals: this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*\nLocals: \nCaptured: [by ref]this:Capture* \n " color=yellow style=filled] @@ -923,10 +1023,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_2" [label="2: Exit Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 51, column 37]\n *&return:Capture*=n$0 [line 51, column 30]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 51, column 37]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_4" [label="4: Return Stmt \n *&return:Capture*=n$0 [line 51, column 30]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_2" ; "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_1" [label="1: Start Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::\nFormals: this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19* __param_0:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19&\nLocals: \n " color=yellow style=filled] @@ -963,10 +1067,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_2" [label="2: Exit Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 61, column 34]\n *&return:Capture*=n$0 [line 61, column 27]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 61, column 34]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_4" [label="4: Return Stmt \n *&return:Capture*=n$0 [line 61, column 27]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_2" ; "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_1" [label="1: Start Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::\nFormals: this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19* __param_0:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19&\nLocals: \n " color=yellow style=filled] @@ -985,10 +1093,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_2" [label="2: Exit Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 65, column 34]\n *&return:Capture*=n$0 [line 65, column 27]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 65, column 34]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_4" [label="4: Return Stmt \n *&return:Capture*=n$0 [line 65, column 27]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_2" ; "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_1" [label="1: Start Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::\nFormals: this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19* __param_0:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19&\nLocals: \n " color=yellow style=filled] @@ -1007,10 +1119,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_2" [label="2: Exit struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_3" [label="3: Return Stmt \n n$0=*&x:SomeStruct& [line 77, column 30]\n n$1=*n$0.f:int [line 77, column 30]\n n$2=*&y:SomeStruct& [line 77, column 36]\n n$3=*n$2.f:int [line 77, column 36]\n *&return:int=(n$1 + n$3) [line 77, column 23]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_3" [label="3: Return Stmt \n n$0=*&x:SomeStruct& [line 77, column 30]\n n$1=*n$0.f:int [line 77, column 30]\n n$2=*&y:SomeStruct& [line 77, column 36]\n n$3=*n$2.f:int [line 77, column 36]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$3) [line 77, column 23]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_2" ; "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_1" [label="1: Start struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::\nFormals: this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* __param_0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12&\nLocals: \n " color=yellow style=filled] @@ -1055,10 +1171,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_2" [label="2: Exit ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_3" [label="3: Return Stmt \n n$0=*&xref:int [line 84, column 30]\n *&return:int=(n$0 + 1) [line 84, column 23]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_3" [label="3: Return Stmt \n n$0=*&xref:int [line 84, column 30]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_4" [label="4: Return Stmt \n *&return:int=(n$0 + 1) [line 84, column 23]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#(10949488819111122211).ac192604b14c602015d6f44a47207c1b_2" ; "#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_1" [label="1: Start ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12::\nFormals: this:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12* __param_0:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12&\nLocals: \n " color=yellow style=filled] @@ -1077,10 +1197,14 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_2" [label="2: Exit ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_3" [label="3: Return Stmt \n n$0=*&xlambda:int [line 92, column 40]\n *&return:int=(n$0 + 1) [line 92, column 33]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_3" [label="3: Return Stmt \n n$0=*&xlambda:int [line 92, column 40]\n " shape="box"] - "operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_2" ; + "operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_4" [label="4: Return Stmt \n *&return:int=(n$0 + 1) [line 92, column 33]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_4" -> "operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_2" ; "#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_1" [label="1: Start ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::\nFormals: this:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12* __param_0:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12&\nLocals: \n " color=yellow style=filled] @@ -1095,18 +1219,22 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_1" [label="1: Start bar::lambda_shared_lambda_lambda1.cpp:9:15::operator()\nFormals: this:bar::lambda_shared_lambda_lambda1.cpp:9:15*\nLocals: i:int \n " color=yellow style=filled] - "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_1" -> "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_4" ; + "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_1" -> "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_5" ; "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_2" [label="2: Exit bar::lambda_shared_lambda_lambda1.cpp:9:15::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" [label="3: Return Stmt \n n$0=*&i:int [line 11, column 12]\n *&return:int=n$0 [line 11, column 5]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" [label="3: Return Stmt \n n$0=*&i:int [line 11, column 12]\n " shape="box"] + + + "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_4" ; +"operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_4" [label="4: Return Stmt \n *&return:int=n$0 [line 11, column 5]\n " shape="box"] - "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 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_2" ; +"operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_5" [label="5: 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" ; + "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_5" -> "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" ; "#lambda_shared_lambda_lambda1.cpp:9:15#bar#{14892892509482509619|constexpr}.5bfcda53520c9b0fd7d96e5fa8d9b7fe_1" [label="1: Start bar::lambda_shared_lambda_lambda1.cpp:9:15::\nFormals: this:bar::lambda_shared_lambda_lambda1.cpp:9:15* __param_0:bar::lambda_shared_lambda_lambda1.cpp:9:15&\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot index 7365b3e68..ef79749da 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_2" [label="2: Exit pass_by_val::decltype_by_ref \n " color=yellow style=filled] -"decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 38, column 58]\n n$1=*n$0.x:int [line 38, column 58]\n n$2=*&p:pass_by_val::PlainStruct& [line 38, column 66]\n n$3=*n$2.y:int* [line 38, column 65]\n n$4=*n$3:int [line 38, column 64]\n *&return:int=(n$1 + n$4) [line 38, column 51]\n " shape="box"] +"decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 38, column 58]\n n$1=*n$0.x:int [line 38, column 58]\n n$2=*&p:pass_by_val::PlainStruct& [line 38, column 66]\n n$3=*n$2.y:int* [line 38, column 65]\n n$4=*n$3:int [line 38, column 64]\n " shape="box"] - "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_3" -> "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_2" ; + "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_3" -> "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_4" ; +"decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$4) [line 38, column 51]\n " shape="box"] + + + "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_4" -> "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_2" ; "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_1" [label="1: Start pass_by_val::decltype_by_val\nFormals: p:pass_by_val::PlainStruct&\nLocals: \n " color=yellow style=filled] @@ -18,10 +22,14 @@ digraph cfg { "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_2" [label="2: Exit pass_by_val::decltype_by_val \n " color=yellow style=filled] -"decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 36, column 56]\n n$1=*n$0.x:int [line 36, column 56]\n n$2=*&p:pass_by_val::PlainStruct& [line 36, column 64]\n n$3=*n$2.y:int* [line 36, column 63]\n n$4=*n$3:int [line 36, column 62]\n *&return:int=(n$1 + n$4) [line 36, column 49]\n " shape="box"] +"decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 36, column 56]\n n$1=*n$0.x:int [line 36, column 56]\n n$2=*&p:pass_by_val::PlainStruct& [line 36, column 64]\n n$3=*n$2.y:int* [line 36, column 63]\n n$4=*n$3:int [line 36, column 62]\n " shape="box"] + + + "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_3" -> "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_4" ; +"decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$4) [line 36, column 49]\n " shape="box"] - "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_3" -> "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_2" ; + "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_4" -> "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_2" ; "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_1" [label="1: Start pass_by_val::dependent_by_ref\nFormals: p:pass_by_val::PlainStruct const &\nLocals: \n " color=yellow style=filled] @@ -29,10 +37,14 @@ digraph cfg { "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_2" [label="2: Exit pass_by_val::dependent_by_ref \n " color=yellow style=filled] -"dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct const & [line 48, column 65]\n n$1=*n$0.x:int [line 48, column 65]\n n$2=*&p:pass_by_val::PlainStruct const & [line 48, column 73]\n n$3=*n$2.y:int* [line 48, column 72]\n n$4=*n$3:int [line 48, column 71]\n *&return:int=(n$1 + n$4) [line 48, column 58]\n " shape="box"] +"dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct const & [line 48, column 65]\n n$1=*n$0.x:int [line 48, column 65]\n n$2=*&p:pass_by_val::PlainStruct const & [line 48, column 73]\n n$3=*n$2.y:int* [line 48, column 72]\n n$4=*n$3:int [line 48, column 71]\n " shape="box"] - "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_3" -> "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_2" ; + "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_3" -> "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_4" ; +"dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$4) [line 48, column 58]\n " shape="box"] + + + "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_4" -> "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_2" ; "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_1" [label="1: Start pass_by_val::dependent_by_val\nFormals: p:pass_by_val::PlainStruct&\nLocals: \n " color=yellow style=filled] @@ -40,10 +52,14 @@ digraph cfg { "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_2" [label="2: Exit pass_by_val::dependent_by_val \n " color=yellow style=filled] -"dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 47, column 58]\n n$1=*n$0.x:int [line 47, column 58]\n n$2=*&p:pass_by_val::PlainStruct& [line 47, column 66]\n n$3=*n$2.y:int* [line 47, column 65]\n n$4=*n$3:int [line 47, column 64]\n *&return:int=(n$1 + n$4) [line 47, column 51]\n " shape="box"] +"dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 47, column 58]\n n$1=*n$0.x:int [line 47, column 58]\n n$2=*&p:pass_by_val::PlainStruct& [line 47, column 66]\n n$3=*n$2.y:int* [line 47, column 65]\n n$4=*n$3:int [line 47, column 64]\n " shape="box"] + + + "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_3" -> "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_4" ; +"dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$4) [line 47, column 51]\n " shape="box"] - "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_3" -> "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_2" ; + "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_4" -> "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_2" ; "dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_1" [label="1: Start __infer_globals_initializer_pass_by_val::dummy_struct\nFormals: \nLocals: \n " color=yellow style=filled] @@ -62,10 +78,14 @@ digraph cfg { "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_2" [label="2: Exit std::forward \n " color=yellow style=filled] -"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2289, column 31]\n *&return:int&=n$0 [line 2289, column 5]\n " shape="box"] +"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2289, column 31]\n " shape="box"] - "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" -> "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_2" ; + "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" -> "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_4" ; +"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_4" [label="4: Return Stmt \n *&return:int&=n$0 [line 2289, column 5]\n " shape="box"] + + + "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_4" -> "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_2" ; "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_1" [label="1: Start std::forward\nFormals: __t:int&\nLocals: \n " color=yellow style=filled] @@ -73,29 +93,41 @@ digraph cfg { "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_2" [label="2: Exit std::forward \n " color=yellow style=filled] -"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2289, column 31]\n *&return:int&=n$0 [line 2289, column 5]\n " shape="box"] +"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2289, column 31]\n " shape="box"] + + + "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" -> "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_4" ; +"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_4" [label="4: Return Stmt \n *&return:int&=n$0 [line 2289, column 5]\n " shape="box"] - "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" -> "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_2" ; + "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_4" -> "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_2" ; "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_1" [label="1: Start pass_by_val::make_id\nFormals: args:int& args:int& args:int& __return_param:pass_by_val::Id*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id \n " color=yellow style=filled] - "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_1" -> "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_1" -> "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_4" ; "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_2" [label="2: Exit pass_by_val::make_id \n " color=yellow style=filled] "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 59, column 10]\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=*n$6:int [line 59, column 16]\n n$8=*&args:int& [line 59, column 35]\n n$9=_fun_std::forward(n$8:int&) [line 59, column 16]\n n$10=*&args:int& [line 59, column 35]\n n$11=_fun_std::forward(n$10:int&) [line 59, column 16]\n n$12=_fun_pass_by_val::Id::Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*,n$7:int,n$9:int&,n$11:int&) [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_4" ; -"make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_4" [label="4: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 59, column 3]\n n$13=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id [line 59, column 43]\n n$3=_fun_pass_by_val::Id::~Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) injected [line 59, column 43]\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_5" ; +"make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_4" [label="4: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 59, column 3]\n " shape="box"] + + + "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_4" -> "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_5" [label="5: Return Stmt \n n$13=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id [line 59, column 43]\n n$3=_fun_pass_by_val::Id::~Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) injected [line 59, column 43]\n " shape="box"] + + + "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_5" -> "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_6" ; +"make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_6" [label="6: Return Stmt \n " shape="box"] - "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_4" -> "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_2" ; + "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_6" -> "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_2" ; "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_1" [label="1: Start pass_by_val::perfect_forwarding_by_ref\nFormals: __return_param:pass_by_val::Id*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$2:int 0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id b:int a:int \n " color=yellow style=filled] - "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_1" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_8" ; + "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_1" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_10" ; "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 " color=yellow style=filled] @@ -110,19 +142,27 @@ digraph cfg { "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_5" [label="5: DeclStmt \n n$7=_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 " 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_6" ; -"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_6" [label="6: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 64, column 3]\n n$8=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id [line 64, column 30]\n n$4=_fun_pass_by_val::Id::~Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) injected [line 64, column 30]\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_7" ; +"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_6" [label="6: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 64, column 3]\n " shape="box"] - "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_6" -> "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_7" [label="7: 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_6" -> "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_7" [label="7: Return Stmt \n n$8=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id [line 64, column 30]\n n$4=_fun_pass_by_val::Id::~Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) injected [line 64, column 30]\n " shape="box"] - "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_7" -> "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_8" [label="8: 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_7" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_8" ; +"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_8" [label="8: Return Stmt \n " shape="box"] - "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_8" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_7" ; + "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_8" -> "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_9" [label="9: 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_9" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_6" ; +"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_10" [label="10: 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_10" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_9" ; "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_1" [label="1: Start pass_by_val::plain_struct_by_ref\nFormals: lref:pass_by_val::PlainStruct& rref:pass_by_val::PlainStruct& ptr:pass_by_val::PlainStruct*\nLocals: \n " color=yellow style=filled] @@ -130,10 +170,14 @@ digraph cfg { "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_2" [label="2: Exit pass_by_val::plain_struct_by_ref \n " color=yellow style=filled] -"plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_3" [label="3: Return Stmt \n n$0=*&lref:pass_by_val::PlainStruct& [line 21, column 10]\n n$1=*n$0.x:int [line 21, column 10]\n n$2=*&rref:pass_by_val::PlainStruct& [line 21, column 19]\n n$3=*n$2.x:int [line 21, column 19]\n n$4=*&ptr:pass_by_val::PlainStruct* [line 21, column 28]\n n$5=*n$4.x:int [line 21, column 28]\n *&return:int=((n$1 + n$3) + n$5) [line 21, column 3]\n " shape="box"] +"plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_3" [label="3: Return Stmt \n n$0=*&lref:pass_by_val::PlainStruct& [line 21, column 10]\n n$1=*n$0.x:int [line 21, column 10]\n n$2=*&rref:pass_by_val::PlainStruct& [line 21, column 19]\n n$3=*n$2.x:int [line 21, column 19]\n n$4=*&ptr:pass_by_val::PlainStruct* [line 21, column 28]\n n$5=*n$4.x:int [line 21, column 28]\n " shape="box"] - "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_3" -> "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_2" ; + "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_3" -> "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_4" ; +"plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_4" [label="4: Return Stmt \n *&return:int=((n$1 + n$3) + n$5) [line 21, column 3]\n " shape="box"] + + + "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_4" -> "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_2" ; "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_1" [label="1: Start pass_by_val::plain_struct_by_val\nFormals: p:pass_by_val::PlainStruct&\nLocals: \n " color=yellow style=filled] @@ -141,10 +185,14 @@ digraph cfg { "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_2" [label="2: Exit pass_by_val::plain_struct_by_val \n " color=yellow style=filled] -"plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 17, column 49]\n n$1=*n$0.x:int [line 17, column 49]\n n$2=*&p:pass_by_val::PlainStruct& [line 17, column 57]\n n$3=*n$2.y:int* [line 17, column 56]\n n$4=*n$3:int [line 17, column 55]\n *&return:int=(n$1 + n$4) [line 17, column 42]\n " shape="box"] +"plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 17, column 49]\n n$1=*n$0.x:int [line 17, column 49]\n n$2=*&p:pass_by_val::PlainStruct& [line 17, column 57]\n n$3=*n$2.y:int* [line 17, column 56]\n n$4=*n$3:int [line 17, column 55]\n " shape="box"] + + + "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_3" -> "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_4" ; +"plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$4) [line 17, column 42]\n " shape="box"] - "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_3" -> "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_2" ; + "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_4" -> "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_2" ; "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_1" [label="1: Start pass_by_val::to_double\nFormals: x:int\nLocals: \n " color=yellow style=filled] @@ -152,10 +200,14 @@ digraph cfg { "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_2" [label="2: Exit pass_by_val::to_double \n " color=yellow style=filled] -"to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_3" [label="3: Return Stmt \n n$0=*&x:int [line 50, column 34]\n *&return:double=n$0 [line 50, column 27]\n " shape="box"] +"to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_3" [label="3: Return Stmt \n n$0=*&x:int [line 50, column 34]\n " shape="box"] - "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_3" -> "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_2" ; + "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_3" -> "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_4" ; +"to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_4" [label="4: Return Stmt \n *&return:double=n$0 [line 50, column 27]\n " shape="box"] + + + "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_4" -> "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_2" ; "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_1" [label="1: Start pass_by_val::tricky_dependent_by_val\nFormals: t:double\nLocals: \n " color=yellow style=filled] @@ -163,10 +215,14 @@ digraph cfg { "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_2" [label="2: Exit pass_by_val::tricky_dependent_by_val \n " color=yellow style=filled] -"tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_3" [label="3: Return Stmt \n n$0=*&t:double [line 55, column 62]\n *&return:double=n$0 [line 55, column 55]\n " shape="box"] +"tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_3" [label="3: Return Stmt \n n$0=*&t:double [line 55, column 62]\n " shape="box"] + + + "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_3" -> "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_4" ; +"tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_4" [label="4: Return Stmt \n *&return:double=n$0 [line 55, column 55]\n " shape="box"] - "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_3" -> "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_2" ; + "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_4" -> "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_2" ; "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_1" [label="1: Start pass_by_val::type_alias_by_ref\nFormals: p1:pass_by_val::PlainStruct* p2:pass_by_val::PlainStruct const *\nLocals: \n " color=yellow style=filled] @@ -174,10 +230,14 @@ digraph cfg { "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_2" [label="2: Exit pass_by_val::type_alias_by_ref \n " color=yellow style=filled] -"type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_3" [label="3: Return Stmt \n n$0=*&p1:pass_by_val::PlainStruct* [line 33, column 10]\n n$1=*n$0.x:int [line 33, column 10]\n n$2=*&p2:pass_by_val::PlainStruct const * [line 33, column 18]\n n$3=*n$2.x:int [line 33, column 18]\n *&return:int=(n$1 + n$3) [line 33, column 3]\n " shape="box"] +"type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_3" [label="3: Return Stmt \n n$0=*&p1:pass_by_val::PlainStruct* [line 33, column 10]\n n$1=*n$0.x:int [line 33, column 10]\n n$2=*&p2:pass_by_val::PlainStruct const * [line 33, column 18]\n n$3=*n$2.x:int [line 33, column 18]\n " shape="box"] - "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_3" -> "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_2" ; + "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_3" -> "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_4" ; +"type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_4" [label="4: Return Stmt \n *&return:int=(n$1 + n$3) [line 33, column 3]\n " shape="box"] + + + "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_4" -> "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_2" ; "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_1" [label="1: Start pass_by_val::type_alias_by_val\nFormals: p1:pass_by_val::PlainStruct& p2:pass_by_val::PlainStruct&\nLocals: 0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct 0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct \n " color=yellow style=filled] @@ -185,10 +245,14 @@ digraph cfg { "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_2" [label="2: Exit pass_by_val::type_alias_by_val \n " color=yellow style=filled] -"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" [label="3: Return Stmt \n n$1=*&p1:pass_by_val::PlainStruct& [line 30, column 30]\n n$2=_fun_pass_by_val::PlainStruct::PlainStruct(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct*,n$1:pass_by_val::PlainStruct&) [line 30, column 30]\n n$3=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct) [line 30, column 10]\n n$5=*&p2:pass_by_val::PlainStruct& [line 30, column 56]\n n$6=_fun_pass_by_val::PlainStruct::PlainStruct(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct*,n$5:pass_by_val::PlainStruct&) [line 30, column 56]\n n$7=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct) [line 30, column 36]\n *&return:int=(n$3 + n$7) [line 30, column 3]\n " shape="box"] +"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" [label="3: Return Stmt \n n$1=*&p1:pass_by_val::PlainStruct& [line 30, column 30]\n n$2=_fun_pass_by_val::PlainStruct::PlainStruct(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct*,n$1:pass_by_val::PlainStruct&) [line 30, column 30]\n n$3=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct) [line 30, column 10]\n n$5=*&p2:pass_by_val::PlainStruct& [line 30, column 56]\n n$6=_fun_pass_by_val::PlainStruct::PlainStruct(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct*,n$5:pass_by_val::PlainStruct&) [line 30, column 56]\n n$7=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct) [line 30, column 36]\n " shape="box"] + + + "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" -> "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_4" ; +"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_4" [label="4: Return Stmt \n *&return:int=(n$3 + n$7) [line 30, column 3]\n " shape="box"] - "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" -> "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_2" ; + "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_4" -> "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_2" ; "Id#Id#pass_by_val#{3384099991783983184}.e286af060b6cead08a43f9654ad715c7_1" [label="1: Start pass_by_val::Id::Id\nFormals: this:pass_by_val::Id* __param_0:int __param_1:int& __param_2:int&\nLocals: \n " color=yellow style=filled] 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 96adb09ef..88f89661e 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot @@ -3,127 +3,151 @@ digraph cfg { "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_1" [label="1: Start conversion_operator::branch_div0\nFormals: \nLocals: v:int x:conversion_operator::X \n " color=yellow style=filled] - "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_1" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" ; + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_1" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_12" ; "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" [label="2: Exit conversion_operator::branch_div0 \n " color=yellow style=filled] -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 38, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 38, column 10]\n *&return:int=n$1 [line 38, column 3]\n _=*&x:conversion_operator::X [line 38, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 38, column 10]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 38, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 38, column 10]\n " shape="box"] - "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" [label="4: + \n " ] + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" ; +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" [label="4: Return Stmt \n *&return:int=n$1 [line 38, column 3]\n _=*&x:conversion_operator::X [line 38, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 38, column 10]\n " shape="box"] - "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 34, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 34, column 7]\n " shape="box"] + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" ; +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" [label="5: + \n " ] - "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" ; - "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" [label="6: Prune (true branch, if) \n PRUNE(n$6, true); [line 34, column 7]\n " shape="invhouse"] + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" ; +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" [label="6: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 34, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 34, column 7]\n " shape="box"] - "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" [label="7: Prune (false branch, if) \n PRUNE(!n$6, false); [line 34, column 7]\n " shape="invhouse"] + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" ; + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" ; +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" [label="7: Prune (true branch, if) \n PRUNE(n$6, true); [line 34, column 7]\n " shape="invhouse"] - "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" [label="8: Return Stmt \n n$7=*&v:int [line 36, column 16]\n *&return:int=(1 / n$7) [line 36, column 5]\n _=*&x:conversion_operator::X [line 36, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 36, column 16]\n " shape="box"] + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_11" ; +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" [label="8: Prune (false branch, if) \n PRUNE(!n$6, false); [line 34, column 7]\n " shape="invhouse"] - "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 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 " shape="box"] + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" ; +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" [label="9: Return Stmt \n n$7=*&v:int [line 36, column 16]\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 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 " shape="box"] + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" ; +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" [label="10: Return Stmt \n *&return:int=(1 / n$7) [line 36, column 5]\n _=*&x:conversion_operator::X [line 36, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 36, column 16]\n " shape="box"] - "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" ; + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" ; +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_11" [label="11: 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 " shape="box"] + + + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_11" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" ; +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_12" [label="12: 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 " shape="box"] + + + "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_12" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" ; "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_1" [label="1: Start conversion_operator::branch_div1\nFormals: \nLocals: v:int x:conversion_operator::X \n " color=yellow style=filled] - "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_1" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" ; + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_1" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_12" ; "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" [label="2: Exit conversion_operator::branch_div1 \n " color=yellow style=filled] -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 67, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 67, column 10]\n *&return:int=n$1 [line 67, column 3]\n _=*&x:conversion_operator::X [line 67, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 67, column 10]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 67, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 67, column 10]\n " shape="box"] + + + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" ; +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" [label="4: Return Stmt \n *&return:int=n$1 [line 67, column 3]\n _=*&x:conversion_operator::X [line 67, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 67, column 10]\n " shape="box"] - "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" [label="4: + \n " ] + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" ; +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" [label="5: + \n " ] - "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 63, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 63, column 7]\n " shape="box"] + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" ; +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" [label="6: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 63, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 63, column 7]\n " shape="box"] - "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" ; - "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" [label="6: Prune (true branch, if) \n PRUNE(n$6, true); [line 63, column 7]\n " shape="invhouse"] + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" ; + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" ; +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" [label="7: Prune (true branch, if) \n PRUNE(n$6, true); [line 63, column 7]\n " shape="invhouse"] - "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$6, false); [line 63, column 7]\n " shape="invhouse"] + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_11" ; +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" [label="8: Prune (false branch, if) \n PRUNE(!n$6, false); [line 63, column 7]\n " shape="invhouse"] - "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" [label="8: Return Stmt \n n$7=*&v:int [line 65, column 16]\n *&return:int=(1 / n$7) [line 65, column 5]\n _=*&x:conversion_operator::X [line 65, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 65, column 16]\n " shape="box"] + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" ; +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" [label="9: Return Stmt \n n$7=*&v:int [line 65, column 16]\n " shape="box"] - "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" [label="9: DeclStmt \n 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 " shape="box"] + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" ; +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" [label="10: Return Stmt \n *&return:int=(1 / n$7) [line 65, column 5]\n _=*&x:conversion_operator::X [line 65, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 65, column 16]\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 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 " shape="box"] + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" ; +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_11" [label="11: 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 " shape="box"] - "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" ; + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_11" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" ; +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_12" [label="12: 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 " shape="box"] + + + "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_12" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" ; "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_1" [label="1: Start conversion_operator::branch_no_div\nFormals: \nLocals: v:int x:conversion_operator::X \n " color=yellow style=filled] - "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_1" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" ; + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_1" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_12" ; "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" [label="2: Exit conversion_operator::branch_no_div \n " color=yellow style=filled] -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 58, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 58, column 10]\n *&return:int=n$1 [line 58, column 3]\n _=*&x:conversion_operator::X [line 58, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 58, column 10]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 58, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 58, column 10]\n " shape="box"] + + + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" ; +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" [label="4: Return Stmt \n *&return:int=n$1 [line 58, column 3]\n _=*&x:conversion_operator::X [line 58, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 58, column 10]\n " shape="box"] + + + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" ; +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" [label="5: + \n " ] - "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" [label="4: + \n " ] + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" ; +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" [label="6: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 54, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 54, column 7]\n " shape="box"] - "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 54, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 54, column 7]\n " shape="box"] + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" ; + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" ; +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" [label="7: Prune (true branch, if) \n PRUNE(n$6, true); [line 54, column 7]\n " shape="invhouse"] - "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" ; - "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" [label="6: Prune (true branch, if) \n PRUNE(n$6, true); [line 54, column 7]\n " shape="invhouse"] + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_11" ; +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" [label="8: Prune (false branch, if) \n PRUNE(!n$6, false); [line 54, column 7]\n " shape="invhouse"] - "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" [label="7: Prune (false branch, if) \n PRUNE(!n$6, false); [line 54, column 7]\n " shape="invhouse"] + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" ; +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" [label="9: Return Stmt \n n$7=*&v:int [line 56, column 16]\n " shape="box"] - "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" [label="8: Return Stmt \n n$7=*&v:int [line 56, column 16]\n *&return:int=(1 / n$7) [line 56, column 5]\n _=*&x:conversion_operator::X [line 56, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 56, column 16]\n " shape="box"] + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" ; +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" [label="10: Return Stmt \n *&return:int=(1 / n$7) [line 56, column 5]\n _=*&x:conversion_operator::X [line 56, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 56, column 16]\n " shape="box"] - "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" [label="9: DeclStmt \n 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 " shape="box"] + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" ; +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_11" [label="11: 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 " 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 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 " shape="box"] + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_11" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" ; +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_12" [label="12: 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 " shape="box"] - "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" ; + "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_12" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" ; "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$14:conversion_operator::X const 0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X v:int 0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const 0$?%__sil_tmpSIL_materialize_temp__n$22: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_22" ; + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_1" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_24" ; "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" [label="2: Exit conversion_operator::y_branch_div0 \n " color=yellow style=filled] @@ -139,75 +163,83 @@ digraph cfg { "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" [label="6: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 10]\n n$12=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X&) [line 49, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const [line 49, column 13]\n n$3=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *) injected [line 49, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 13]\n n$5=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X*) injected [line 49, column 13]\n *&return:int=n$12 [line 49, column 3]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" [label="6: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 10]\n n$12=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X&) [line 49, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const [line 49, column 13]\n n$3=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *) injected [line 49, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 13]\n n$5=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X*) injected [line 49, column 13]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" [label="7: + \n " ] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" [label="7: Return Stmt \n *&return:int=n$12 [line 49, column 3]\n " shape="box"] - "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: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X const ); [line 45, column 10]\n _=*&y:conversion_operator::Y [line 45, column 10]\n n$17=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X*) assign_last [line 45, column 10]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" [label="8: + \n " ] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_10" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X); [line 45, column 7]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_4" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X const ); [line 45, column 10]\n _=*&y:conversion_operator::Y [line 45, column 10]\n n$17=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X*) assign_last [line 45, column 10]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_10" [label="10: DeclStmt \n n$18=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X const &) [line 45, column 7]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_10" [label="10: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X); [line 45, column 7]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_10" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" [label="11: Call _fun_conversion_operator::X::operator_bool \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X [line 45, column 7]\n n$20=_fun_conversion_operator::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X&) [line 45, column 7]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_10" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" [label="11: DeclStmt \n n$18=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X const &) [line 45, column 7]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" ; - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_13" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" [label="12: Prune (true branch, if) \n PRUNE(n$20, true); [line 45, column 7]\n " shape="invhouse"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" [label="12: Call _fun_conversion_operator::X::operator_bool \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X [line 45, column 7]\n n$20=_fun_conversion_operator::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X&) [line 45, column 7]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_18" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_13" [label="13: Prune (false branch, if) \n PRUNE(!n$20, false); [line 45, column 7]\n " shape="invhouse"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_13" ; + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_14" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_13" [label="13: Prune (true branch, if) \n PRUNE(n$20, true); [line 45, column 7]\n " shape="invhouse"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_13" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_14" [label="14: Return Stmt \n n$21=*&v:int [line 47, column 16]\n *&return:int=(1 / n$21) [line 47, column 5]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_13" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_20" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_14" [label="14: Prune (false branch, if) \n PRUNE(!n$20, false); [line 45, column 7]\n " shape="invhouse"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_14" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_15" [label="15: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const ); [line 46, column 16]\n _=*&y:conversion_operator::Y [line 46, column 16]\n n$31=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X*) assign_last [line 46, column 16]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_14" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_15" [label="15: Return Stmt \n n$21=*&v:int [line 47, column 16]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_15" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_17" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_16" [label="16: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X); [line 46, column 13]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_15" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_16" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_16" [label="16: Return Stmt \n *&return:int=(1 / n$21) [line 47, column 5]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_16" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_15" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_17" [label="17: DeclStmt \n n$32=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const &) [line 46, column 13]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_16" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_17" [label="17: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const ); [line 46, column 16]\n _=*&y:conversion_operator::Y [line 46, column 16]\n n$31=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X*) assign_last [line 46, column 16]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_17" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_19" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_18" [label="18: DeclStmt \n VARIABLE_DECLARED(v:int); [line 46, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_18" [label="18: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X); [line 46, column 13]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_18" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_16" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_19" [label="19: DeclStmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X [line 46, column 13]\n n$34=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X&) [line 46, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const [line 46, column 16]\n n$25=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const *) injected [line 46, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X [line 46, column 16]\n n$27=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X*) injected [line 46, column 16]\n *&v:int=n$34 [line 46, column 5]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_18" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_17" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_19" [label="19: DeclStmt \n n$32=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const &) [line 46, column 13]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_19" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_14" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_20" [label="20: BinaryOperatorStmt: Assign \n *&y.b:int=1 [line 44, column 3]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_19" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_21" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_20" [label="20: DeclStmt \n VARIABLE_DECLARED(v:int); [line 46, column 5]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_20" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_21" [label="21: BinaryOperatorStmt: Assign \n *&y.f:int=0 [line 43, column 3]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_20" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_18" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_21" [label="21: DeclStmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X [line 46, column 13]\n n$34=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X&) [line 46, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const [line 46, column 16]\n n$25=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const *) injected [line 46, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X [line 46, column 16]\n n$27=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X*) injected [line 46, column 16]\n *&v:int=n$34 [line 46, column 5]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_21" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_20" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_22" [label="22: DeclStmt \n VARIABLE_DECLARED(y:conversion_operator::Y); [line 42, column 3]\n n$37=_fun_conversion_operator::Y::Y(&y:conversion_operator::Y*) [line 42, column 5]\n " shape="box"] + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_21" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_15" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_22" [label="22: BinaryOperatorStmt: Assign \n *&y.b:int=1 [line 44, column 3]\n " shape="box"] - "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_22" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_21" ; + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_22" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_10" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_23" [label="23: BinaryOperatorStmt: Assign \n *&y.f:int=0 [line 43, column 3]\n " shape="box"] + + + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_23" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_22" ; +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_24" [label="24: DeclStmt \n VARIABLE_DECLARED(y:conversion_operator::Y); [line 42, column 3]\n n$37=_fun_conversion_operator::Y::Y(&y:conversion_operator::Y*) [line 42, column 5]\n " shape="box"] + + + "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_24" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_23" ; "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_1" [label="1: Start conversion_operator::X::operator_int\nFormals: this:conversion_operator::X*\nLocals: \n " color=yellow style=filled] @@ -215,10 +247,14 @@ digraph cfg { "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_2" [label="2: Exit conversion_operator::X::operator_int \n " color=yellow style=filled] -"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 11, column 27]\n n$1=*n$0.f_:int [line 11, column 27]\n *&return:int=n$1 [line 11, column 20]\n " shape="box"] +"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 11, column 27]\n n$1=*n$0.f_:int [line 11, column 27]\n " shape="box"] + + + "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" -> "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_4" ; +"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_4" [label="4: Return Stmt \n *&return:int=n$1 [line 11, column 20]\n " shape="box"] - "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" -> "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_2" ; + "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_4" -> "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_2" ; "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_1" [label="1: Start conversion_operator::X::operator_bool\nFormals: this:conversion_operator::X*\nLocals: \n " color=yellow style=filled] @@ -226,10 +262,14 @@ digraph cfg { "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_2" [label="2: Exit conversion_operator::X::operator_bool \n " color=yellow style=filled] -"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 12, column 28]\n n$1=*n$0.b_:_Bool [line 12, column 28]\n *&return:_Bool=n$1 [line 12, column 21]\n " shape="box"] +"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 12, column 28]\n n$1=*n$0.b_:_Bool [line 12, column 28]\n " shape="box"] - "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" -> "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_2" ; + "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" -> "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_4" ; +"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_4" [label="4: Return Stmt \n *&return:_Bool=n$1 [line 12, column 21]\n " shape="box"] + + + "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_4" -> "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_2" ; "X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_1" [label="1: Start conversion_operator::X::X\nFormals: this:conversion_operator::X* x:conversion_operator::X const &\nLocals: \n " color=yellow style=filled] @@ -263,18 +303,26 @@ digraph cfg { "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_1" [label="1: Start conversion_operator::Y::operator_X\nFormals: this:conversion_operator::Y* __return_param:conversion_operator::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const \n " color=yellow style=filled] - "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_1" -> "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" ; + "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_1" -> "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_4" ; "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_2" [label="2: Exit conversion_operator::Y::operator_X \n " color=yellow style=filled] "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const ); [line 27, column 25]\n n$5=*&this:conversion_operator::Y* [line 27, column 27]\n n$6=*n$5.f:int [line 27, column 27]\n n$7=*&this:conversion_operator::Y* [line 27, column 30]\n n$8=*n$7.b:int [line 27, column 30]\n n$9=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *,n$6:int,n$8:_Bool) [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_4" ; -"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_4" [label="4: Return Stmt \n n$0=*&__return_param:conversion_operator::X* [line 27, column 18]\n n$10=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const [line 27, column 31]\n n$3=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *) injected [line 27, column 31]\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_5" ; +"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_4" [label="4: Return Stmt \n n$0=*&__return_param:conversion_operator::X* [line 27, column 18]\n " shape="box"] + + + "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_4" -> "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" ; +"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_5" [label="5: Return Stmt \n n$10=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const [line 27, column 31]\n n$3=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *) injected [line 27, column 31]\n " shape="box"] + + + "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_5" -> "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_6" ; +"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_6" [label="6: Return Stmt \n " shape="box"] - "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_4" -> "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_2" ; + "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_6" -> "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_2" ; "Y#Y#conversion_operator#{2209317117193064868}.b5b04122b8822499b024fd96b2c79e26_1" [label="1: Start conversion_operator::Y::Y\nFormals: this:conversion_operator::Y*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/default_parameters.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/default_parameters.cpp.dot index f8f811a68..87d71e0d0 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/default_parameters.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/default_parameters.cpp.dot @@ -26,8 +26,12 @@ digraph cfg { "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_2" [label="2: Exit A::fun_default \n " color=yellow style=filled] -"fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_3" [label="3: Return Stmt \n n$0=*&a:int [line 11, column 59]\n n$1=*&b:int [line 11, column 63]\n n$2=*&c:int [line 11, column 67]\n *&return:int=((n$0 + n$1) + n$2) [line 11, column 52]\n " shape="box"] +"fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_3" [label="3: Return Stmt \n n$0=*&a:int [line 11, column 59]\n n$1=*&b:int [line 11, column 63]\n n$2=*&c:int [line 11, column 67]\n " shape="box"] - "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_3" -> "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_2" ; + "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_3" -> "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_4" ; +"fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_4" [label="4: Return Stmt \n *&return:int=((n$0 + n$1) + n$2) [line 11, column 52]\n " shape="box"] + + + "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_4" -> "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot index 9be674159..6f6265bdc 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot @@ -25,16 +25,20 @@ digraph cfg { "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_1" [label="1: Start A::method\nFormals: this:A*\nLocals: \n " color=yellow style=filled] - "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_1" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" ; + "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_1" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_5" ; "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_2" [label="2: Exit A::method \n " color=yellow style=filled] -"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" [label="3: Return Stmt \n n$0=*&this:A* [line 18, column 10]\n n$1=*n$0.field:int [line 18, column 10]\n *&return:int=n$1 [line 18, column 3]\n " shape="box"] +"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" [label="3: Return Stmt \n n$0=*&this:A* [line 18, column 10]\n n$1=*n$0.field:int [line 18, column 10]\n " shape="box"] - "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_2" ; -"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" [label="4: Call _fun_A::init \n n$2=*&this:A* [line 17, column 3]\n _=*n$2:A [line 17, column 3]\n n$4=_fun_A::init(n$2:A*,10:int) [line 17, column 3]\n " shape="box"] + "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" ; +"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" [label="4: Return Stmt \n *&return:int=n$1 [line 18, column 3]\n " shape="box"] - "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" ; + "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_2" ; +"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_5" [label="5: Call _fun_A::init \n n$2=*&this:A* [line 17, column 3]\n _=*n$2:A [line 17, column 3]\n n$4=_fun_A::init(n$2:A*,10:int) [line 17, column 3]\n " shape="box"] + + + "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_5" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" ; } 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 d9f4e8439..75374db72 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot @@ -18,18 +18,22 @@ digraph cfg { "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_1" [label="1: Start A::fun\nFormals: this:A*\nLocals: c:int \n " color=yellow style=filled] - "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_1" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_4" ; + "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_1" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_5" ; "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_2" [label="2: Exit A::fun \n " color=yellow style=filled] -"fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_3" [label="3: Return Stmt \n n$0=*&c:int [line 17, column 12]\n *&return:int=(n$0 + 1) [line 17, column 5]\n " shape="box"] +"fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_3" [label="3: Return Stmt \n n$0=*&c:int [line 17, column 12]\n " shape="box"] - "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_3" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_2" ; -"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_3" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_4" ; +"fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_4" [label="4: Return Stmt \n *&return:int=(n$0 + 1) [line 17, column 5]\n " shape="box"] - "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_4" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_3" ; + "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_4" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_2" ; +"fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_5" [label="5: 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_5" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_3" ; "fun#AIn#A#(17528145322324410262).de07a32bd66fbc8be90423f331f88c1d_1" [label="1: Start A::AIn::fun\nFormals: this:A::AIn*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/overloading.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/overloading.cpp.dot index c330e387f..135cb41a4 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/overloading.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/overloading.cpp.dot @@ -22,10 +22,14 @@ digraph cfg { "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_2" [label="2: Exit A::fun \n " color=yellow style=filled] -"fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_3" [label="3: Return Stmt \n n$0=*&a:int [line 14, column 42]\n n$1=*&b:int [line 14, column 46]\n n$2=*&c:int [line 14, column 50]\n *&return:int=((n$0 + n$1) + n$2) [line 14, column 35]\n " shape="box"] +"fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_3" [label="3: Return Stmt \n n$0=*&a:int [line 14, column 42]\n n$1=*&b:int [line 14, column 46]\n n$2=*&c:int [line 14, column 50]\n " shape="box"] - "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_3" -> "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_2" ; + "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_3" -> "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_4" ; +"fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_4" [label="4: Return Stmt \n *&return:int=((n$0 + n$1) + n$2) [line 14, column 35]\n " shape="box"] + + + "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_4" -> "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_2" ; "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_1" [label="1: Start A::fun\nFormals: this:A* a:int b:int\nLocals: \n " color=yellow style=filled] @@ -33,8 +37,12 @@ digraph cfg { "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_2" [label="2: Exit A::fun \n " color=yellow style=filled] -"fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 35]\n n$1=*&b:int [line 16, column 39]\n *&return:int=(n$0 - n$1) [line 16, column 28]\n " shape="box"] +"fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 35]\n n$1=*&b:int [line 16, column 39]\n " shape="box"] + + + "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_3" -> "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_4" ; +"fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_4" [label="4: Return Stmt \n *&return:int=(n$0 - n$1) [line 16, column 28]\n " shape="box"] - "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_3" -> "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_2" ; + "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_4" -> "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_2" ; } 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 2fac364e8..ea0f8a684 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot @@ -3,41 +3,53 @@ digraph cfg { "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_1" [label="1: Start test\nFormals: a:A*\nLocals: x:X 0$?%__sil_tmpSIL_materialize_temp__n$4:X \n " color=yellow style=filled] - "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_1" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_5" ; + "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_1" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_6" ; "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" [label="2: Exit test \n " color=yellow style=filled] -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 21, column 14]\n *&return:int=(1 / n$0) [line 21, column 3]\n _=*&x:X [line 21, column 16]\n n$2=_fun_X::~X(&x:X*) injected [line 21, column 16]\n " shape="box"] +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 21, column 14]\n " shape="box"] - "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" ; -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:X); [line 20, column 9]\n n$8=*&a:A* [line 20, column 9]\n _=*n$8:A [line 20, column 9]\n n$11=_fun_A::get(n$8:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) assign_last [line 20, column 9]\n " shape="box"] + "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" ; +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 21, column 3]\n _=*&x:X [line 21, column 16]\n n$2=_fun_X::~X(&x:X*) injected [line 21, column 16]\n " shape="box"] - "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_6" ; -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:X); [line 20, column 3]\n " shape="box"] + "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" ; +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:X); [line 20, column 9]\n n$8=*&a:A* [line 20, column 9]\n _=*n$8:A [line 20, column 9]\n n$11=_fun_A::get(n$8:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) assign_last [line 20, column 9]\n " shape="box"] - "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_5" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" ; -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_6" [label="6: DeclStmt \n n$12=_fun_X::X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:X&) [line 20, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:X [line 20, column 17]\n n$6=_fun_X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) injected [line 20, column 17]\n " shape="box"] + "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_5" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_7" ; +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:X); [line 20, column 3]\n " shape="box"] - "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_6" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" ; + "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_6" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_5" ; +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_7" [label="7: DeclStmt \n n$12=_fun_X::X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:X&) [line 20, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:X [line 20, column 17]\n n$6=_fun_X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) injected [line 20, column 17]\n " shape="box"] + + + "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_7" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" ; "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_1" [label="1: Start A::get\nFormals: this:A* p:int __return_param:X*\nLocals: x:X \n " color=yellow style=filled] - "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_1" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" ; + "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_1" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_6" ; "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_2" [label="2: Exit A::get \n " color=yellow style=filled] -"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 15, column 5]\n n$1=_fun_X::X(n$0:X*,&x:X&) [line 15, column 12]\n _=*&x:X [line 15, column 12]\n n$3=_fun_X::~X(&x:X*) injected [line 15, column 12]\n " shape="box"] +"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 15, column 5]\n " shape="box"] + + + "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" ; +"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" [label="4: Return Stmt \n n$1=_fun_X::X(n$0:X*,&x:X&) [line 15, column 12]\n " shape="box"] + + + "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_5" ; +"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_5" [label="5: Return Stmt \n _=*&x:X [line 15, column 12]\n n$3=_fun_X::~X(&x:X*) injected [line 15, column 12]\n " shape="box"] - "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 VARIABLE_DECLARED(x:X); [line 14, column 5]\n n$5=_fun_X::X(&x:X*) [line 14, column 7]\n " shape="box"] + "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_5" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_2" ; +"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:X); [line 14, column 5]\n n$5=_fun_X::X(&x:X*) [line 14, column 7]\n " shape="box"] - "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" ; + "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_6" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" ; "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_1" [label="1: Start X::X\nFormals: this:X* __param_0:X&\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot index 38331b98d..75a47a985 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot @@ -29,8 +29,12 @@ digraph cfg { "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_2" [label="2: Exit A::fun \n " color=yellow style=filled] -"fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_3" [label="3: Return Stmt \n n$0=*&a:int [line 13, column 32]\n *&return:int=(1 / n$0) [line 13, column 21]\n " shape="box"] +"fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_3" [label="3: Return Stmt \n n$0=*&a:int [line 13, column 32]\n " shape="box"] - "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_3" -> "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_2" ; + "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_3" -> "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_4" ; +"fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 13, column 21]\n " shape="box"] + + + "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_4" -> "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_2" ; } 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 05985d6a4..08e1e3f3e 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot @@ -30,99 +30,115 @@ digraph cfg { "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_1" [label="1: Start poly_area\nFormals: \nLocals: ppoly3:Polygon* poly:Polygon \n " color=yellow style=filled] - "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_1" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" ; + "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_1" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_6" ; "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" [label="2: Exit poly_area \n " color=yellow style=filled] -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" [label="3: Return Stmt \n n$0=*&ppoly3:Polygon* [line 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 " 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 " shape="box"] - "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" ; -"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_3" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" ; +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" [label="4: Return Stmt \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 " shape="box"] - "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" ; -"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 " shape="box"] + "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" ; +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" [label="5: 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_5" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" ; + "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" ; +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_6" [label="6: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 52, column 3]\n n$6=_fun_Polygon::Polygon(&poly:Polygon*) [line 52, column 11]\n " shape="box"] + + + "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_6" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" ; "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_1" [label="1: Start rect_area\nFormals: \nLocals: ppoly1:Polygon* rect:Rectangle \n " color=yellow style=filled] - "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_1" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" ; + "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_1" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_7" ; "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" [label="2: Exit rect_area \n " color=yellow style=filled] -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" [label="3: Return Stmt \n n$0=*&ppoly1:Polygon* [line 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 " 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 " shape="box"] - "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" ; -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" [label="4: Call _fun_Polygon::set_values \n n$6=*&ppoly1:Polygon* [line 39, column 3]\n _=*n$6:Polygon [line 39, column 3]\n n$8=_fun_Polygon::set_values(n$6:Polygon*,4:int,5:int) [line 39, column 3]\n " shape="box"] + "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" ; +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" [label="4: Return Stmt \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 " shape="box"] - "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" ; -"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_4" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" ; +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" [label="5: Call _fun_Polygon::set_values \n n$6=*&ppoly1:Polygon* [line 39, column 3]\n _=*n$6:Polygon [line 39, column 3]\n n$8=_fun_Polygon::set_values(n$6:Polygon*,4:int,5:int) [line 39, column 3]\n " shape="box"] - "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" ; -"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 " shape="box"] + "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" ; +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" [label="6: 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_6" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" ; +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_7" [label="7: DeclStmt \n VARIABLE_DECLARED(rect:Rectangle); [line 37, column 3]\n n$9=_fun_Rectangle::Rectangle(&rect:Rectangle*) [line 37, column 13]\n " shape="box"] + + + "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_7" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" ; "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_1" [label="1: Start tri_area\nFormals: \nLocals: ppoly2:Polygon* poly:Polygon trgl:Triangle \n " color=yellow style=filled] - "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_1" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" ; + "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_1" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_8" ; "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" [label="2: Exit tri_area \n " color=yellow style=filled] -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 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 " 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 " shape="box"] - "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" [label="4: Call _fun_Polygon::set_values \n n$8=*&ppoly2:Polygon* [line 47, column 3]\n _=*n$8:Polygon [line 47, column 3]\n n$10=_fun_Polygon::set_values(n$8:Polygon*,4:int,5:int) [line 47, column 3]\n " shape="box"] + "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" ; +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" [label="4: Return Stmt \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 " shape="box"] - "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" ; -"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_4" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" ; +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" [label="5: Call _fun_Polygon::set_values \n n$8=*&ppoly2:Polygon* [line 47, column 3]\n _=*n$8:Polygon [line 47, column 3]\n n$10=_fun_Polygon::set_values(n$8:Polygon*,4:int,5:int) [line 47, column 3]\n " shape="box"] - "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" ; -"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 " shape="box"] + "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" ; +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" [label="6: 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_6" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" ; -"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 " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" [label="7: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 45, column 3]\n n$11=_fun_Polygon::Polygon(&poly:Polygon*) [line 45, column 11]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" ; +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_8" [label="8: DeclStmt \n VARIABLE_DECLARED(trgl:Triangle); [line 44, column 3]\n n$12=_fun_Triangle::Triangle(&trgl:Triangle*) [line 44, column 12]\n " shape="box"] + + + "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_8" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" ; "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_1" [label="1: Start tri_not_virtual_area\nFormals: \nLocals: ppoly2:Polygon* poly:Polygon trgl:Triangle \n " color=yellow style=filled] - "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_1" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" ; + "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_1" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_8" ; "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" [label="2: Exit tri_not_virtual_area \n " color=yellow style=filled] -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 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 " 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 " shape="box"] - "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" [label="4: Call _fun_Polygon::set_values \n n$8=*&ppoly2:Polygon* [line 61, column 3]\n _=*n$8:Polygon [line 61, column 3]\n n$10=_fun_Polygon::set_values(n$8:Polygon*,4:int,5:int) [line 61, column 3]\n " shape="box"] + "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" ; +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" [label="4: Return Stmt \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 " shape="box"] - "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 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_4" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" ; +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_5" [label="5: Call _fun_Polygon::set_values \n n$8=*&ppoly2:Polygon* [line 61, column 3]\n _=*n$8:Polygon [line 61, column 3]\n n$10=_fun_Polygon::set_values(n$8:Polygon*,4:int,5:int) [line 61, 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 VARIABLE_DECLARED(poly:Polygon); [line 59, column 3]\n n$11=_fun_Polygon::Polygon(&poly:Polygon*) [line 59, column 11]\n " shape="box"] + "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_5" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" ; +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" [label="6: 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_6" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_5" ; -"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 " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" [label="7: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 59, column 3]\n n$11=_fun_Polygon::Polygon(&poly:Polygon*) [line 59, column 11]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" ; +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_8" [label="8: DeclStmt \n VARIABLE_DECLARED(trgl:Triangle); [line 58, column 3]\n n$12=_fun_Triangle::Triangle(&trgl:Triangle*) [line 58, column 12]\n " shape="box"] + + + "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_8" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" ; "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_1" [label="1: Start Polygon::area\nFormals: this:Polygon*\nLocals: \n " color=yellow style=filled] @@ -163,10 +179,14 @@ digraph cfg { "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_2" [label="2: Exit Rectangle::area \n " color=yellow style=filled] -"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" [label="3: Return Stmt \n n$0=*&this:Rectangle* [line 24, column 23]\n n$1=*n$0.width:int [line 24, column 23]\n n$2=*&this:Rectangle* [line 24, column 31]\n n$3=*n$2.height:int [line 24, column 31]\n *&return:int=(n$1 * n$3) [line 24, column 16]\n " shape="box"] +"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" [label="3: Return Stmt \n n$0=*&this:Rectangle* [line 24, column 23]\n n$1=*n$0.width:int [line 24, column 23]\n n$2=*&this:Rectangle* [line 24, column 31]\n n$3=*n$2.height:int [line 24, column 31]\n " shape="box"] + + + "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" -> "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_4" ; +"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_4" [label="4: Return Stmt \n *&return:int=(n$1 * n$3) [line 24, column 16]\n " shape="box"] - "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" -> "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_2" ; + "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_4" -> "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_2" ; "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_1" [label="1: Start Rectangle::Rectangle\nFormals: this:Rectangle*\nLocals: \n " color=yellow style=filled] @@ -181,18 +201,22 @@ digraph cfg { "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_1" [label="1: Start Triangle::area\nFormals: this:Triangle*\nLocals: x:int \n " color=yellow style=filled] - "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_1" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" ; + "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_1" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_5" ; "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_2" [label="2: Exit Triangle::area \n " color=yellow style=filled] -"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" [label="3: Return Stmt \n n$0=*&x:int [line 32, column 12]\n *&return:int=(n$0 - 10) [line 32, column 5]\n " shape="box"] +"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" [label="3: Return Stmt \n n$0=*&x:int [line 32, column 12]\n " shape="box"] + + + "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" ; +"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" [label="4: Return Stmt \n *&return:int=(n$0 - 10) [line 32, column 5]\n " shape="box"] - "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_2" ; -"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 31, column 5]\n n$1=*&this:Triangle* [line 31, column 13]\n n$2=*n$1.width:int [line 31, column 13]\n n$3=*&this:Triangle* [line 31, column 21]\n n$4=*n$3.height:int [line 31, column 21]\n *&x:int=(n$2 * n$4) [line 31, column 5]\n " shape="box"] + "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_2" ; +"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 31, column 5]\n n$1=*&this:Triangle* [line 31, column 13]\n n$2=*n$1.width:int [line 31, column 13]\n n$3=*&this:Triangle* [line 31, column 21]\n n$4=*n$3.height:int [line 31, column 21]\n *&x:int=(n$2 * n$4) [line 31, column 5]\n " shape="box"] - "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" ; + "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_5" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" ; "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_1" [label="1: Start Triangle::Triangle\nFormals: this:Triangle*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot index c0383e75c..95da18d0d 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_2" [label="2: Exit div0_namespace_resolution \n " color=yellow style=filled] -"div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_3" [label="3: Return Stmt \n n$0=_fun_f1::get() [line 22, column 47]\n n$1=_fun_f2::get() [line 22, column 59]\n *&return:int=(1 / (n$0 + n$1)) [line 22, column 35]\n " shape="box"] +"div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_3" [label="3: Return Stmt \n n$0=_fun_f1::get() [line 22, column 47]\n n$1=_fun_f2::get() [line 22, column 59]\n " shape="box"] - "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_3" -> "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_2" ; + "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_3" -> "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_4" ; +"div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_4" [label="4: Return Stmt \n *&return:int=(1 / (n$0 + n$1)) [line 22, column 35]\n " shape="box"] + + + "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_4" -> "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_2" ; "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_1" [label="1: Start div0_using\nFormals: \nLocals: \n " color=yellow style=filled] @@ -18,10 +22,14 @@ digraph cfg { "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_2" [label="2: Exit div0_using \n " color=yellow style=filled] -"div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_3" [label="3: Return Stmt \n n$0=_fun_f1::get0() [line 19, column 14]\n *&return:int=(1 / n$0) [line 19, column 3]\n " shape="box"] +"div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_3" [label="3: Return Stmt \n n$0=_fun_f1::get0() [line 19, column 14]\n " shape="box"] + + + "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_3" -> "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_4" ; +"div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 19, column 3]\n " shape="box"] - "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_3" -> "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_2" ; + "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_4" -> "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_2" ; "get#f1#11182918362941702717.40a87222281cbcdb639beb16ed92bf79_1" [label="1: Start f1::get\nFormals: \nLocals: \n " color=yellow style=filled] @@ -58,18 +66,22 @@ digraph cfg { "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_1" [label="1: Start type_alias_div0\nFormals: \nLocals: x:int \n " color=yellow style=filled] - "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_1" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_4" ; + "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_1" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_5" ; "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_2" [label="2: Exit type_alias_div0 \n " color=yellow style=filled] -"type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" [label="3: Return Stmt \n n$0=*&x:int [line 39, column 14]\n *&return:int=(1 / n$0) [line 39, column 3]\n " shape="box"] +"type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" [label="3: Return Stmt \n n$0=*&x:int [line 39, column 14]\n " shape="box"] - "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_2" ; -"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_3" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_4" ; +"type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 39, column 3]\n " shape="box"] - "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_4" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" ; + "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_4" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_2" ; +"type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_5" [label="5: 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_5" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" ; "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_1" [label="1: Start using_div0\nFormals: \nLocals: \n " color=yellow style=filled] @@ -77,10 +89,14 @@ digraph cfg { "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_2" [label="2: Exit using_div0 \n " color=yellow style=filled] -"using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_3" [label="3: Return Stmt \n n$1=_fun_f3::C::ret_zero() [line 33, column 14]\n *&return:int=(1 / n$1) [line 33, column 3]\n " shape="box"] +"using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_3" [label="3: Return Stmt \n n$1=_fun_f3::C::ret_zero() [line 33, column 14]\n " shape="box"] + + + "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_3" -> "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_4" ; +"using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 33, column 3]\n " shape="box"] - "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_3" -> "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_2" ; + "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_4" -> "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_2" ; "ret_zero#C#f3#(14815103288805165028).4dbfdc84a3e84f15300709ed03f3f5c1_1" [label="1: Start f3::C::ret_zero\nFormals: \nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot index f895ba885..ea4be643e 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot @@ -3,58 +3,70 @@ digraph cfg { "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_1" [label="1: Start div0_namepace_res\nFormals: \nLocals: \n " color=yellow style=filled] - "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_1" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_5" ; + "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_1" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_6" ; "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_2" [label="2: Exit div0_namepace_res \n " color=yellow style=filled] -"div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_3" [label="3: Return Stmt \n n$0=*&#GB$f1::val:int [line 29, column 15]\n n$1=*&#GB$f2::val:int [line 29, column 25]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 29, column 3]\n " shape="box"] +"div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_3" [label="3: Return Stmt \n n$0=*&#GB$f1::val:int [line 29, column 15]\n n$1=*&#GB$f2::val:int [line 29, column 25]\n " shape="box"] - "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_3" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_2" ; -"div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB$f2::val:int=-2 [line 28, column 3]\n " shape="box"] + "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_3" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_4" ; +"div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_4" [label="4: Return Stmt \n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 29, column 3]\n " shape="box"] - "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_4" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_3" ; -"div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB$f1::val:int=1 [line 27, column 3]\n " shape="box"] + "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_4" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_2" ; +"div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB$f2::val:int=-2 [line 28, column 3]\n " shape="box"] - "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_5" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_4" ; + "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_5" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_3" ; +"div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_6" [label="6: BinaryOperatorStmt: Assign \n *&#GB$f1::val:int=1 [line 27, column 3]\n " shape="box"] + + + "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_6" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_5" ; "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_1" [label="1: Start div0_static_field\nFormals: \nLocals: \n " color=yellow style=filled] - "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_1" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_5" ; + "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_1" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_6" ; "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_2" [label="2: Exit div0_static_field \n " color=yellow style=filled] -"div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 35, column 15]\n n$1=*&#GB<>$B::v:int [line 35, column 26]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 35, column 3]\n " shape="box"] +"div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 35, column 15]\n n$1=*&#GB<>$B::v:int [line 35, column 26]\n " shape="box"] + + + "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_3" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_4" ; +"div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_4" [label="4: Return Stmt \n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 35, column 3]\n " shape="box"] - "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_3" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_2" ; -"div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB<>$f1::A::v:int=-2 [line 34, column 3]\n " shape="box"] + "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_4" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_2" ; +"div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB<>$f1::A::v:int=-2 [line 34, column 3]\n " shape="box"] - "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_4" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_3" ; -"div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB<>$B::v:int=1 [line 33, column 3]\n " shape="box"] + "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_5" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_3" ; +"div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_6" [label="6: BinaryOperatorStmt: Assign \n *&#GB<>$B::v:int=1 [line 33, column 3]\n " shape="box"] - "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_5" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_4" ; + "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_6" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_5" ; "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_1" [label="1: Start div0_static_field_member_access\nFormals: a:f1::A* b:C*\nLocals: \n " color=yellow style=filled] - "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_1" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_5" ; + "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_1" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_6" ; "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_2" [label="2: Exit div0_static_field_member_access \n " color=yellow style=filled] -"div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 41, column 15]\n n$1=*&#GB<>$B::v:int [line 41, column 26]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 41, column 3]\n " shape="box"] +"div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 41, column 15]\n n$1=*&#GB<>$B::v:int [line 41, column 26]\n " shape="box"] + + + "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_3" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_4" ; +"div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_4" [label="4: Return Stmt \n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 41, column 3]\n " shape="box"] - "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_3" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_2" ; -"div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_4" [label="4: BinaryOperatorStmt: Assign \n *&#GB<>$B::v:int=-2 [line 40, column 3]\n " shape="box"] + "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_4" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_2" ; +"div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB<>$B::v:int=-2 [line 40, column 3]\n " shape="box"] - "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_4" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_3" ; -"div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_5" [label="5: BinaryOperatorStmt: Assign \n *&#GB<>$f1::A::v:int=1 [line 39, column 3]\n " shape="box"] + "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_5" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_3" ; +"div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_6" [label="6: BinaryOperatorStmt: Assign \n *&#GB<>$f1::A::v:int=1 [line 39, column 3]\n " shape="box"] - "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_5" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_4" ; + "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_6" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_5" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot index e921fe1bd..7712fc5cc 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot @@ -76,10 +76,14 @@ digraph cfg { "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_2" [label="2: Exit bar::value \n " color=yellow style=filled] -"value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_3" [label="3: Return Stmt \n n$0=*&#GB$bar::pi:double [line 28, column 29]\n *&return:double=(2 * n$0) [line 28, column 18]\n " shape="box"] +"value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_3" [label="3: Return Stmt \n n$0=*&#GB$bar::pi:double [line 28, column 29]\n " shape="box"] - "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_3" -> "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_2" ; + "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_3" -> "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_4" ; +"value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_4" [label="4: Return Stmt \n *&return:double=(2 * n$0) [line 28, column 18]\n " shape="box"] + + + "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_4" -> "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_2" ; "value#foo#118977410660901546.9623db3632a56e3cb17951602d147a29_1" [label="1: Start foo::value\nFormals: \nLocals: \n " color=yellow style=filled] 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 6496e0ba7..be3d6b977 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 @@ -49,10 +49,14 @@ digraph cfg { "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_8" ; "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_9" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" [label="13: Return Stmt \n n$1=*&a:int [line 42, column 17]\n *&return:int=(1 / (n$1 - 1)) [line 42, column 5]\n " shape="box"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" [label="13: Return Stmt \n n$1=*&a:int [line 42, column 17]\n " shape="box"] - "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_2" ; + "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_14" ; +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_14" [label="14: Return Stmt \n *&return:int=(1 / (n$1 - 1)) [line 42, column 5]\n " shape="box"] + + + "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_14" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_2" ; "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_1" [label="1: Start function_call_init_div0\nFormals: \nLocals: a:int \n " color=yellow style=filled] @@ -81,10 +85,14 @@ digraph cfg { "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$2=*&a:int [line 36, column 17]\n *&return:int=(1 / (n$2 - 1)) [line 36, column 5]\n " shape="box"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" [label="8: Return Stmt \n n$2=*&a:int [line 36, column 17]\n " shape="box"] + + + "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_9" ; +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_9" [label="9: Return Stmt \n *&return:int=(1 / (n$2 - 1)) [line 36, column 5]\n " shape="box"] - "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_2" ; + "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_9" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_2" ; "get1#13610294053118758587.bb56087449b1c212bd814280133976bb_1" [label="1: Start get1\nFormals: \nLocals: \n " color=yellow style=filled] @@ -99,39 +107,43 @@ digraph cfg { "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_1" [label="1: Start reference_init_div0\nFormals: \nLocals: a:int& r:int \n " color=yellow style=filled] - "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_1" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" ; + "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_1" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_10" ; "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_2" [label="2: Exit reference_init_div0 \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 " shape="box"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" [label="3: Return Stmt \n n$0=*&r:int [line 51, column 14]\n " shape="box"] - "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_2" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" [label="4: + \n " ] + "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" ; +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 51, column 3]\n " shape="box"] - "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" [label="5: Prune (true branch, if) \n n$1=*&a:int& [line 48, column 12]\n n$2=*n$1:int [line 48, column 12]\n PRUNE(n$2, true); [line 48, column 12]\n " shape="invhouse"] + "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_2" ; +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" [label="5: + \n " ] - "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$1=*&a:int& [line 48, column 12]\n n$2=*n$1:int [line 48, column 12]\n PRUNE(!n$2, false); [line 48, column 12]\n " shape="invhouse"] + "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" ; +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" [label="6: Prune (true branch, if) \n n$1=*&a:int& [line 48, column 12]\n n$2=*n$1:int [line 48, column 12]\n PRUNE(n$2, true); [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 VARIABLE_DECLARED(a:int&); [line 48, column 7]\n *&a:int&=&r [line 48, column 7]\n " shape="box"] + "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" ; +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" [label="7: Prune (false branch, if) \n n$1=*&a:int& [line 48, column 12]\n n$2=*n$1:int [line 48, column 12]\n PRUNE(!n$2, false); [line 48, column 12]\n " shape="invhouse"] "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$3=*&a:int& [line 49, column 5]\n *n$3:int=0 [line 49, column 5]\n " shape="box"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" [label="8: 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_8" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" ; -"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_8" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" ; + "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" ; +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" [label="9: BinaryOperatorStmt: Assign \n n$3=*&a:int& [line 49, column 5]\n *n$3:int=0 [line 49, column 5]\n " shape="box"] - "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" ; + "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" ; +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_10" [label="10: 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_10" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" ; "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_1" [label="1: Start simple_inif_elseif_div0\nFormals: \nLocals: a:int b:int \n " color=yellow style=filled] @@ -185,10 +197,14 @@ 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$2=*&a:int [line 28, column 17]\n n$3=*&b:int [line 28, column 21]\n *&return:int=(1 / (n$2 + n$3)) [line 28, column 5]\n " shape="box"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" [label="14: Return Stmt \n n$2=*&a:int [line 28, column 17]\n n$3=*&b:int [line 28, column 21]\n " shape="box"] + + + "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_15" ; +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_15" [label="15: Return Stmt \n *&return:int=(1 / (n$2 + n$3)) [line 28, column 5]\n " shape="box"] - "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_2" ; + "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_15" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_2" ; "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_1" [label="1: Start simple_init_div0\nFormals: \nLocals: a:int \n " color=yellow style=filled] @@ -211,20 +227,28 @@ digraph cfg { "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 15, column 11]\n PRUNE(!n$0, false); [line 15, column 11]\n " shape="invhouse"] - "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" ; + "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_10" ; "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$1=*&a:int [line 16, column 12]\n *&return:int=n$1 [line 16, column 5]\n " shape="box"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_8" [label="8: Return Stmt \n n$1=*&a:int [line 16, column 12]\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$2=*&a:int [line 18, column 16]\n *&return:int=(1 / n$2) [line 18, column 5]\n " shape="box"] + "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_8" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" ; +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" [label="9: Return Stmt \n *&return:int=n$1 [line 16, column 5]\n " shape="box"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_2" ; +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_10" [label="10: Return Stmt \n n$2=*&a:int [line 18, column 16]\n " shape="box"] + + + "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_10" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_11" ; +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_11" [label="11: Return Stmt \n *&return:int=(1 / n$2) [line 18, column 5]\n " shape="box"] + + + "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_11" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_2" ; "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_1" [label="1: Start simple_init_div1\nFormals: \nLocals: a:int \n " color=yellow style=filled] @@ -253,10 +277,14 @@ digraph cfg { "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$1=*&a:int [line 10, column 16]\n *&return:int=(1 / n$1) [line 10, column 5]\n " shape="box"] +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" [label="8: Return Stmt \n n$1=*&a:int [line 10, column 16]\n " shape="box"] - "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_2" ; + "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_9" ; +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_9" [label="9: Return Stmt \n *&return:int=(1 / n$1) [line 10, column 5]\n " shape="box"] + + + "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_9" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_2" ; "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_1" [label="1: Start simple_init_null_deref\nFormals: \nLocals: p:int* \n " color=yellow style=filled] @@ -289,8 +317,12 @@ 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$1=*&p:int* [line 58, column 13]\n n$2=*n$1:int [line 58, column 12]\n *&return:int=n$2 [line 58, column 5]\n " shape="box"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" [label="9: Return Stmt \n n$1=*&p:int* [line 58, column 13]\n n$2=*n$1:int [line 58, column 12]\n " shape="box"] + + + "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_10" ; +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_10" [label="10: Return Stmt \n *&return:int=n$2 [line 58, column 5]\n " shape="box"] - "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_2" ; + "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_10" -> "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 e84120ad7..051ac8b9c 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 @@ -10,48 +10,52 @@ digraph cfg { "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" [label="3: SwitchStmt \n n$0=*&x:int [line 9, column 15]\n " shape="box"] - "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" ; "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" ; + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_14" ; "get#10177141129833125794.403aae26476e3a02c544075e122228e0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 11]\n n$1=*&a:int [line 9, column 19]\n *&x:int=n$1 [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$2=*&x:int [line 16, column 14]\n *&return:int=n$2 [line 16, column 7]\n " shape="box"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" [label="5: Return Stmt \n n$2=*&x:int [line 16, column 14]\n " shape="box"] - "get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_6" [label="6: Return Stmt \n *&return:int=1 [line 14, column 7]\n " shape="box"] + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_6" ; +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_6" [label="6: Return Stmt \n *&return:int=n$2 [line 16, column 7]\n " shape="box"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_6" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" [label="7: Return Stmt \n *&return:int=0 [line 12, column 7]\n " shape="box"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" [label="7: Return Stmt \n *&return:int=1 [line 14, column 7]\n " shape="box"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" [label="8: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 13, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" [label="8: Return Stmt \n *&return:int=0 [line 12, column 7]\n " shape="box"] - "get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_6" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$0 == 2), false); [line 13, column 5]\n " shape="invhouse"] + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" [label="9: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 13, column 5]\n " shape="invhouse"] - "get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" [label="10: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 11, column 5]\n " shape="invhouse"] + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" ; +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$0 == 2), false); [line 13, column 5]\n " shape="invhouse"] - "get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$0 == 1), false); [line 11, column 5]\n " shape="invhouse"] + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" ; +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" [label="11: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 11, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" ; - "get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" [label="12: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 10, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" [label="12: Prune (false branch, switch) \n PRUNE(!(n$0 == 1), false); [line 11, column 5]\n " shape="invhouse"] - "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 10, column 5]\n " shape="invhouse"] + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" ; + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" ; +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" [label="13: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 10, column 5]\n " shape="invhouse"] - "get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" ; - "get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" ; + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" ; +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 10, column 5]\n " shape="invhouse"] + + + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_14" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" ; + "get#10177141129833125794.403aae26476e3a02c544075e122228e0_14" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" ; } 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 3ac44b03e..f64388ffc 100644 --- a/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot @@ -25,18 +25,22 @@ digraph cfg { "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_1" [label="1: Start npe_call\nFormals: \nLocals: x:X* \n " color=yellow style=filled] - "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_1" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_4" ; + "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_1" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_5" ; "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 " 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 " shape="box"] - "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_2" ; -"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_3" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_4" ; +"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_4" [label="4: Return Stmt \n *&return:int=n$2 [line 15, column 3]\n " shape="box"] - "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_4" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" ; + "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_4" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_2" ; +"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_5" [label="5: 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_5" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" ; "npe_call_after_call#8140813350794705532.fd3a6d06275def8a130284a430f22a3d_1" [label="1: Start npe_call_after_call\nFormals: \nLocals: \n " color=yellow style=filled] 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 1a7478149..8c0e95281 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot @@ -37,8 +37,12 @@ digraph cfg { "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" [label="2: Exit X::call \n " color=yellow style=filled] -"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n n$0=*&this:X* [line 10, column 23]\n n$1=*n$0.f:int [line 10, column 23]\n *&return:int=n$1 [line 10, column 16]\n " shape="box"] +"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n n$0=*&this:X* [line 10, column 23]\n n$1=*n$0.f:int [line 10, column 23]\n " shape="box"] - "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" ; + "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_4" ; +"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_4" [label="4: Return Stmt \n *&return:int=n$1 [line 10, column 16]\n " shape="box"] + + + "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_4" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot index a64441d1d..81b85f716 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 @@ -70,10 +70,14 @@ digraph cfg { "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" [label="2: Exit X::call \n " color=yellow style=filled] -"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n n$0=*&this:X* [line 10, column 23]\n n$1=*n$0.f:int [line 10, column 23]\n *&return:int=n$1 [line 10, column 16]\n " shape="box"] +"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n n$0=*&this:X* [line 10, column 23]\n n$1=*n$0.f:int [line 10, column 23]\n " shape="box"] - "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" ; + "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_4" ; +"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_4" [label="4: Return Stmt \n *&return:int=n$1 [line 10, column 16]\n " shape="box"] + + + "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_4" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" ; "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" [label="1: Start X::X\nFormals: this:X*\nLocals: \n " color=yellow style=filled] 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 208d69f18..ec2b78a17 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot @@ -3,327 +3,375 @@ digraph cfg { "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_1" [label="1: Start reference_field::ptr_F_div0\nFormals: \nLocals: r:reference_field::Ptr x:reference_field::X \n " color=yellow style=filled] - "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_1" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" ; + "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_1" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_8" ; "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_2" [label="2: Exit reference_field::ptr_F_div0 \n " color=yellow style=filled] -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X* [line 84, column 14]\n n$1=*n$0.f:int [line 84, column 14]\n *&return:int=(1 / n$1) [line 84, column 3]\n _=*&x:reference_field::X [line 84, column 19]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 84, column 19]\n " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X* [line 84, column 14]\n n$1=*n$0.f:int [line 84, column 14]\n " shape="box"] - "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_2" ; -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 83, column 3]\n " shape="box"] + "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_4" ; +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 84, column 3]\n _=*&x:reference_field::X [line 84, column 19]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 84, column 19]\n " shape="box"] - "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 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 " shape="box"] + "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_4" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_2" ; +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 83, column 3]\n " shape="box"] - "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_4" ; -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 81, column 3]\n " shape="box"] + "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" ; +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 81, column 3]\n " shape="box"] "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_6" ; +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_8" [label="8: 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 " shape="box"] + + + "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_8" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" ; "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_1" [label="1: Start reference_field::ptr_I_div0\nFormals: \nLocals: r:reference_field::Ptr x:reference_field::X \n " color=yellow style=filled] - "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_1" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" ; + "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_1" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_8" ; "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_2" [label="2: Exit reference_field::ptr_I_div0 \n " color=yellow style=filled] -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" [label="3: Return Stmt \n n$0=*&r.i:int* [line 92, column 15]\n n$1=*n$0:int [line 92, column 14]\n *&return:int=(1 / n$1) [line 92, column 3]\n _=*&x:reference_field::X [line 92, column 17]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 92, column 17]\n " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" [label="3: Return Stmt \n n$0=*&r.i:int* [line 92, column 15]\n n$1=*n$0:int [line 92, column 14]\n " shape="box"] - "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_2" ; -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 91, column 3]\n " shape="box"] + "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_4" ; +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 92, column 3]\n _=*&x:reference_field::X [line 92, column 17]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 92, column 17]\n " shape="box"] - "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 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 " shape="box"] + "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_4" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_2" ; +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 91, column 3]\n " shape="box"] - "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_4" ; -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 89, column 3]\n " shape="box"] + "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" ; +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 89, column 3]\n " shape="box"] "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_6" ; +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_8" [label="8: 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 " shape="box"] + + + "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_8" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" ; "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_1" [label="1: Start reference_field::ptr_getF_div0\nFormals: \nLocals: r:reference_field::Ptr x:reference_field::X \n " color=yellow style=filled] - "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_1" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" ; + "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_1" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_8" ; "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_2" [label="2: Exit reference_field::ptr_getF_div0 \n " color=yellow style=filled] -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 100, column 14]\n n$1=_fun_reference_field::Ptr::getF(&r:reference_field::Ptr&) [line 100, column 14]\n *&return:int=(1 / n$1) [line 100, column 3]\n _=*&x:reference_field::X [line 100, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 100, column 21]\n " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 100, column 14]\n n$1=_fun_reference_field::Ptr::getF(&r:reference_field::Ptr&) [line 100, column 14]\n " shape="box"] - "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_2" ; -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 99, column 3]\n " shape="box"] + "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_4" ; +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 100, column 3]\n _=*&x:reference_field::X [line 100, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 100, column 21]\n " shape="box"] - "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 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 " shape="box"] + "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_4" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_2" ; +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 99, column 3]\n " shape="box"] - "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_4" ; -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 97, column 3]\n " shape="box"] + "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" ; +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 97, column 3]\n " shape="box"] "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_6" ; +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_8" [label="8: 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 " shape="box"] + + + "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_8" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" ; "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_1" [label="1: Start reference_field::ptr_getI_div0\nFormals: \nLocals: r:reference_field::Ptr x:reference_field::X \n " color=yellow style=filled] - "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_1" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" ; + "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_1" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_8" ; "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_2" [label="2: Exit reference_field::ptr_getI_div0 \n " color=yellow style=filled] -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 108, column 14]\n n$1=_fun_reference_field::Ptr::getI(&r:reference_field::Ptr&) [line 108, column 14]\n *&return:int=(1 / n$1) [line 108, column 3]\n _=*&x:reference_field::X [line 108, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 108, column 21]\n " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 108, column 14]\n n$1=_fun_reference_field::Ptr::getI(&r:reference_field::Ptr&) [line 108, column 14]\n " shape="box"] - "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_2" ; -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 107, column 3]\n " shape="box"] + "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_4" ; +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 108, column 3]\n _=*&x:reference_field::X [line 108, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 108, column 21]\n " shape="box"] - "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 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 " shape="box"] + "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_4" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_2" ; +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 107, column 3]\n " shape="box"] - "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_4" ; -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 105, column 3]\n " shape="box"] + "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" ; +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 105, column 3]\n " shape="box"] "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_6" ; +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_8" [label="8: 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 " shape="box"] + + + "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_8" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" ; "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_1" [label="1: Start reference_field::ref_F_div0\nFormals: \nLocals: r:reference_field::Ref x:reference_field::X \n " color=yellow style=filled] - "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_1" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" ; + "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_1" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_8" ; "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_2" [label="2: Exit reference_field::ref_F_div0 \n " color=yellow style=filled] -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X& [line 51, column 14]\n n$1=*n$0.f:int [line 51, column 14]\n *&return:int=(1 / n$1) [line 51, column 3]\n _=*&x:reference_field::X [line 51, column 18]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 51, column 18]\n " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X& [line 51, column 14]\n n$1=*n$0.f:int [line 51, column 14]\n " shape="box"] - "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_2" ; -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 50, column 3]\n " shape="box"] + "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_4" ; +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 51, column 3]\n _=*&x:reference_field::X [line 51, column 18]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 51, column 18]\n " shape="box"] - "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 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 " shape="box"] + "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_4" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_2" ; +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 50, column 3]\n " shape="box"] - "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_4" ; -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 48, column 3]\n " shape="box"] + "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" ; +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 48, column 3]\n " shape="box"] "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_6" ; +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_8" [label="8: 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 " shape="box"] + + + "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_8" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" ; "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_1" [label="1: Start reference_field::ref_I_div0\nFormals: \nLocals: r:reference_field::Ref x:reference_field::X \n " color=yellow style=filled] - "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_1" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" ; + "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_1" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_8" ; "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_2" [label="2: Exit reference_field::ref_I_div0 \n " color=yellow style=filled] -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" [label="3: Return Stmt \n n$0=*&r.i:int& [line 59, column 14]\n n$1=*n$0:int [line 59, column 14]\n *&return:int=(1 / n$1) [line 59, column 3]\n _=*&x:reference_field::X [line 59, column 16]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 59, column 16]\n " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" [label="3: Return Stmt \n n$0=*&r.i:int& [line 59, column 14]\n n$1=*n$0:int [line 59, column 14]\n " shape="box"] - "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_2" ; -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 58, column 3]\n " shape="box"] + "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_4" ; +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 59, column 3]\n _=*&x:reference_field::X [line 59, column 16]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 59, column 16]\n " shape="box"] - "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 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 " shape="box"] + "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_4" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_2" ; +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 58, column 3]\n " shape="box"] - "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_4" ; -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 56, column 3]\n " shape="box"] + "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" ; +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 56, column 3]\n " shape="box"] "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_6" ; +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_8" [label="8: 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 " shape="box"] + + + "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_8" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" ; "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_1" [label="1: Start reference_field::ref_getF_div0\nFormals: \nLocals: r:reference_field::Ref x:reference_field::X \n " color=yellow style=filled] - "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_1" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" ; + "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_1" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_8" ; "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_2" [label="2: Exit reference_field::ref_getF_div0 \n " color=yellow style=filled] -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 67, column 14]\n n$1=_fun_reference_field::Ref::getF(&r:reference_field::Ref&) [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n _=*&x:reference_field::X [line 67, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 67, column 21]\n " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 67, column 14]\n n$1=_fun_reference_field::Ref::getF(&r:reference_field::Ref&) [line 67, column 14]\n " shape="box"] - "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_2" ; -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 66, column 3]\n " shape="box"] + "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_4" ; +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 67, column 3]\n _=*&x:reference_field::X [line 67, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 67, column 21]\n " shape="box"] - "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 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 " shape="box"] + "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_4" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_2" ; +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 66, column 3]\n " shape="box"] - "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_4" ; -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 64, column 3]\n " shape="box"] + "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" ; +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 64, column 3]\n " shape="box"] "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_6" ; +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_8" [label="8: 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 " shape="box"] + + + "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_8" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" ; "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_1" [label="1: Start reference_field::ref_getI_div0\nFormals: \nLocals: r:reference_field::Ref x:reference_field::X \n " color=yellow style=filled] - "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_1" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" ; + "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_1" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_8" ; "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_2" [label="2: Exit reference_field::ref_getI_div0 \n " color=yellow style=filled] -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 75, column 14]\n n$1=_fun_reference_field::Ref::getI(&r:reference_field::Ref&) [line 75, column 14]\n *&return:int=(1 / n$1) [line 75, column 3]\n _=*&x:reference_field::X [line 75, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 75, column 21]\n " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 75, column 14]\n n$1=_fun_reference_field::Ref::getI(&r:reference_field::Ref&) [line 75, column 14]\n " shape="box"] - "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_2" ; -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 74, column 3]\n " shape="box"] + "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_4" ; +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 75, column 3]\n _=*&x:reference_field::X [line 75, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 75, column 21]\n " shape="box"] - "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 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 " shape="box"] + "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_4" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_2" ; +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 74, column 3]\n " shape="box"] - "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_4" ; -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 72, column 3]\n " shape="box"] + "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" ; +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 72, column 3]\n " shape="box"] "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_6" ; +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_8" [label="8: 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 " shape="box"] + + + "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_8" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" ; "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_1" [label="1: Start reference_field::val_F_div0\nFormals: \nLocals: r:reference_field::Val x:reference_field::X \n " color=yellow style=filled] - "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_1" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" ; + "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_1" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_8" ; "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_2" [label="2: Exit reference_field::val_F_div0 \n " color=yellow style=filled] -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" [label="3: Return Stmt \n n$0=*&r.x.f:int [line 117, column 14]\n *&return:int=(1 / n$0) [line 117, column 3]\n _=*&x:reference_field::X [line 117, column 18]\n n$2=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 117, column 18]\n " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" [label="3: Return Stmt \n n$0=*&r.x.f:int [line 117, column 14]\n " shape="box"] - "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_2" ; -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 116, column 3]\n " shape="box"] + "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_4" ; +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 117, column 3]\n _=*&x:reference_field::X [line 117, column 18]\n n$2=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 117, column 18]\n " shape="box"] - "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 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 " shape="box"] + "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_4" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_2" ; +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 116, column 3]\n " shape="box"] - "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_4" ; -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 114, column 3]\n " shape="box"] + "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" ; +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 114, column 3]\n " shape="box"] "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_6" ; +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_8" [label="8: 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 " shape="box"] + + + "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_8" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" ; "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_1" [label="1: Start reference_field::val_I_div0\nFormals: \nLocals: r:reference_field::Val x:reference_field::X \n " color=yellow style=filled] - "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_1" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" ; + "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_1" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_8" ; "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_2" [label="2: Exit reference_field::val_I_div0 \n " color=yellow style=filled] -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" [label="3: Return Stmt \n n$0=*&r.i:int [line 125, column 14]\n *&return:int=(1 / n$0) [line 125, column 3]\n _=*&x:reference_field::X [line 125, column 16]\n n$2=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 125, column 16]\n " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" [label="3: Return Stmt \n n$0=*&r.i:int [line 125, column 14]\n " shape="box"] - "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_2" ; -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 124, column 3]\n " shape="box"] + "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_4" ; +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 125, column 3]\n _=*&x:reference_field::X [line 125, column 16]\n n$2=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 125, column 16]\n " shape="box"] - "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 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 " shape="box"] + "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_4" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_2" ; +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 124, column 3]\n " shape="box"] - "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_4" ; -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 122, column 3]\n " shape="box"] + "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" ; +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 122, column 3]\n " shape="box"] "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_6" ; +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_8" [label="8: 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 " shape="box"] + + + "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_8" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" ; "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_1" [label="1: Start reference_field::val_getF_div0\nFormals: \nLocals: r:reference_field::Val x:reference_field::X \n " color=yellow style=filled] - "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_1" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" ; + "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_1" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_8" ; "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_2" [label="2: Exit reference_field::val_getF_div0 \n " color=yellow style=filled] -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 133, column 14]\n n$1=_fun_reference_field::Val::getF(&r:reference_field::Val&) [line 133, column 14]\n *&return:int=(1 / n$1) [line 133, column 3]\n _=*&x:reference_field::X [line 133, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 133, column 21]\n " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 133, column 14]\n n$1=_fun_reference_field::Val::getF(&r:reference_field::Val&) [line 133, column 14]\n " shape="box"] - "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_2" ; -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 132, column 3]\n " shape="box"] + "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_4" ; +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 133, column 3]\n _=*&x:reference_field::X [line 133, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 133, column 21]\n " shape="box"] - "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 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 " shape="box"] + "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_4" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_2" ; +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 132, column 3]\n " shape="box"] - "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_4" ; -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 130, column 3]\n " shape="box"] + "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" ; +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 130, column 3]\n " shape="box"] "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_6" ; +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_8" [label="8: 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 " shape="box"] + + + "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_8" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" ; "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_1" [label="1: Start reference_field::val_getI_div0\nFormals: \nLocals: r:reference_field::Val x:reference_field::X \n " color=yellow style=filled] - "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_1" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" ; + "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_1" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_8" ; "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_2" [label="2: Exit reference_field::val_getI_div0 \n " color=yellow style=filled] -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 141, column 14]\n n$1=_fun_reference_field::Val::getI(&r:reference_field::Val&) [line 141, column 14]\n *&return:int=(1 / n$1) [line 141, column 3]\n _=*&x:reference_field::X [line 141, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 141, column 21]\n " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 141, column 14]\n n$1=_fun_reference_field::Val::getI(&r:reference_field::Val&) [line 141, column 14]\n " shape="box"] - "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_2" ; -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 140, column 3]\n " shape="box"] + "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_4" ; +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 141, column 3]\n _=*&x:reference_field::X [line 141, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 141, column 21]\n " shape="box"] - "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 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 " shape="box"] + "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_4" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_2" ; +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=1 [line 140, column 3]\n " shape="box"] - "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_4" ; -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_6" [label="6: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 138, column 3]\n " shape="box"] + "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" ; +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_6" [label="6: 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 " shape="box"] "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 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 " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" [label="7: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 138, column 3]\n " shape="box"] "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_6" ; +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_8" [label="8: 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 " shape="box"] + + + "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_8" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" ; "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_1" [label="1: Start reference_field::Ptr::getF\nFormals: this:reference_field::Ptr*\nLocals: \n " color=yellow style=filled] @@ -331,10 +379,14 @@ digraph cfg { "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_2" [label="2: Exit reference_field::Ptr::getF \n " color=yellow style=filled] -"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 33, column 23]\n n$1=*n$0.x:reference_field::X* [line 33, column 23]\n n$2=*n$1.f:int [line 33, column 23]\n *&return:int=n$2 [line 33, column 16]\n " shape="box"] +"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 33, column 23]\n n$1=*n$0.x:reference_field::X* [line 33, column 23]\n n$2=*n$1.f:int [line 33, column 23]\n " shape="box"] + + + "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" -> "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_4" ; +"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_4" [label="4: Return Stmt \n *&return:int=n$2 [line 33, column 16]\n " shape="box"] - "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" -> "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_2" ; + "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_4" -> "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_2" ; "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_1" [label="1: Start reference_field::Ptr::getI\nFormals: this:reference_field::Ptr*\nLocals: \n " color=yellow style=filled] @@ -342,10 +394,14 @@ digraph cfg { "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_2" [label="2: Exit reference_field::Ptr::getI \n " color=yellow style=filled] -"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 34, column 24]\n n$1=*n$0.i:int* [line 34, column 24]\n n$2=*n$1:int [line 34, column 23]\n *&return:int=n$2 [line 34, column 16]\n " shape="box"] +"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 34, column 24]\n n$1=*n$0.i:int* [line 34, column 24]\n n$2=*n$1:int [line 34, column 23]\n " shape="box"] + + + "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" -> "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_4" ; +"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_4" [label="4: Return Stmt \n *&return:int=n$2 [line 34, column 16]\n " shape="box"] - "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" -> "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_2" ; + "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_4" -> "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_2" ; "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_1" [label="1: Start reference_field::Ptr::Ptr\nFormals: this:reference_field::Ptr* r_:reference_field::X&\nLocals: \n " color=yellow style=filled] @@ -368,10 +424,14 @@ digraph cfg { "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_2" [label="2: Exit reference_field::Ref::getI \n " color=yellow style=filled] -"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 26, column 23]\n n$1=*n$0.i:int& [line 26, column 23]\n n$2=*n$1:int [line 26, column 23]\n *&return:int=n$2 [line 26, column 16]\n " shape="box"] +"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 26, column 23]\n n$1=*n$0.i:int& [line 26, column 23]\n n$2=*n$1:int [line 26, column 23]\n " shape="box"] + + + "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" -> "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_4" ; +"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_4" [label="4: Return Stmt \n *&return:int=n$2 [line 26, column 16]\n " shape="box"] - "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" -> "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_2" ; + "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_4" -> "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_2" ; "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_1" [label="1: Start reference_field::Ref::getF\nFormals: this:reference_field::Ref*\nLocals: \n " color=yellow style=filled] @@ -379,10 +439,14 @@ digraph cfg { "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_2" [label="2: Exit reference_field::Ref::getF \n " color=yellow style=filled] -"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 25, column 23]\n n$1=*n$0.x:reference_field::X& [line 25, column 23]\n n$2=*n$1.f:int [line 25, column 23]\n *&return:int=n$2 [line 25, column 16]\n " shape="box"] +"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 25, column 23]\n n$1=*n$0.x:reference_field::X& [line 25, column 23]\n n$2=*n$1.f:int [line 25, column 23]\n " shape="box"] + + + "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" -> "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_4" ; +"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_4" [label="4: Return Stmt \n *&return:int=n$2 [line 25, column 16]\n " shape="box"] - "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" -> "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_2" ; + "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_4" -> "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_2" ; "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_1" [label="1: Start reference_field::Ref::Ref\nFormals: this:reference_field::Ref* r_:reference_field::X&\nLocals: \n " color=yellow style=filled] @@ -405,10 +469,14 @@ digraph cfg { "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_2" [label="2: Exit reference_field::Val::getI \n " color=yellow style=filled] -"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 42, column 23]\n n$1=*n$0.i:int [line 42, column 23]\n *&return:int=n$1 [line 42, column 16]\n " shape="box"] +"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 42, column 23]\n n$1=*n$0.i:int [line 42, column 23]\n " shape="box"] - "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" -> "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_2" ; + "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" -> "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_4" ; +"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_4" [label="4: Return Stmt \n *&return:int=n$1 [line 42, column 16]\n " shape="box"] + + + "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_4" -> "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_2" ; "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_1" [label="1: Start reference_field::Val::getF\nFormals: this:reference_field::Val*\nLocals: \n " color=yellow style=filled] @@ -416,10 +484,14 @@ digraph cfg { "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_2" [label="2: Exit reference_field::Val::getF \n " color=yellow style=filled] -"getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 41, column 23]\n n$1=*n$0.x.f:int [line 41, column 23]\n *&return:int=n$1 [line 41, column 16]\n " shape="box"] +"getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 41, column 23]\n n$1=*n$0.x.f:int [line 41, column 23]\n " shape="box"] + + + "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_3" -> "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_4" ; +"getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_4" [label="4: Return Stmt \n *&return:int=n$1 [line 41, column 16]\n " shape="box"] - "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_3" -> "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_2" ; + "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_4" -> "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_2" ; "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_1" [label="1: Start reference_field::Val::Val\nFormals: this:reference_field::Val* r_:reference_field::X&\nLocals: \n " color=yellow style=filled] 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 56421c957..598b2adbe 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 @@ -30,34 +30,42 @@ digraph cfg { "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(n$0, true); [line 46, column 7]\n " shape="invhouse"] - "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_5" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" ; + "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_5" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_9" ; "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(!n$0, false); [line 46, column 7]\n " shape="invhouse"] "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_6" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_3" ; -"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" [label="7: Return Stmt \n n$1=*&x:X* [line 48, column 12]\n _=*n$1:X [line 48, column 12]\n n$3=_fun_X::div(n$1:X*) [line 48, column 12]\n *&return:int=n$3 [line 48, column 5]\n " shape="box"] +"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" [label="7: Return Stmt \n n$1=*&x:X* [line 48, column 12]\n _=*n$1:X [line 48, column 12]\n n$3=_fun_X::div(n$1:X*) [line 48, column 12]\n " shape="box"] - "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_2" ; -"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 47, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,0:int) [line 47, column 5]\n " shape="box"] + "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" ; +"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" [label="8: Return Stmt \n *&return:int=n$3 [line 48, column 5]\n " shape="box"] - "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" ; + "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_2" ; +"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_9" [label="9: Call _fun_set_field_ptr \n n$4=*&x:X* [line 47, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,0:int) [line 47, column 5]\n " shape="box"] + + + "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_9" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" ; "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_1" [label="1: Start field_div0_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] - "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_1" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" ; + "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_1" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_5" ; "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_2" [label="2: Exit field_div0_ref \n " color=yellow style=filled] -"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" [label="3: Return Stmt \n n$0=*&x:X& [line 95, column 10]\n _=*n$0:X [line 95, column 10]\n n$2=_fun_X::div(n$0:X&) [line 95, column 10]\n *&return:int=n$2 [line 95, column 3]\n " shape="box"] +"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" [label="3: Return Stmt \n n$0=*&x:X& [line 95, column 10]\n _=*n$0:X [line 95, column 10]\n n$2=_fun_X::div(n$0:X&) [line 95, column 10]\n " shape="box"] - "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_2" ; -"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 94, column 17]\n n$4=_fun_set_field_ref(n$3:X&,0:int) [line 94, column 3]\n " shape="box"] + "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" ; +"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" [label="4: Return Stmt \n *&return:int=n$2 [line 95, column 3]\n " shape="box"] - "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" ; + "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_2" ; +"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_5" [label="5: Call _fun_set_field_ref \n n$3=*&x:X& [line 94, column 17]\n n$4=_fun_set_field_ref(n$3:X&,0:int) [line 94, column 3]\n " shape="box"] + + + "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_5" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" ; "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_1" [label="1: Start field_div1_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] @@ -77,34 +85,42 @@ digraph cfg { "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(n$0, true); [line 53, column 7]\n " shape="invhouse"] - "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_5" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" ; + "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_5" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_9" ; "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(!n$0, false); [line 53, column 7]\n " shape="invhouse"] "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_6" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_3" ; -"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" [label="7: Return Stmt \n n$1=*&x:X* [line 55, column 12]\n _=*n$1:X [line 55, column 12]\n n$3=_fun_X::div(n$1:X*) [line 55, column 12]\n *&return:int=n$3 [line 55, column 5]\n " shape="box"] +"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" [label="7: Return Stmt \n n$1=*&x:X* [line 55, column 12]\n _=*n$1:X [line 55, column 12]\n n$3=_fun_X::div(n$1:X*) [line 55, column 12]\n " shape="box"] - "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_2" ; -"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 54, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,1:int) [line 54, column 5]\n " shape="box"] + "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" ; +"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" [label="8: Return Stmt \n *&return:int=n$3 [line 55, column 5]\n " shape="box"] - "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" ; + "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_2" ; +"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_9" [label="9: Call _fun_set_field_ptr \n n$4=*&x:X* [line 54, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,1:int) [line 54, column 5]\n " shape="box"] + + + "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_9" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" ; "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_1" [label="1: Start field_div1_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] - "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_1" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" ; + "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_1" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_5" ; "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_2" [label="2: Exit field_div1_ref \n " color=yellow style=filled] -"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" [label="3: Return Stmt \n n$0=*&x:X& [line 100, column 10]\n _=*n$0:X [line 100, column 10]\n n$2=_fun_X::div(n$0:X&) [line 100, column 10]\n *&return:int=n$2 [line 100, column 3]\n " shape="box"] +"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" [label="3: Return Stmt \n n$0=*&x:X& [line 100, column 10]\n _=*n$0:X [line 100, column 10]\n n$2=_fun_X::div(n$0:X&) [line 100, column 10]\n " shape="box"] + + + "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" ; +"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" [label="4: Return Stmt \n *&return:int=n$2 [line 100, column 3]\n " shape="box"] - "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_2" ; -"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 99, column 17]\n n$4=_fun_set_field_ref(n$3:X&,1:int) [line 99, column 3]\n " shape="box"] + "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_2" ; +"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_5" [label="5: Call _fun_set_field_ref \n n$3=*&x:X& [line 99, column 17]\n n$4=_fun_set_field_ref(n$3:X&,1:int) [line 99, column 3]\n " shape="box"] - "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" ; + "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_5" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" ; "get_global_ptr#6940583460992234632.3d4bb50869af20053c9b0c52091a0a39_1" [label="1: Start get_global_ptr\nFormals: \nLocals: \n " color=yellow style=filled] @@ -298,34 +314,42 @@ digraph cfg { "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(n$0, true); [line 32, column 7]\n " shape="invhouse"] - "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_5" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" ; + "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_5" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_9" ; "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(!n$0, false); [line 32, column 7]\n " shape="invhouse"] "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_6" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_3" ; -"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" [label="7: Return Stmt \n n$1=*&x:X* [line 34, column 12]\n _=*n$1:X [line 34, column 12]\n n$3=_fun_X::div(n$1:X*) [line 34, column 12]\n *&return:int=n$3 [line 34, column 5]\n " shape="box"] +"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" [label="7: Return Stmt \n n$1=*&x:X* [line 34, column 12]\n _=*n$1:X [line 34, column 12]\n n$3=_fun_X::div(n$1:X*) [line 34, column 12]\n " shape="box"] + + + "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" ; +"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" [label="8: Return Stmt \n *&return:int=n$3 [line 34, column 5]\n " shape="box"] - "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_2" ; -"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" [label="8: Call _fun_zero_ptr \n n$4=*&x:X* [line 33, column 14]\n n$5=_fun_zero_ptr(n$4:X*) [line 33, column 5]\n " shape="box"] + "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_2" ; +"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_9" [label="9: Call _fun_zero_ptr \n n$4=*&x:X* [line 33, column 14]\n n$5=_fun_zero_ptr(n$4:X*) [line 33, column 5]\n " shape="box"] - "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" ; + "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_9" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" ; "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_1" [label="1: Start method_div0_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] - "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_1" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" ; + "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_1" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_5" ; "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_2" [label="2: Exit method_div0_ref \n " color=yellow style=filled] -"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" [label="3: Return Stmt \n n$0=*&x:X& [line 85, column 10]\n _=*n$0:X [line 85, column 10]\n n$2=_fun_X::div(n$0:X&) [line 85, column 10]\n *&return:int=n$2 [line 85, column 3]\n " shape="box"] +"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" [label="3: Return Stmt \n n$0=*&x:X& [line 85, column 10]\n _=*n$0:X [line 85, column 10]\n n$2=_fun_X::div(n$0:X&) [line 85, column 10]\n " shape="box"] + + + "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" ; +"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" [label="4: Return Stmt \n *&return:int=n$2 [line 85, column 3]\n " shape="box"] - "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_2" ; -"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" [label="4: Call _fun_zero_ref \n n$3=*&x:X& [line 84, column 12]\n n$4=_fun_zero_ref(n$3:X&) [line 84, column 3]\n " shape="box"] + "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_2" ; +"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_5" [label="5: Call _fun_zero_ref \n n$3=*&x:X& [line 84, column 12]\n n$4=_fun_zero_ref(n$3:X&) [line 84, column 3]\n " shape="box"] - "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" ; + "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_5" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" ; "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_1" [label="1: Start method_div1_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] @@ -345,34 +369,42 @@ digraph cfg { "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(n$0, true); [line 39, column 7]\n " shape="invhouse"] - "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_5" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" ; + "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_5" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_9" ; "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(!n$0, false); [line 39, column 7]\n " shape="invhouse"] "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_6" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_3" ; -"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" [label="7: Return Stmt \n n$1=*&x:X* [line 41, column 12]\n _=*n$1:X [line 41, column 12]\n n$3=_fun_X::div(n$1:X*) [line 41, column 12]\n *&return:int=n$3 [line 41, column 5]\n " shape="box"] +"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" [label="7: Return Stmt \n n$1=*&x:X* [line 41, column 12]\n _=*n$1:X [line 41, column 12]\n n$3=_fun_X::div(n$1:X*) [line 41, column 12]\n " shape="box"] + + + "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" ; +"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" [label="8: Return Stmt \n *&return:int=n$3 [line 41, column 5]\n " shape="box"] - "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_2" ; -"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" [label="8: Call _fun_nonzero_ptr \n n$4=*&x:X* [line 40, column 17]\n n$5=_fun_nonzero_ptr(n$4:X*) [line 40, column 5]\n " shape="box"] + "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_2" ; +"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_9" [label="9: Call _fun_nonzero_ptr \n n$4=*&x:X* [line 40, column 17]\n n$5=_fun_nonzero_ptr(n$4:X*) [line 40, column 5]\n " shape="box"] - "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" ; + "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_9" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" ; "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_1" [label="1: Start method_div1_ref\nFormals: x:X&\nLocals: \n " color=yellow style=filled] - "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_1" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" ; + "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_1" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_5" ; "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_2" [label="2: Exit method_div1_ref \n " color=yellow style=filled] -"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" [label="3: Return Stmt \n n$0=*&x:X& [line 90, column 10]\n _=*n$0:X [line 90, column 10]\n n$2=_fun_X::div(n$0:X&) [line 90, column 10]\n *&return:int=n$2 [line 90, column 3]\n " shape="box"] +"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" [label="3: Return Stmt \n n$0=*&x:X& [line 90, column 10]\n _=*n$0:X [line 90, column 10]\n n$2=_fun_X::div(n$0:X&) [line 90, column 10]\n " shape="box"] - "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_2" ; -"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" [label="4: Call _fun_nonzero_ref \n n$3=*&x:X& [line 89, column 15]\n n$4=_fun_nonzero_ref(n$3:X&) [line 89, column 3]\n " shape="box"] + "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" ; +"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" [label="4: Return Stmt \n *&return:int=n$2 [line 90, column 3]\n " shape="box"] - "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" ; + "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_2" ; +"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_5" [label="5: Call _fun_nonzero_ref \n n$3=*&x:X& [line 89, column 15]\n n$4=_fun_nonzero_ref(n$3:X&) [line 89, column 3]\n " shape="box"] + + + "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_5" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" ; "nonzero_ptr(class X)#1716920554390102131.ab3e0f6dea34ce6bb6abf3732e2b1b66_1" [label="1: Start nonzero_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] @@ -468,10 +500,14 @@ digraph cfg { "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" [label="2: Exit X::div \n " color=yellow style=filled] -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 12, column 26]\n n$1=*n$0.f:int [line 12, column 26]\n *&return:int=(1 / n$1) [line 12, column 15]\n " shape="box"] +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 12, column 26]\n n$1=*n$0.f:int [line 12, column 26]\n " shape="box"] + + + "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_4" ; +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 12, column 15]\n " shape="box"] - "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; + "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_4" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" [label="1: Start X::X\nFormals: this:X*\nLocals: \n " color=yellow style=filled] 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 1d5dddc9e..7cd3b5ba7 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 @@ -3,195 +3,227 @@ digraph cfg { "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_1" [label="1: Start ptr_div0\nFormals: \nLocals: p:int* a:int \n " color=yellow style=filled] - "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_1" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_6" ; + "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_1" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_7" ; "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_2" [label="2: Exit ptr_div0 \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 " shape="box"] +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" [label="3: Return Stmt \n n$0=*&a:int [line 15, column 14]\n " shape="box"] - "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_2" ; -"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&p:int* [line 14, column 4]\n *n$1:int=0 [line 14, column 3]\n " shape="box"] + "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" ; +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 15, column 3]\n " shape="box"] - "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" ; -"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_4" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_2" ; +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&p:int* [line 14, column 4]\n *n$1:int=0 [line 14, column 3]\n " shape="box"] - "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_5" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" ; -"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_5" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" ; +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_6" [label="6: 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_6" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_5" ; +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_7" [label="7: 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_7" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_6" ; "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_1" [label="1: Start ptr_div0_function\nFormals: \nLocals: a:int \n " color=yellow style=filled] - "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_1" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_5" ; + "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_1" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_6" ; "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_2" [label="2: Exit ptr_div0_function \n " color=yellow style=filled] -"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" [label="3: Return Stmt \n n$0=*&a:int [line 21, column 14]\n *&return:int=(1 / n$0) [line 21, column 3]\n " shape="box"] +"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" [label="3: Return Stmt \n n$0=*&a:int [line 21, column 14]\n " shape="box"] + + + "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" ; +"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 21, column 3]\n " shape="box"] - "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_2" ; -"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" [label="4: Call _fun_zero_ptr \n n$1=_fun_zero_ptr(&a:int*) [line 20, column 3]\n " shape="box"] + "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_2" ; +"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_5" [label="5: Call _fun_zero_ptr \n n$1=_fun_zero_ptr(&a:int*) [line 20, column 3]\n " shape="box"] - "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" ; -"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_3" ; +"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_6" [label="6: 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" ; + "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_6" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_5" ; "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_1" [label="1: Start ptr_div0_function_temp_var\nFormals: \nLocals: r:int* a:int \n " color=yellow style=filled] - "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_1" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_6" ; + "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_1" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_7" ; "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_2" [label="2: Exit ptr_div0_function_temp_var \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 " shape="box"] +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" [label="3: Return Stmt \n n$0=*&a:int [line 28, column 14]\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$1=*&r:int* [line 27, column 12]\n n$2=_fun_zero_ptr(n$1:int*) [line 27, column 3]\n " shape="box"] + "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" ; +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 28, 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 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_4" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_2" ; +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_5" [label="5: Call _fun_zero_ptr \n n$1=*&r:int* [line 27, column 12]\n n$2=_fun_zero_ptr(n$1:int*) [line 27, 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 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_5" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" ; +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_6" [label="6: 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_6" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_5" ; +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_7" [label="7: 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_7" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_6" ; "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_1" [label="1: Start ref_div0\nFormals: \nLocals: r:int& a:int \n " color=yellow style=filled] - "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_1" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_6" ; + "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_1" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_7" ; "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_2" [label="2: Exit ref_div0 \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 " shape="box"] +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" [label="3: Return Stmt \n n$0=*&a:int [line 35, column 14]\n " shape="box"] - "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_2" ; -"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&r:int& [line 34, column 3]\n *n$1:int=0 [line 34, column 3]\n " shape="box"] + "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" ; +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 35, column 3]\n " shape="box"] - "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" ; -"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_4" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_2" ; +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&r:int& [line 34, column 3]\n *n$1:int=0 [line 34, column 3]\n " shape="box"] - "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_5" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" ; -"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_5" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" ; +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_6" [label="6: 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_6" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_5" ; +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_7" [label="7: 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_7" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_6" ; "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_1" [label="1: Start ref_div0_function\nFormals: \nLocals: a:int \n " color=yellow style=filled] - "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_1" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_5" ; + "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_1" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_6" ; "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_2" [label="2: Exit ref_div0_function \n " color=yellow style=filled] -"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" [label="3: Return Stmt \n n$0=*&a:int [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n " shape="box"] +"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" [label="3: Return Stmt \n n$0=*&a:int [line 41, column 14]\n " shape="box"] - "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_2" ; -"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" [label="4: Call _fun_zero_ref \n n$1=_fun_zero_ref(&a:int&) [line 40, column 3]\n " shape="box"] + "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" ; +"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 41, column 3]\n " shape="box"] - "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" ; -"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_4" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_2" ; +"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_5" [label="5: Call _fun_zero_ref \n n$1=_fun_zero_ref(&a:int&) [line 40, column 3]\n " shape="box"] - "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_5" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" ; + "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_5" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" ; +"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_6" [label="6: 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_6" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_5" ; "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_1" [label="1: Start ref_div0_function_temp_var\nFormals: \nLocals: r:int& a:int \n " color=yellow style=filled] - "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_1" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_6" ; + "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_1" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_7" ; "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_2" [label="2: Exit ref_div0_function_temp_var \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 " shape="box"] +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" [label="3: Return Stmt \n n$0=*&a:int [line 48, column 14]\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$1=*&r:int& [line 47, column 12]\n n$2=_fun_zero_ref(n$1:int&) [line 47, column 3]\n " shape="box"] + "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" ; +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 48, 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 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_4" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_2" ; +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_5" [label="5: Call _fun_zero_ref \n n$1=*&r:int& [line 47, column 12]\n n$2=_fun_zero_ref(n$1:int&) [line 47, 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 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_5" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" ; +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_6" [label="6: 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_6" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_5" ; +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_7" [label="7: 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_7" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_6" ; "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_1" [label="1: Start ref_div0_nested_assignment\nFormals: \nLocals: r2:int& r1:int& b:int a:int \n " color=yellow style=filled] - "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_1" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_8" ; + "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_1" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_9" ; "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_2" [label="2: Exit ref_div0_nested_assignment \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 " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" [label="3: Return Stmt \n n$0=*&a:int [line 57, column 14]\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$1=*&r2:int& [line 56, column 3]\n *n$1:int=0 [line 56, column 3]\n " shape="box"] + "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" ; +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 57, 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 VARIABLE_DECLARED(r2:int&); [line 55, column 3]\n n$2=*&r1:int& [line 55, column 13]\n *&b:int=1 [line 55, column 18]\n n$3=*&b:int [line 55, column 18]\n *n$2:int=n$3 [line 55, column 13]\n *&r2:int&=n$2 [line 55, column 3]\n " shape="box"] + "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_2" ; +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&r2:int& [line 56, column 3]\n *n$1:int=0 [line 56, 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 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_5" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" ; +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_6" [label="6: DeclStmt \n VARIABLE_DECLARED(r2:int&); [line 55, column 3]\n n$2=*&r1:int& [line 55, column 13]\n *&b:int=1 [line 55, column 18]\n n$3=*&b:int [line 55, column 18]\n *n$2:int=n$3 [line 55, column 13]\n *&r2:int&=n$2 [line 55, 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 VARIABLE_DECLARED(b:int); [line 53, column 3]\n *&b:int=3 [line 53, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_7" [label="7: 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_7" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_6" ; -"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" [label="8: DeclStmt \n VARIABLE_DECLARED(b:int); [line 53, column 3]\n *&b:int=3 [line 53, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_8" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_7" ; +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_9" [label="9: 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_9" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_8" ; "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_1" [label="1: Start ref_div1_nested_assignment\nFormals: \nLocals: r2:int& r1:int& b:int a:int \n " color=yellow style=filled] - "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_1" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_8" ; + "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_1" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_9" ; "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_2" [label="2: Exit ref_div1_nested_assignment \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 " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" [label="3: Return Stmt \n n$0=*&b:int [line 66, column 14]\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$1=*&r2:int& [line 65, column 3]\n *n$1:int=0 [line 65, column 3]\n " shape="box"] + "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" ; +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 66, 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 VARIABLE_DECLARED(r2:int&); [line 64, column 3]\n n$2=*&r1:int& [line 64, column 13]\n *&b:int=1 [line 64, column 18]\n n$3=*&b:int [line 64, column 18]\n *n$2:int=n$3 [line 64, column 13]\n *&r2:int&=n$2 [line 64, column 3]\n " shape="box"] + "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_2" ; +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&r2:int& [line 65, column 3]\n *n$1:int=0 [line 65, 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 VARIABLE_DECLARED(r1:int&); [line 63, column 3]\n *&r1:int&=&a [line 63, column 3]\n " shape="box"] + "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" ; +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_6" [label="6: DeclStmt \n VARIABLE_DECLARED(r2:int&); [line 64, column 3]\n n$2=*&r1:int& [line 64, column 13]\n *&b:int=1 [line 64, column 18]\n n$3=*&b:int [line 64, column 18]\n *n$2:int=n$3 [line 64, column 13]\n *&r2:int&=n$2 [line 64, 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 VARIABLE_DECLARED(b:int); [line 62, column 3]\n *&b:int=3 [line 62, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_7" [label="7: DeclStmt \n VARIABLE_DECLARED(r1:int&); [line 63, column 3]\n *&r1:int&=&a [line 63, 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 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" [label="8: DeclStmt \n VARIABLE_DECLARED(b:int); [line 62, column 3]\n *&b:int=3 [line 62, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_8" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_7" ; +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_9" [label="9: 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_9" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_8" ; "zero_ptr#10962438709356261388.c1a1091e7e1d49bd9bd5d8cac96703e9_1" [label="1: Start zero_ptr\nFormals: p:int*\nLocals: \n " color=yellow style=filled] 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 08555c620..a1a05a1ec 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_2" [label="2: Exit div \n " color=yellow style=filled] -"div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_3" [label="3: Return Stmt \n n$0=*&v:int const & [line 8, column 36]\n n$1=*n$0:int [line 8, column 36]\n *&return:int=(1 / n$1) [line 8, column 25]\n " shape="box"] +"div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_3" [label="3: Return Stmt \n n$0=*&v:int const & [line 8, column 36]\n n$1=*n$0:int [line 8, column 36]\n " shape="box"] - "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_3" -> "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_2" ; + "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_3" -> "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_4" ; +"div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 8, column 25]\n " shape="box"] + + + "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_4" -> "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_2" ; "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_1" [label="1: Start div0_function_param_cast\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:int const \n " color=yellow style=filled] @@ -22,46 +26,58 @@ digraph cfg { "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_3" -> "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_4" ; -"div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_4" [label="4: Return Stmt \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 " shape="box"] +"div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_4" [label="4: Return Stmt \n n$1=_fun_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const &) [line 15, column 41]\n " shape="box"] + + + "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_4" -> "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_5" ; +"div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_5" [label="5: Return Stmt \n *&return:int=n$1 [line 15, column 34]\n " shape="box"] - "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_4" -> "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_2" ; + "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_5" -> "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_2" ; "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_1" [label="1: Start div0_init_expr\nFormals: \nLocals: a:int const & 0$?%__sil_tmpSIL_materialize_temp__n$2:int const \n " color=yellow style=filled] - "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_1" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_5" ; + "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_1" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_6" ; "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_2" [label="2: Exit div0_init_expr \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 " 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 " shape="box"] - "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_2" ; -"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 11, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 11, column 18]\n " shape="box"] + "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" ; +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" [label="4: Return Stmt \n *&return:int=n$1 [line 12, column 3]\n " shape="box"] - "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_6" ; -"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int const &); [line 11, column 3]\n " shape="box"] + "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_2" ; +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 11, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 11, column 18]\n " shape="box"] - "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_5" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" ; -"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_6" [label="6: DeclStmt \n *&a:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 11, column 3]\n " shape="box"] + "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_5" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_7" ; +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:int const &); [line 11, column 3]\n " shape="box"] - "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_6" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" ; + "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_6" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_5" ; +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_7" [label="7: DeclStmt \n *&a:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 11, column 3]\n " shape="box"] + + + "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_7" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" ; "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_1" [label="1: Start div0_no_const_ref\nFormals: \nLocals: a:int \n " color=yellow style=filled] - "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_1" -> "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_4" ; + "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_1" -> "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_5" ; "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_2" [label="2: Exit div0_no_const_ref \n " color=yellow style=filled] -"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_3" [label="3: Return Stmt \n n$0=_fun_div(&a:int&) [line 20, column 10]\n *&return:int=n$0 [line 20, column 3]\n " shape="box"] +"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_3" [label="3: Return Stmt \n n$0=_fun_div(&a:int&) [line 20, column 10]\n " shape="box"] + + + "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_3" -> "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_4" ; +"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_4" [label="4: Return Stmt \n *&return:int=n$0 [line 20, column 3]\n " shape="box"] - "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 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_2" ; +"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_5" [label="5: 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" ; + "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_5" -> "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 343ef8d70..a754aa3df 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_2" [label="2: Exit fun_p \n " color=yellow style=filled] -"fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_3" [label="3: Return Stmt \n n$0=*&p:int* [line 8, column 29]\n n$1=*n$0:int [line 8, column 28]\n *&return:int=n$1 [line 8, column 21]\n " shape="box"] +"fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_3" [label="3: Return Stmt \n n$0=*&p:int* [line 8, column 29]\n n$1=*n$0:int [line 8, column 28]\n " shape="box"] - "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_3" -> "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_2" ; + "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_3" -> "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_4" ; +"fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_4" [label="4: Return Stmt \n *&return:int=n$1 [line 8, column 21]\n " shape="box"] + + + "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_4" -> "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_2" ; "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_1" [label="1: Start fun_r\nFormals: p:int&\nLocals: \n " color=yellow style=filled] @@ -18,10 +22,14 @@ digraph cfg { "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_2" [label="2: Exit fun_r \n " color=yellow style=filled] -"fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_3" [label="3: Return Stmt \n n$0=*&p:int& [line 10, column 28]\n n$1=*n$0:int [line 10, column 28]\n *&return:int=n$1 [line 10, column 21]\n " shape="box"] +"fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_3" [label="3: Return Stmt \n n$0=*&p:int& [line 10, column 28]\n n$1=*n$0:int [line 10, column 28]\n " shape="box"] + + + "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_3" -> "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_4" ; +"fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_4" [label="4: Return Stmt \n *&return:int=n$1 [line 10, column 21]\n " shape="box"] - "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_3" -> "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_2" ; + "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_4" -> "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_2" ; "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_1" [label="1: Start fun_v\nFormals: p:int\nLocals: \n " color=yellow style=filled] @@ -29,10 +37,14 @@ digraph cfg { "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_2" [label="2: Exit fun_v \n " color=yellow style=filled] -"fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_3" [label="3: Return Stmt \n n$0=*&p:int [line 9, column 27]\n *&return:int=n$0 [line 9, column 20]\n " shape="box"] +"fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_3" [label="3: Return Stmt \n n$0=*&p:int [line 9, column 27]\n " shape="box"] + + + "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_3" -> "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_4" ; +"fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_4" [label="4: Return Stmt \n *&return:int=n$0 [line 9, column 20]\n " shape="box"] - "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_3" -> "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_2" ; + "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_4" -> "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_2" ; "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_1" [label="1: Start unbox_ptr\nFormals: \nLocals: p:int* a:int \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot index 34fd674d0..8cfe5cb94 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_2" [label="2: Exit choose1_div0 \n " color=yellow style=filled] -"choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 28, column 50]\n _=*n$0:ExecStore [line 28, column 50]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,0:int) [line 28, column 50]\n *&return:int=n$2 [line 28, column 43]\n " shape="box"] +"choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 28, column 50]\n _=*n$0:ExecStore [line 28, column 50]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,0:int) [line 28, column 50]\n " shape="box"] - "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_3" -> "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_2" ; + "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_3" -> "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_4" ; +"choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_4" [label="4: Return Stmt \n *&return:int=n$2 [line 28, column 43]\n " shape="box"] + + + "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_4" -> "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_2" ; "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_1" [label="1: Start choose1_div1\nFormals: s:ExecStore&\nLocals: \n " color=yellow style=filled] @@ -18,10 +22,14 @@ digraph cfg { "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_2" [label="2: Exit choose1_div1 \n " color=yellow style=filled] -"choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 30, column 50]\n _=*n$0:ExecStore [line 30, column 50]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,1:int) [line 30, column 50]\n *&return:int=n$2 [line 30, column 43]\n " shape="box"] +"choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 30, column 50]\n _=*n$0:ExecStore [line 30, column 50]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,1:int) [line 30, column 50]\n " shape="box"] - "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_3" -> "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_2" ; + "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_3" -> "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_4" ; +"choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_4" [label="4: Return Stmt \n *&return:int=n$2 [line 30, column 43]\n " shape="box"] + + + "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_4" -> "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_2" ; "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_1" [label="1: Start choose2_div0_extra\nFormals: s:ExecStore&\nLocals: \n " color=yellow style=filled] @@ -29,10 +37,14 @@ digraph cfg { "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_2" [label="2: Exit choose2_div0_extra \n " color=yellow style=filled] -"choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 37, column 56]\n _=*n$0.f:Choose2 [line 37, column 56]\n n$2=_fun_Choose2::extra(n$0.f:Choose2&,0:int) [line 37, column 56]\n *&return:int=n$2 [line 37, column 49]\n " shape="box"] +"choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 37, column 56]\n _=*n$0.f:Choose2 [line 37, column 56]\n n$2=_fun_Choose2::extra(n$0.f:Choose2&,0:int) [line 37, column 56]\n " shape="box"] + + + "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_3" -> "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_4" ; +"choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_4" [label="4: Return Stmt \n *&return:int=n$2 [line 37, column 49]\n " shape="box"] - "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_3" -> "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_2" ; + "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_4" -> "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_2" ; "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_1" [label="1: Start choose2_div0_no_report\nFormals: s:ExecStore&\nLocals: \n " color=yellow style=filled] @@ -40,10 +52,14 @@ digraph cfg { "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_2" [label="2: Exit choose2_div0_no_report \n " color=yellow style=filled] -"choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 34, column 10]\n _=*n$0:ExecStore [line 34, column 10]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,1:int) [line 34, column 10]\n *&return:int=n$2 [line 34, column 3]\n " shape="box"] +"choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 34, column 10]\n _=*n$0:ExecStore [line 34, column 10]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,1:int) [line 34, column 10]\n " shape="box"] + + + "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_3" -> "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_4" ; +"choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_4" [label="4: Return Stmt \n *&return:int=n$2 [line 34, column 3]\n " shape="box"] - "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_3" -> "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_2" ; + "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_4" -> "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_2" ; "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_1" [label="1: Start choose2_div1_extra\nFormals: s:ExecStore&\nLocals: \n " color=yellow style=filled] @@ -51,10 +67,14 @@ digraph cfg { "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_2" [label="2: Exit choose2_div1_extra \n " color=yellow style=filled] -"choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 39, column 56]\n _=*n$0.f:Choose2 [line 39, column 56]\n n$2=_fun_Choose2::extra(n$0.f:Choose2&,1:int) [line 39, column 56]\n *&return:int=n$2 [line 39, column 49]\n " shape="box"] +"choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 39, column 56]\n _=*n$0.f:Choose2 [line 39, column 56]\n n$2=_fun_Choose2::extra(n$0.f:Choose2&,1:int) [line 39, column 56]\n " shape="box"] + + + "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_3" -> "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_4" ; +"choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_4" [label="4: Return Stmt \n *&return:int=n$2 [line 39, column 49]\n " shape="box"] - "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_3" -> "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_2" ; + "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_4" -> "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_2" ; "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_1" [label="1: Start Choose1::div\nFormals: this:Choose1* a:int b:int\nLocals: \n " color=yellow style=filled] @@ -62,10 +82,14 @@ digraph cfg { "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_2" [label="2: Exit Choose1::div \n " color=yellow style=filled] -"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" [label="3: Return Stmt \n n$0=*&a:int [line 9, column 38]\n *&return:int=(1 / n$0) [line 9, column 27]\n " shape="box"] +"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" [label="3: Return Stmt \n n$0=*&a:int [line 9, column 38]\n " shape="box"] - "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" -> "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_2" ; + "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" -> "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_4" ; +"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 9, column 27]\n " shape="box"] + + + "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_4" -> "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_2" ; "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_1" [label="1: Start Choose2::extra\nFormals: this:Choose2* a:int\nLocals: \n " color=yellow style=filled] @@ -73,10 +97,14 @@ digraph cfg { "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_2" [label="2: Exit Choose2::extra \n " color=yellow style=filled] -"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 33]\n *&return:int=(1 / n$0) [line 16, column 22]\n " shape="box"] +"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 33]\n " shape="box"] - "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" -> "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_2" ; + "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" -> "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_4" ; +"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 16, column 22]\n " shape="box"] + + + "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_4" -> "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_2" ; "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_1" [label="1: Start Choose2::div\nFormals: this:Choose2* a:int b:int\nLocals: \n " color=yellow style=filled] @@ -84,10 +112,14 @@ digraph cfg { "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_2" [label="2: Exit Choose2::div \n " color=yellow style=filled] -"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" [label="3: Return Stmt \n n$0=*&b:int [line 13, column 38]\n *&return:int=(1 / n$0) [line 13, column 27]\n " shape="box"] +"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" [label="3: Return Stmt \n n$0=*&b:int [line 13, column 38]\n " shape="box"] + + + "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" -> "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_4" ; +"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 13, column 27]\n " shape="box"] - "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" -> "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_2" ; + "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_4" -> "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_2" ; "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_1" [label="1: Start ExecStore::call_div\nFormals: this:ExecStore* a:int\nLocals: \n " color=yellow style=filled] @@ -95,10 +127,14 @@ digraph cfg { "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_2" [label="2: Exit ExecStore::call_div \n " color=yellow style=filled] -"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose2 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose2::div(n$0.f:Choose2&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n " shape="box"] +"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose2 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose2::div(n$0.f:Choose2&,n$2:int,0:int) [line 24, column 12]\n " shape="box"] + + + "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" -> "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_4" ; +"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_4" [label="4: Return Stmt \n *&return:int=n$3 [line 24, column 5]\n " shape="box"] - "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" -> "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_2" ; + "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_4" -> "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_2" ; "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_1" [label="1: Start ExecStore::call_div\nFormals: this:ExecStore* a:int\nLocals: \n " color=yellow style=filled] @@ -106,8 +142,12 @@ digraph cfg { "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_2" [label="2: Exit ExecStore::call_div \n " color=yellow style=filled] -"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose1 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose1::div(n$0.f:Choose1&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n " shape="box"] +"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose1 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose1::div(n$0.f:Choose1&,n$2:int,0:int) [line 24, column 12]\n " shape="box"] + + + "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" -> "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_4" ; +"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_4" [label="4: Return Stmt \n *&return:int=n$3 [line 24, column 5]\n " shape="box"] - "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" -> "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_2" ; + "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_4" -> "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot index 8a0bb79ad..40c7f3705 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_2" [label="2: Exit function::createAndDiv \n " color=yellow style=filled] -"createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n " shape="box"] +"createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 41, column 14]\n " shape="box"] - "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_3" -> "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_2" ; + "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_3" -> "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_4" ; +"createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 41, column 3]\n " shape="box"] + + + "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_4" -> "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_2" ; "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_1" [label="1: Start function::createAndDiv\nFormals: \nLocals: \n " color=yellow style=filled] @@ -18,40 +22,52 @@ digraph cfg { "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_2" [label="2: Exit function::createAndDiv \n " color=yellow style=filled] -"createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n " shape="box"] +"createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 41, column 14]\n " shape="box"] - "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_3" -> "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_2" ; + "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_3" -> "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_4" ; +"createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 41, column 3]\n " shape="box"] + + + "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_4" -> "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_2" ; "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_1" [label="1: Start function::createAndGetVal\nFormals: \nLocals: x:function::X1 \n " color=yellow style=filled] - "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_1" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" ; + "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_1" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_5" ; "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_2" [label="2: Exit function::createAndGetVal \n " color=yellow style=filled] -"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x:function::X1&) [line 36, column 10]\n *&return:int=n$0 [line 36, column 3]\n " shape="box"] +"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x:function::X1&) [line 36, column 10]\n " shape="box"] + + + "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" ; +"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" [label="4: Return Stmt \n *&return:int=n$0 [line 36, column 3]\n " shape="box"] - "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_2" ; -"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:function::X1); [line 35, column 3]\n n$1=_fun_function::X1::X1(&x:function::X1*) [line 35, column 5]\n " shape="box"] + "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_2" ; +"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:function::X1); [line 35, column 3]\n n$1=_fun_function::X1::X1(&x:function::X1*) [line 35, column 5]\n " shape="box"] - "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" ; + "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_5" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" ; "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_1" [label="1: Start function::createAndGetVal\nFormals: \nLocals: x:function::X3 \n " color=yellow style=filled] - "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_1" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" ; + "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_1" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_5" ; "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_2" [label="2: Exit function::createAndGetVal \n " color=yellow style=filled] -"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x:function::X3&) [line 36, column 10]\n *&return:int=n$0 [line 36, column 3]\n " shape="box"] +"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x:function::X3&) [line 36, column 10]\n " shape="box"] + + + "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" ; +"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" [label="4: Return Stmt \n *&return:int=n$0 [line 36, column 3]\n " shape="box"] - "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_2" ; -"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:function::X3); [line 35, column 3]\n n$1=_fun_function::X3::X3(&x:function::X3*) [line 35, column 5]\n " shape="box"] + "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_2" ; +"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:function::X3); [line 35, column 3]\n n$1=_fun_function::X3::X3(&x:function::X3*) [line 35, column 5]\n " shape="box"] - "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" ; + "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_5" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" ; "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_1" [label="1: Start function::div0_create_and_get_val\nFormals: \nLocals: \n " color=yellow style=filled] @@ -59,29 +75,37 @@ digraph cfg { "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_2" [label="2: Exit function::div0_create_and_get_val \n " color=yellow style=filled] -"div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 68, column 10]\n n$1=_fun_function::createAndGetVal() [line 68, column 34]\n *&return:int=(n$0 / n$1) [line 68, column 3]\n " shape="box"] +"div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 68, column 10]\n n$1=_fun_function::createAndGetVal() [line 68, column 34]\n " shape="box"] + + + "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_3" -> "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_4" ; +"div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_4" [label="4: Return Stmt \n *&return:int=(n$0 / n$1) [line 68, column 3]\n " shape="box"] - "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_3" -> "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_2" ; + "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_4" -> "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_2" ; "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_1" [label="1: Start function::div0_get_val\nFormals: \nLocals: x3:function::X3 x1:function::X1 \n " color=yellow style=filled] - "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_1" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" ; + "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_1" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_6" ; "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_2" [label="2: Exit function::div0_get_val \n " color=yellow style=filled] -"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x1:function::X1&) [line 58, column 10]\n n$1=_fun_function::getVal(&x3:function::X3&) [line 58, column 23]\n *&return:int=(n$0 / n$1) [line 58, column 3]\n " shape="box"] +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x1:function::X1&) [line 58, column 10]\n n$1=_fun_function::getVal(&x3:function::X3&) [line 58, column 23]\n " shape="box"] - "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 VARIABLE_DECLARED(x3:function::X3); [line 57, column 3]\n n$2=_fun_function::X3::X3(&x3:function::X3*) [line 57, column 6]\n " shape="box"] + "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" ; +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" [label="4: Return Stmt \n *&return:int=(n$0 / n$1) [line 58, column 3]\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 VARIABLE_DECLARED(x1:function::X1); [line 56, column 3]\n n$3=_fun_function::X1::X1(&x1:function::X1*) [line 56, column 6]\n " shape="box"] + "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_2" ; +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x3:function::X3); [line 57, column 3]\n n$2=_fun_function::X3::X3(&x3:function::X3*) [line 57, column 6]\n " shape="box"] - "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" ; + "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" ; +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:function::X1); [line 56, column 3]\n n$3=_fun_function::X1::X1(&x1:function::X1*) [line 56, column 6]\n " shape="box"] + + + "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_6" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" ; "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_1" [label="1: Start function::div1_create_and_get_val\nFormals: \nLocals: \n " color=yellow style=filled] @@ -89,29 +113,37 @@ digraph cfg { "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_2" [label="2: Exit function::div1_create_and_get_val \n " color=yellow style=filled] -"div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 72, column 10]\n n$1=_fun_function::createAndGetVal() [line 72, column 34]\n *&return:int=(n$0 / n$1) [line 72, column 3]\n " shape="box"] +"div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 72, column 10]\n n$1=_fun_function::createAndGetVal() [line 72, column 34]\n " shape="box"] - "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_3" -> "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_2" ; + "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_3" -> "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_4" ; +"div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_4" [label="4: Return Stmt \n *&return:int=(n$0 / n$1) [line 72, column 3]\n " shape="box"] + + + "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_4" -> "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_2" ; "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_1" [label="1: Start function::div1_get_val\nFormals: \nLocals: x3:function::X3 x1:function::X1 \n " color=yellow style=filled] - "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_1" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" ; + "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_1" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_6" ; "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_2" [label="2: Exit function::div1_get_val \n " color=yellow style=filled] -"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x3:function::X3&) [line 64, column 10]\n n$1=_fun_function::getVal(&x1:function::X1&) [line 64, column 23]\n *&return:int=(n$0 / n$1) [line 64, column 3]\n " shape="box"] +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x3:function::X3&) [line 64, column 10]\n n$1=_fun_function::getVal(&x1:function::X1&) [line 64, column 23]\n " shape="box"] + + + "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" ; +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" [label="4: Return Stmt \n *&return:int=(n$0 / n$1) [line 64, column 3]\n " shape="box"] - "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 VARIABLE_DECLARED(x3:function::X3); [line 63, column 3]\n n$2=_fun_function::X3::X3(&x3:function::X3*) [line 63, column 6]\n " shape="box"] + "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_2" ; +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x3:function::X3); [line 63, column 3]\n n$2=_fun_function::X3::X3(&x3:function::X3*) [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 VARIABLE_DECLARED(x1:function::X1); [line 62, column 3]\n n$3=_fun_function::X1::X1(&x1:function::X1*) [line 62, column 6]\n " shape="box"] + "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" ; +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:function::X1); [line 62, column 3]\n n$3=_fun_function::X1::X1(&x1:function::X1*) [line 62, column 6]\n " shape="box"] - "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" ; + "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_6" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" ; "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_1" [label="1: Start function::getVal\nFormals: x:function::X1&\nLocals: \n " color=yellow style=filled] @@ -119,10 +151,14 @@ digraph cfg { "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_2" [label="2: Exit function::getVal \n " color=yellow style=filled] -"getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_3" [label="3: Return Stmt \n n$0=*&x:function::X1& [line 24, column 10]\n _=*n$0:function::X1 [line 24, column 10]\n n$2=_fun_function::X1::getVal(n$0:function::X1&) [line 24, column 10]\n *&return:int=n$2 [line 24, column 3]\n " shape="box"] +"getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_3" [label="3: Return Stmt \n n$0=*&x:function::X1& [line 24, column 10]\n _=*n$0:function::X1 [line 24, column 10]\n n$2=_fun_function::X1::getVal(n$0:function::X1&) [line 24, column 10]\n " shape="box"] + + + "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_3" -> "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_4" ; +"getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_4" [label="4: Return Stmt \n *&return:int=n$2 [line 24, column 3]\n " shape="box"] - "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_3" -> "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_2" ; + "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_4" -> "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_2" ; "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_1" [label="1: Start function::getVal\nFormals: x:function::X3&\nLocals: \n " color=yellow style=filled] @@ -130,10 +166,14 @@ digraph cfg { "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_2" [label="2: Exit function::getVal \n " color=yellow style=filled] -"getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_3" [label="3: Return Stmt \n n$0=*&x:function::X3& [line 30, column 10]\n _=*n$0:function::X3 [line 30, column 10]\n n$2=_fun_function::X3::get(n$0:function::X3&) [line 30, column 10]\n *&return:int=n$2 [line 30, column 3]\n " shape="box"] +"getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_3" [label="3: Return Stmt \n n$0=*&x:function::X3& [line 30, column 10]\n _=*n$0:function::X3 [line 30, column 10]\n n$2=_fun_function::X3::get(n$0:function::X3&) [line 30, column 10]\n " shape="box"] + + + "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_3" -> "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_4" ; +"getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_4" [label="4: Return Stmt \n *&return:int=n$2 [line 30, column 3]\n " shape="box"] - "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_3" -> "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_2" ; + "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_4" -> "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_2" ; "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_1" [label="1: Start function::X1::getVal\nFormals: this:function::X1*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/function_pack.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/function_pack.cpp.dot index 1ca96ee98..7eb944da7 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/function_pack.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/function_pack.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_2" [label="2: Exit div \n " color=yellow style=filled] -"div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_3" [label="3: Return Stmt \n n$0=*&d:int [line 9, column 29]\n *&return:int=(1 / n$0) [line 9, column 18]\n " shape="box"] +"div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_3" [label="3: Return Stmt \n n$0=*&d:int [line 9, column 29]\n " shape="box"] - "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_3" -> "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_2" ; + "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_3" -> "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_4" ; +"div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 9, column 18]\n " shape="box"] + + + "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_4" -> "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_2" ; "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_1" [label="1: Start div0_10args\nFormals: \nLocals: \n " color=yellow style=filled] @@ -18,10 +22,14 @@ digraph cfg { "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_2" [label="2: Exit div0_10args \n " color=yellow style=filled] -"div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_3" [label="3: Return Stmt \n n$0=_fun_div<5ae447456b906d06>(1:int,2:int,3:int,4:int,5:int,6:int,7:int,0:int,9:int,10:int) [line 21, column 28]\n *&return:int=n$0 [line 21, column 21]\n " shape="box"] +"div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_3" [label="3: Return Stmt \n n$0=_fun_div<5ae447456b906d06>(1:int,2:int,3:int,4:int,5:int,6:int,7:int,0:int,9:int,10:int) [line 21, column 28]\n " shape="box"] - "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_3" -> "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_2" ; + "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_3" -> "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_4" ; +"div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_4" [label="4: Return Stmt \n *&return:int=n$0 [line 21, column 21]\n " shape="box"] + + + "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_4" -> "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_2" ; "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_1" [label="1: Start div0_1arg\nFormals: \nLocals: \n " color=yellow style=filled] @@ -29,10 +37,14 @@ digraph cfg { "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_2" [label="2: Exit div0_1arg \n " color=yellow style=filled] -"div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_3" [label="3: Return Stmt \n n$0=_fun_div(0:int) [line 15, column 26]\n *&return:int=n$0 [line 15, column 19]\n " shape="box"] +"div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_3" [label="3: Return Stmt \n n$0=_fun_div(0:int) [line 15, column 26]\n " shape="box"] - "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_3" -> "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_2" ; + "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_3" -> "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_4" ; +"div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_4" [label="4: Return Stmt \n *&return:int=n$0 [line 15, column 19]\n " shape="box"] + + + "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_4" -> "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_2" ; "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_1" [label="1: Start div0_3args1\nFormals: \nLocals: \n " color=yellow style=filled] @@ -40,10 +52,14 @@ digraph cfg { "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_2" [label="2: Exit div0_3args1 \n " color=yellow style=filled] -"div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_3" [label="3: Return Stmt \n n$0=_fun_div(0:int,2:int,3:int) [line 17, column 28]\n *&return:int=n$0 [line 17, column 21]\n " shape="box"] +"div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_3" [label="3: Return Stmt \n n$0=_fun_div(0:int,2:int,3:int) [line 17, column 28]\n " shape="box"] + + + "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_3" -> "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_4" ; +"div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_4" [label="4: Return Stmt \n *&return:int=n$0 [line 17, column 21]\n " shape="box"] - "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_3" -> "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_2" ; + "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_4" -> "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_2" ; "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_1" [label="1: Start div0_3args2\nFormals: \nLocals: \n " color=yellow style=filled] @@ -51,10 +67,14 @@ digraph cfg { "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_2" [label="2: Exit div0_3args2 \n " color=yellow style=filled] -"div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,0:int,3:int) [line 18, column 28]\n *&return:int=n$0 [line 18, column 21]\n " shape="box"] +"div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,0:int,3:int) [line 18, column 28]\n " shape="box"] + + + "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_3" -> "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_4" ; +"div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_4" [label="4: Return Stmt \n *&return:int=n$0 [line 18, column 21]\n " shape="box"] - "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_3" -> "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_2" ; + "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_4" -> "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_2" ; "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_1" [label="1: Start div0_3args3\nFormals: \nLocals: \n " color=yellow style=filled] @@ -62,10 +82,14 @@ digraph cfg { "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_2" [label="2: Exit div0_3args3 \n " color=yellow style=filled] -"div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,2:int,0:int) [line 19, column 28]\n *&return:int=n$0 [line 19, column 21]\n " shape="box"] +"div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,2:int,0:int) [line 19, column 28]\n " shape="box"] + + + "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_3" -> "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_4" ; +"div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_4" [label="4: Return Stmt \n *&return:int=n$0 [line 19, column 21]\n " shape="box"] - "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_3" -> "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_2" ; + "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_4" -> "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_2" ; "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_1" [label="1: Start div0_3args4\nFormals: \nLocals: \n " color=yellow style=filled] @@ -73,10 +97,14 @@ digraph cfg { "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_2" [label="2: Exit div0_3args4 \n " color=yellow style=filled] -"div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,0:int,0:int) [line 20, column 28]\n *&return:int=n$0 [line 20, column 21]\n " shape="box"] +"div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,0:int,0:int) [line 20, column 28]\n " shape="box"] + + + "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_3" -> "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_4" ; +"div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_4" [label="4: Return Stmt \n *&return:int=n$0 [line 20, column 21]\n " shape="box"] - "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_3" -> "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_2" ; + "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_4" -> "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_2" ; "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_1" [label="1: Start div<5ae447456b906d06>\nFormals: v:int args:int args:int args:int args:int args:int args:int args:int args:int args:int\nLocals: \n " color=yellow style=filled] @@ -84,10 +112,14 @@ digraph cfg { "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_2" [label="2: Exit div<5ae447456b906d06> \n " color=yellow style=filled] -"div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=*&args:int [line 12, column 22]\n n$9=*&args:int [line 12, column 22]\n n$10=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int,n$8:int,n$9:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$10) [line 12, column 3]\n " shape="box"] +"div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=*&args:int [line 12, column 22]\n n$9=*&args:int [line 12, column 22]\n n$10=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int,n$8:int,n$9:int) [line 12, column 18]\n " shape="box"] - "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_3" -> "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_2" ; + "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_3" -> "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_4" ; +"div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_4" [label="4: Return Stmt \n *&return:int=((1 / n$0) + n$10) [line 12, column 3]\n " shape="box"] + + + "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_4" -> "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_2" ; "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_1" [label="1: Start div\nFormals: v:int args:int args:int args:int args:int args:int args:int args:int args:int\nLocals: \n " color=yellow style=filled] @@ -95,10 +127,14 @@ digraph cfg { "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_2" [label="2: Exit div \n " color=yellow style=filled] -"div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=*&args:int [line 12, column 22]\n n$9=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int,n$8:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$9) [line 12, column 3]\n " shape="box"] +"div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=*&args:int [line 12, column 22]\n n$9=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int,n$8:int) [line 12, column 18]\n " shape="box"] + + + "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_3" -> "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_4" ; +"div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_4" [label="4: Return Stmt \n *&return:int=((1 / n$0) + n$9) [line 12, column 3]\n " shape="box"] - "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_3" -> "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_2" ; + "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_4" -> "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_2" ; "div#6206795879557593257.947579aeef725938370fdf2599d7b021_1" [label="1: Start div\nFormals: v:int args:int args:int args:int args:int args:int args:int args:int\nLocals: \n " color=yellow style=filled] @@ -106,10 +142,14 @@ digraph cfg { "div#6206795879557593257.947579aeef725938370fdf2599d7b021_2" [label="2: Exit div \n " color=yellow style=filled] -"div#6206795879557593257.947579aeef725938370fdf2599d7b021_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$8) [line 12, column 3]\n " shape="box"] +"div#6206795879557593257.947579aeef725938370fdf2599d7b021_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int) [line 12, column 18]\n " shape="box"] - "div#6206795879557593257.947579aeef725938370fdf2599d7b021_3" -> "div#6206795879557593257.947579aeef725938370fdf2599d7b021_2" ; + "div#6206795879557593257.947579aeef725938370fdf2599d7b021_3" -> "div#6206795879557593257.947579aeef725938370fdf2599d7b021_4" ; +"div#6206795879557593257.947579aeef725938370fdf2599d7b021_4" [label="4: Return Stmt \n *&return:int=((1 / n$0) + n$8) [line 12, column 3]\n " shape="box"] + + + "div#6206795879557593257.947579aeef725938370fdf2599d7b021_4" -> "div#6206795879557593257.947579aeef725938370fdf2599d7b021_2" ; "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_1" [label="1: Start div\nFormals: v:int args:int args:int args:int args:int args:int args:int\nLocals: \n " color=yellow style=filled] @@ -117,10 +157,14 @@ digraph cfg { "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_2" [label="2: Exit div \n " color=yellow style=filled] -"div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$7) [line 12, column 3]\n " shape="box"] +"div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int) [line 12, column 18]\n " shape="box"] - "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_3" -> "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_2" ; + "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_3" -> "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_4" ; +"div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_4" [label="4: Return Stmt \n *&return:int=((1 / n$0) + n$7) [line 12, column 3]\n " shape="box"] + + + "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_4" -> "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_2" ; "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_1" [label="1: Start div\nFormals: v:int args:int args:int args:int args:int args:int\nLocals: \n " color=yellow style=filled] @@ -128,10 +172,14 @@ digraph cfg { "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_2" [label="2: Exit div \n " color=yellow style=filled] -"div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$6) [line 12, column 3]\n " shape="box"] +"div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int) [line 12, column 18]\n " shape="box"] - "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_3" -> "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_2" ; + "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_3" -> "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_4" ; +"div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_4" [label="4: Return Stmt \n *&return:int=((1 / n$0) + n$6) [line 12, column 3]\n " shape="box"] + + + "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_4" -> "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_2" ; "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_1" [label="1: Start div\nFormals: v:int args:int args:int args:int args:int\nLocals: \n " color=yellow style=filled] @@ -139,10 +187,14 @@ digraph cfg { "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_2" [label="2: Exit div \n " color=yellow style=filled] -"div#8757625089851425298.b2435e522727548b9dd98f01f659493d_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$5) [line 12, column 3]\n " shape="box"] +"div#8757625089851425298.b2435e522727548b9dd98f01f659493d_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int) [line 12, column 18]\n " shape="box"] + + + "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_3" -> "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_4" ; +"div#8757625089851425298.b2435e522727548b9dd98f01f659493d_4" [label="4: Return Stmt \n *&return:int=((1 / n$0) + n$5) [line 12, column 3]\n " shape="box"] - "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_3" -> "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_2" ; + "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_4" -> "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_2" ; "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_1" [label="1: Start div\nFormals: v:int args:int args:int args:int\nLocals: \n " color=yellow style=filled] @@ -150,10 +202,14 @@ digraph cfg { "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_2" [label="2: Exit div \n " color=yellow style=filled] -"div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=_fun_div(n$1:int,n$2:int,n$3:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$4) [line 12, column 3]\n " shape="box"] +"div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=_fun_div(n$1:int,n$2:int,n$3:int) [line 12, column 18]\n " shape="box"] + + + "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_3" -> "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_4" ; +"div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_4" [label="4: Return Stmt \n *&return:int=((1 / n$0) + n$4) [line 12, column 3]\n " shape="box"] - "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_3" -> "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_2" ; + "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_4" -> "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_2" ; "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_1" [label="1: Start div\nFormals: v:int args:int args:int\nLocals: \n " color=yellow style=filled] @@ -161,10 +217,14 @@ digraph cfg { "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_2" [label="2: Exit div \n " color=yellow style=filled] -"div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=_fun_div(n$1:int,n$2:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$3) [line 12, column 3]\n " shape="box"] +"div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=_fun_div(n$1:int,n$2:int) [line 12, column 18]\n " shape="box"] + + + "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_3" -> "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_4" ; +"div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_4" [label="4: Return Stmt \n *&return:int=((1 / n$0) + n$3) [line 12, column 3]\n " shape="box"] - "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_3" -> "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_2" ; + "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_4" -> "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_2" ; "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_1" [label="1: Start div\nFormals: v:int args:int\nLocals: \n " color=yellow style=filled] @@ -172,10 +232,14 @@ digraph cfg { "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_2" [label="2: Exit div \n " color=yellow style=filled] -"div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=_fun_div(n$1:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$2) [line 12, column 3]\n " shape="box"] +"div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=_fun_div(n$1:int) [line 12, column 18]\n " shape="box"] + + + "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_3" -> "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_4" ; +"div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_4" [label="4: Return Stmt \n *&return:int=((1 / n$0) + n$2) [line 12, column 3]\n " shape="box"] - "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_3" -> "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_2" ; + "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_4" -> "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_2" ; "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_1" [label="1: Start no_div0_10args\nFormals: \nLocals: \n " color=yellow style=filled] @@ -183,10 +247,14 @@ digraph cfg { "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_2" [label="2: Exit no_div0_10args \n " color=yellow style=filled] -"no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_3" [label="3: Return Stmt \n n$0=_fun_div<5ae447456b906d06>(1:int,2:int,3:int,4:int,5:int,6:int,7:int,8:int,9:int,10:int) [line 24, column 31]\n *&return:int=n$0 [line 24, column 24]\n " shape="box"] +"no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_3" [label="3: Return Stmt \n n$0=_fun_div<5ae447456b906d06>(1:int,2:int,3:int,4:int,5:int,6:int,7:int,8:int,9:int,10:int) [line 24, column 31]\n " shape="box"] - "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_3" -> "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_2" ; + "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_3" -> "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_4" ; +"no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_4" [label="4: Return Stmt \n *&return:int=n$0 [line 24, column 24]\n " shape="box"] + + + "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_4" -> "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_2" ; "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_1" [label="1: Start no_div0_3_args\nFormals: \nLocals: \n " color=yellow style=filled] @@ -194,8 +262,12 @@ digraph cfg { "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_2" [label="2: Exit no_div0_3_args \n " color=yellow style=filled] -"no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,2:int,3:int) [line 23, column 31]\n *&return:int=n$0 [line 23, column 24]\n " shape="box"] +"no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,2:int,3:int) [line 23, column 31]\n " shape="box"] + + + "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_3" -> "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_4" ; +"no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_4" [label="4: Return Stmt \n *&return:int=n$0 [line 23, column 24]\n " shape="box"] - "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_3" -> "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_2" ; + "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_4" -> "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot index 9b7762cfb..dd3267e4b 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot @@ -3,133 +3,157 @@ digraph cfg { "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_1" [label="1: Start method::div0_getter\nFormals: \nLocals: g:method::Getter x2:method::X2 \n " color=yellow style=filled] - "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_1" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" ; + "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_1" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_6" ; "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_2" [label="2: Exit method::div0_getter \n " color=yellow style=filled] -"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" [label="3: Return Stmt \n _=*&g:method::Getter [line 40, column 14]\n n$1=_fun_method::Getter::get(&g:method::Getter&,&x2:method::X2&) [line 40, column 14]\n *&return:int=(1 / n$1) [line 40, column 3]\n " shape="box"] +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" [label="3: Return Stmt \n _=*&g:method::Getter [line 40, column 14]\n n$1=_fun_method::Getter::get(&g:method::Getter&,&x2:method::X2&) [line 40, column 14]\n " shape="box"] - "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_2" ; -"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 39, column 3]\n n$2=_fun_method::Getter::Getter(&g:method::Getter*) [line 39, column 10]\n " shape="box"] + "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" ; +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 40, column 3]\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 VARIABLE_DECLARED(x2:method::X2); [line 38, column 3]\n n$3=_fun_method::X2::X2(&x2:method::X2*) [line 38, column 6]\n " shape="box"] + "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_2" ; +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" [label="5: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 39, column 3]\n n$2=_fun_method::Getter::Getter(&g:method::Getter*) [line 39, column 10]\n " shape="box"] - "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" ; + "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" ; +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 38, column 3]\n n$3=_fun_method::X2::X2(&x2:method::X2*) [line 38, column 6]\n " shape="box"] + + + "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_6" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" ; "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_1" [label="1: Start method::div0_getter_templ\nFormals: \nLocals: g:method::GetterTempl x3:method::X3 x2:method::X2 \n " color=yellow style=filled] - "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_1" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" ; + "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_1" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_7" ; "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_2" [label="2: Exit method::div0_getter_templ \n " color=yellow style=filled] -"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 53, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x3:method::X3&,&x2:method::X2&) [line 53, column 14]\n *&return:int=(1 / n$1) [line 53, column 3]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 53, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x3:method::X3&,&x2:method::X2&) [line 53, column 14]\n " shape="box"] - "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 VARIABLE_DECLARED(g:method::GetterTempl); [line 52, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 52, column 19]\n " shape="box"] + "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" ; +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 53, column 3]\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 VARIABLE_DECLARED(x3:method::X3); [line 51, column 3]\n n$3=_fun_method::X3::X3(&x3:method::X3*) [line 51, column 6]\n " shape="box"] + "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_2" ; +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 52, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 52, column 19]\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 VARIABLE_DECLARED(x2:method::X2); [line 50, column 3]\n n$4=_fun_method::X2::X2(&x2:method::X2*) [line 50, column 6]\n " shape="box"] + "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" ; +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x3:method::X3); [line 51, column 3]\n n$3=_fun_method::X3::X3(&x3:method::X3*) [line 51, column 6]\n " shape="box"] "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" ; +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 50, column 3]\n n$4=_fun_method::X2::X2(&x2:method::X2*) [line 50, column 6]\n " shape="box"] + + + "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_7" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" ; "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_1" [label="1: Start method::div0_getter_templ2\nFormals: \nLocals: g:method::GetterTempl x2_2:method::X2 x2_1:method::X2 \n " color=yellow style=filled] - "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_1" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" ; + "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_1" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_7" ; "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_2" [label="2: Exit method::div0_getter_templ2 \n " color=yellow style=filled] -"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 60, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x2_1:method::X2&,&x2_2:method::X2&) [line 60, column 14]\n *&return:int=(1 / n$1) [line 60, column 3]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 60, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x2_1:method::X2&,&x2_2:method::X2&) [line 60, column 14]\n " shape="box"] - "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 VARIABLE_DECLARED(g:method::GetterTempl); [line 59, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 59, column 19]\n " shape="box"] + "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" ; +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 60, column 3]\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 VARIABLE_DECLARED(x2_2:method::X2); [line 58, column 3]\n n$3=_fun_method::X2::X2(&x2_2:method::X2*) [line 58, column 6]\n " shape="box"] + "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_2" ; +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 59, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 59, column 19]\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 VARIABLE_DECLARED(x2_1:method::X2); [line 57, column 3]\n n$4=_fun_method::X2::X2(&x2_1:method::X2*) [line 57, column 6]\n " shape="box"] + "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" ; +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2_2:method::X2); [line 58, column 3]\n n$3=_fun_method::X2::X2(&x2_2:method::X2*) [line 58, column 6]\n " shape="box"] "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" ; +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x2_1:method::X2); [line 57, column 3]\n n$4=_fun_method::X2::X2(&x2_1:method::X2*) [line 57, column 6]\n " shape="box"] + + + "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_7" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" ; "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_1" [label="1: Start method::div1_getter\nFormals: \nLocals: g:method::Getter x1:method::X1 \n " color=yellow style=filled] - "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_1" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" ; + "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_1" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_6" ; "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_2" [label="2: Exit method::div1_getter \n " color=yellow style=filled] -"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" [label="3: Return Stmt \n _=*&g:method::Getter [line 46, column 14]\n n$1=_fun_method::Getter::get(&g:method::Getter&,&x1:method::X1&) [line 46, column 14]\n *&return:int=(1 / n$1) [line 46, column 3]\n " shape="box"] +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" [label="3: Return Stmt \n _=*&g:method::Getter [line 46, column 14]\n n$1=_fun_method::Getter::get(&g:method::Getter&,&x1:method::X1&) [line 46, column 14]\n " shape="box"] - "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_2" ; -"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 45, column 3]\n n$2=_fun_method::Getter::Getter(&g:method::Getter*) [line 45, column 10]\n " shape="box"] + "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" ; +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 46, column 3]\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 VARIABLE_DECLARED(x1:method::X1); [line 44, column 3]\n n$3=_fun_method::X1::X1(&x1:method::X1*) [line 44, column 6]\n " shape="box"] + "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_2" ; +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" [label="5: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 45, column 3]\n n$2=_fun_method::Getter::Getter(&g:method::Getter*) [line 45, column 10]\n " shape="box"] - "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" ; + "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" ; +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:method::X1); [line 44, column 3]\n n$3=_fun_method::X1::X1(&x1:method::X1*) [line 44, column 6]\n " shape="box"] + + + "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_6" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" ; "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_1" [label="1: Start method::div1_getter_templ\nFormals: \nLocals: g:method::GetterTempl x2:method::X2 x1:method::X1 \n " color=yellow style=filled] - "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_1" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" ; + "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_1" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_7" ; "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_2" [label="2: Exit method::div1_getter_templ \n " color=yellow style=filled] -"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 67, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x2:method::X2&,&x1:method::X1&) [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 67, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x2:method::X2&,&x1:method::X1&) [line 67, column 14]\n " shape="box"] - "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 VARIABLE_DECLARED(g:method::GetterTempl); [line 66, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 66, column 19]\n " shape="box"] + "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" ; +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 67, column 3]\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 VARIABLE_DECLARED(x2:method::X2); [line 65, column 3]\n n$3=_fun_method::X2::X2(&x2:method::X2*) [line 65, column 6]\n " shape="box"] + "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_2" ; +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 66, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 66, column 19]\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 VARIABLE_DECLARED(x1:method::X1); [line 64, column 3]\n n$4=_fun_method::X1::X1(&x1:method::X1*) [line 64, column 6]\n " shape="box"] + "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" ; +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 65, column 3]\n n$3=_fun_method::X2::X2(&x2:method::X2*) [line 65, column 6]\n " shape="box"] "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" ; +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x1:method::X1); [line 64, column 3]\n n$4=_fun_method::X1::X1(&x1:method::X1*) [line 64, column 6]\n " shape="box"] + + + "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_7" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" ; "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_1" [label="1: Start method::div1_getter_templ2\nFormals: \nLocals: g:method::GetterTempl x1_2:method::X1 x1_1:method::X1 \n " color=yellow style=filled] - "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_1" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" ; + "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_1" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_7" ; "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_2" [label="2: Exit method::div1_getter_templ2 \n " color=yellow style=filled] -"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 74, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x1_1:method::X1&,&x1_2:method::X1&) [line 74, column 14]\n *&return:int=(1 / n$1) [line 74, column 3]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 74, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x1_1:method::X1&,&x1_2:method::X1&) [line 74, column 14]\n " shape="box"] - "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 VARIABLE_DECLARED(g:method::GetterTempl); [line 73, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 73, column 19]\n " shape="box"] + "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" ; +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 74, column 3]\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 VARIABLE_DECLARED(x1_2:method::X1); [line 72, column 3]\n n$3=_fun_method::X1::X1(&x1_2:method::X1*) [line 72, column 6]\n " shape="box"] + "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_2" ; +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" [label="5: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 73, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 73, column 19]\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 VARIABLE_DECLARED(x1_1:method::X1); [line 71, column 3]\n n$4=_fun_method::X1::X1(&x1_1:method::X1*) [line 71, column 6]\n " shape="box"] + "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" ; +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1_2:method::X1); [line 72, column 3]\n n$3=_fun_method::X1::X1(&x1_2:method::X1*) [line 72, column 6]\n " shape="box"] "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" ; +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x1_1:method::X1); [line 71, column 3]\n n$4=_fun_method::X1::X1(&x1_1:method::X1*) [line 71, column 6]\n " shape="box"] + + + "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_7" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" ; "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_1" [label="1: Start method::Getter::get\nFormals: this:method::Getter* s:method::X2&\nLocals: \n " color=yellow style=filled] @@ -137,10 +161,14 @@ digraph cfg { "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_2" [label="2: Exit method::Getter::get \n " color=yellow style=filled] -"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" [label="3: Return Stmt \n n$0=*&s:method::X2& [line 25, column 12]\n _=*n$0:method::X2 [line 25, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n " shape="box"] +"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" [label="3: Return Stmt \n n$0=*&s:method::X2& [line 25, column 12]\n _=*n$0:method::X2 [line 25, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 25, column 12]\n " shape="box"] - "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" -> "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_2" ; + "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" -> "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_4" ; +"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_4" [label="4: Return Stmt \n *&return:int=n$2 [line 25, column 5]\n " shape="box"] + + + "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_4" -> "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_2" ; "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_1" [label="1: Start method::Getter::get\nFormals: this:method::Getter* s:method::X1&\nLocals: \n " color=yellow style=filled] @@ -148,10 +176,14 @@ digraph cfg { "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_2" [label="2: Exit method::Getter::get \n " color=yellow style=filled] -"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" [label="3: Return Stmt \n n$0=*&s:method::X1& [line 25, column 12]\n _=*n$0:method::X1 [line 25, column 12]\n n$2=_fun_method::X1::get(n$0:method::X1&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n " shape="box"] +"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" [label="3: Return Stmt \n n$0=*&s:method::X1& [line 25, column 12]\n _=*n$0:method::X1 [line 25, column 12]\n n$2=_fun_method::X1::get(n$0:method::X1&) [line 25, column 12]\n " shape="box"] + + + "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" -> "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_4" ; +"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_4" [label="4: Return Stmt \n *&return:int=n$2 [line 25, column 5]\n " shape="box"] - "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" -> "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_2" ; + "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_4" -> "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_2" ; "Getter#Getter#method#{6538771732485235037|constexpr}.4e1a7679a514fd95621c9e075c8974f6_1" [label="1: Start method::Getter::Getter\nFormals: this:method::Getter*\nLocals: \n " color=yellow style=filled] @@ -166,10 +198,14 @@ digraph cfg { "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_2" [label="2: Exit method::GetterTempl::get \n " color=yellow style=filled] -"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" [label="3: Return Stmt \n n$0=*&t:method::X1& [line 33, column 12]\n _=*n$0:method::X1 [line 33, column 12]\n n$2=_fun_method::X1::get(n$0:method::X1&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1::get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] +"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" [label="3: Return Stmt \n n$0=*&t:method::X1& [line 33, column 12]\n _=*n$0:method::X1 [line 33, column 12]\n n$2=_fun_method::X1::get(n$0:method::X1&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1::get(n$3:method::X1&) [line 33, column 22]\n " shape="box"] + + + "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" -> "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_4" ; +"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_4" [label="4: Return Stmt \n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] - "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" -> "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_2" ; + "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_4" -> "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_2" ; "GetterTempl#GetterTempl#method#{11902154262179469385|constexpr}.419d9b7f14a1b25d173f0430e77d8bfb_1" [label="1: Start method::GetterTempl::GetterTempl\nFormals: this:method::GetterTempl*\nLocals: \n " color=yellow style=filled] @@ -184,10 +220,14 @@ digraph cfg { "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_2" [label="2: Exit method::GetterTempl::get \n " color=yellow style=filled] -"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" [label="3: Return Stmt \n n$0=*&t:method::X3& [line 33, column 12]\n _=*n$0:method::X3 [line 33, column 12]\n n$2=_fun_method::X3::get(n$0:method::X3&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2::get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] +"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" [label="3: Return Stmt \n n$0=*&t:method::X3& [line 33, column 12]\n _=*n$0:method::X3 [line 33, column 12]\n n$2=_fun_method::X3::get(n$0:method::X3&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2::get(n$3:method::X2&) [line 33, column 22]\n " shape="box"] - "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" -> "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_2" ; + "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" -> "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_4" ; +"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_4" [label="4: Return Stmt \n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] + + + "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_4" -> "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_2" ; "GetterTempl#GetterTempl#method#{18312978847092644663|constexpr}.45498dd9c6ecdd204d778582a0198bd9_1" [label="1: Start method::GetterTempl::GetterTempl\nFormals: this:method::GetterTempl*\nLocals: \n " color=yellow style=filled] @@ -202,10 +242,14 @@ digraph cfg { "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_2" [label="2: Exit method::GetterTempl::get \n " color=yellow style=filled] -"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2::get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] +"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2::get(n$3:method::X2&) [line 33, column 22]\n " shape="box"] + + + "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" -> "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_4" ; +"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_4" [label="4: Return Stmt \n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] - "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" -> "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_2" ; + "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_4" -> "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_2" ; "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_1" [label="1: Start method::GetterTempl::get\nFormals: this:method::GetterTempl* t:method::X2& s:method::X1&\nLocals: \n " color=yellow style=filled] @@ -213,10 +257,14 @@ digraph cfg { "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_2" [label="2: Exit method::GetterTempl::get \n " color=yellow style=filled] -"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1::get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] +"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1::get(n$3:method::X1&) [line 33, column 22]\n " shape="box"] + + + "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" -> "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_4" ; +"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_4" [label="4: Return Stmt \n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] - "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" -> "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_2" ; + "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_4" -> "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_2" ; "GetterTempl#GetterTempl#method#{13405882915250525948|constexpr}.eb82a5c0e827f04da7e438cdbeef1353_1" [label="1: Start method::GetterTempl::GetterTempl\nFormals: this:method::GetterTempl*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/simple.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/simple.cpp.dot index caf505203..1d016e5be 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/simple.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/simple.cpp.dot @@ -3,31 +3,39 @@ digraph cfg { "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_1" [label="1: Start div0_struct_field\nFormals: v:X&\nLocals: \n " color=yellow style=filled] - "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_1" -> "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_4" ; + "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_1" -> "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_5" ; "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_2" [label="2: Exit div0_struct_field \n " color=yellow style=filled] -"div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" [label="3: Return Stmt \n n$0=*&v:X& [line 24, column 14]\n n$1=*n$0.field:int [line 24, column 14]\n *&return:int=(1 / n$1) [line 24, column 3]\n " shape="box"] +"div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" [label="3: Return Stmt \n n$0=*&v:X& [line 24, column 14]\n n$1=*n$0.field:int [line 24, column 14]\n " shape="box"] - "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" -> "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_2" ; -"div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&v:X& [line 23, column 3]\n *n$2.field:int=0 [line 23, column 3]\n " shape="box"] + "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" -> "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_4" ; +"div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 24, column 3]\n " shape="box"] - "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_4" -> "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" ; + "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_4" -> "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_2" ; +"div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&v:X& [line 23, column 3]\n *n$2.field:int=0 [line 23, column 3]\n " shape="box"] + + + "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_5" -> "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" ; "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_1" [label="1: Start div0_template_field\nFormals: v:Container&\nLocals: \n " color=yellow style=filled] - "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_1" -> "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_4" ; + "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_1" -> "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_5" ; "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_2" [label="2: Exit div0_template_field \n " color=yellow style=filled] -"div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_3" [label="3: Return Stmt \n n$0=*&v:Container& [line 19, column 14]\n n$1=*n$0.field:int [line 19, column 14]\n *&return:int=(1 / n$1) [line 19, column 3]\n " shape="box"] +"div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_3" [label="3: Return Stmt \n n$0=*&v:Container& [line 19, column 14]\n n$1=*n$0.field:int [line 19, column 14]\n " shape="box"] + + + "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_3" -> "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_4" ; +"div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 19, column 3]\n " shape="box"] - "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_3" -> "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_2" ; -"div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&v:Container& [line 18, column 3]\n *n$2.field:int=0 [line 18, column 3]\n " shape="box"] + "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_4" -> "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_2" ; +"div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&v:Container& [line 18, column 3]\n *n$2.field:int=0 [line 18, column 3]\n " shape="box"] - "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_4" -> "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_3" ; + "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_5" -> "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_3" ; } 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 8d4da55e4..479f90dc5 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot @@ -30,7 +30,7 @@ digraph cfg { "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_1" [label="1: Start hash_combine_generic\nFormals: t:int const & ts:int const & ts:int const &\nLocals: seed:int \n " color=yellow style=filled] - "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_1" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" ; + "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_1" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_9" ; "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_2" [label="2: Exit hash_combine_generic \n " color=yellow style=filled] @@ -50,15 +50,19 @@ digraph cfg { "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_6" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_4" ; -"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_7" [label="7: Return Stmt \n n$0=*&seed:int [line 16, column 12]\n *&return:int=n$0 [line 16, column 5]\n " shape="box"] +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_7" [label="7: Return Stmt \n n$0=*&seed:int [line 16, column 12]\n " shape="box"] - "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_7" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_2" ; -"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" [label="8: DeclStmt \n VARIABLE_DECLARED(seed:int); [line 14, column 3]\n n$4=*&t:int const & [line 14, column 27]\n n$5=*n$4:int [line 14, column 27]\n n$6=_fun_MyHasher::hash(n$5:int) [line 14, column 14]\n *&seed:int=n$6 [line 14, column 3]\n " shape="box"] + "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_7" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" ; +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" [label="8: Return Stmt \n *&return:int=n$0 [line 16, column 5]\n " shape="box"] - "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_5" ; - "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_6" ; + "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_2" ; +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_9" [label="9: DeclStmt \n VARIABLE_DECLARED(seed:int); [line 14, column 3]\n n$4=*&t:int const & [line 14, column 27]\n n$5=*n$4:int [line 14, column 27]\n n$6=_fun_MyHasher::hash(n$5:int) [line 14, column 14]\n *&seed:int=n$6 [line 14, column 3]\n " shape="box"] + + + "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_9" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_5" ; + "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_9" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_6" ; "hash#MyHasher#(17640498711428072031).032c86352e5db68decc9e37acbed2615_1" [label="1: Start MyHasher::hash\nFormals: t:int\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot index 28883cccc..989cffdf3 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot @@ -83,10 +83,14 @@ digraph cfg { "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_2" [label="2: Exit const_in_param1 \n " color=yellow style=filled] -"const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_3" [label="3: Return Stmt \n n$0=*&p:int const * [line 7, column 45]\n n$1=*n$0:int [line 7, column 44]\n *&return:int=n$1 [line 7, column 37]\n " shape="box"] +"const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_3" [label="3: Return Stmt \n n$0=*&p:int const * [line 7, column 45]\n n$1=*n$0:int [line 7, column 44]\n " shape="box"] - "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_3" -> "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_2" ; + "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_3" -> "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_4" ; +"const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_4" [label="4: Return Stmt \n *&return:int=n$1 [line 7, column 37]\n " shape="box"] + + + "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_4" -> "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_2" ; "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_1" [label="1: Start const_in_param2\nFormals: p:int const * const \nLocals: \n " color=yellow style=filled] @@ -94,8 +98,12 @@ digraph cfg { "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_2" [label="2: Exit const_in_param2 \n " color=yellow style=filled] -"const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_3" [label="3: Return Stmt \n n$0=*&p:int const * [line 9, column 51]\n n$1=*n$0:int [line 9, column 50]\n *&return:int=n$1 [line 9, column 43]\n " shape="box"] +"const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_3" [label="3: Return Stmt \n n$0=*&p:int const * [line 9, column 51]\n n$1=*n$0:int [line 9, column 50]\n " shape="box"] + + + "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_3" -> "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_4" ; +"const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_4" [label="4: Return Stmt \n *&return:int=n$1 [line 9, column 43]\n " shape="box"] - "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_3" -> "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_2" ; + "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_4" -> "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/types/functions.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/functions.cpp.dot index ecd7c5817..1d1af3604 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/functions.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/functions.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_2" [label="2: Exit fun_default \n " color=yellow style=filled] -"fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_3" [label="3: Return Stmt \n n$0=*&a:int [line 8, column 48]\n n$1=*&b:int [line 8, column 52]\n *&return:int=(n$0 + n$1) [line 8, column 41]\n " shape="box"] +"fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_3" [label="3: Return Stmt \n n$0=*&a:int [line 8, column 48]\n n$1=*&b:int [line 8, column 52]\n " shape="box"] - "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_3" -> "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_2" ; + "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_3" -> "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_4" ; +"fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_4" [label="4: Return Stmt \n *&return:int=(n$0 + n$1) [line 8, column 41]\n " shape="box"] + + + "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_4" -> "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_2" ; "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_1" [label="1: Start fun_default_decl\nFormals: a:int b:int\nLocals: \n " color=yellow style=filled] @@ -18,10 +22,14 @@ digraph cfg { "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_2" [label="2: Exit fun_default_decl \n " color=yellow style=filled] -"fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_3" [label="3: Return Stmt \n n$0=*&a:int [line 12, column 45]\n n$1=*&b:int [line 12, column 49]\n *&return:int=(n$0 + n$1) [line 12, column 38]\n " shape="box"] +"fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_3" [label="3: Return Stmt \n n$0=*&a:int [line 12, column 45]\n n$1=*&b:int [line 12, column 49]\n " shape="box"] + + + "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_3" -> "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_4" ; +"fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_4" [label="4: Return Stmt \n *&return:int=(n$0 + n$1) [line 12, column 38]\n " shape="box"] - "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_3" -> "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_2" ; + "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_4" -> "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_2" ; "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_1" [label="1: Start fun_ignore_param\nFormals: a:int __param_1:int __param_2:int\nLocals: \n " color=yellow style=filled] @@ -29,10 +37,14 @@ digraph cfg { "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_2" [label="2: Exit fun_ignore_param \n " color=yellow style=filled] -"fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_3" [label="3: Return Stmt \n n$0=*&a:int [line 14, column 48]\n *&return:int=n$0 [line 14, column 41]\n " shape="box"] +"fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_3" [label="3: Return Stmt \n n$0=*&a:int [line 14, column 48]\n " shape="box"] + + + "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_3" -> "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_4" ; +"fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_4" [label="4: Return Stmt \n *&return:int=n$0 [line 14, column 41]\n " shape="box"] - "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_3" -> "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_2" ; + "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_4" -> "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_2" ; "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" [label="1: Start test\nFormals: \nLocals: \n " color=yellow style=filled] 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 b6cbf6d6f..c959cb798 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_2" [label="2: Exit inheritance_casts::div \n " color=yellow style=filled] -"div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_3" [label="3: Return Stmt \n n$0=*&x:inheritance_casts::A const & [line 24, column 34]\n n$1=*n$0.f:int [line 24, column 34]\n *&return:int=(1 / n$1) [line 24, column 23]\n " shape="box"] +"div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_3" [label="3: Return Stmt \n n$0=*&x:inheritance_casts::A const & [line 24, column 34]\n n$1=*n$0.f:int [line 24, column 34]\n " shape="box"] - "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_3" -> "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_2" ; + "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_3" -> "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_4" ; +"div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 24, column 23]\n " shape="box"] + + + "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_4" -> "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_2" ; "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_1" [label="1: Start inheritance_casts::div0_A\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const \n " color=yellow style=filled] @@ -22,10 +26,14 @@ digraph cfg { "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" -> "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_4" ; -"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_4" [label="4: Return Stmt \n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 26, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const [line 26, column 34]\n n$2=_fun_inheritance_casts::A::~A(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const *) injected [line 26, column 34]\n *&return:int=n$6 [line 26, column 16]\n " shape="box"] +"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_4" [label="4: Return Stmt \n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 26, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const [line 26, column 34]\n n$2=_fun_inheritance_casts::A::~A(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const *) injected [line 26, column 34]\n " shape="box"] - "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_4" -> "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_2" ; + "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_4" -> "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_5" ; +"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_5" [label="5: Return Stmt \n *&return:int=n$6 [line 26, column 16]\n " shape="box"] + + + "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_5" -> "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_2" ; "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_1" [label="1: Start inheritance_casts::div0_B\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const \n " color=yellow style=filled] @@ -37,10 +45,14 @@ digraph cfg { "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" -> "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_4" ; -"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_4" [label="4: Return Stmt \n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 30, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const [line 30, column 34]\n n$2=_fun_inheritance_casts::B::~B(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const *) injected [line 30, column 34]\n *&return:int=n$6 [line 30, column 16]\n " shape="box"] +"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_4" [label="4: Return Stmt \n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 30, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const [line 30, column 34]\n n$2=_fun_inheritance_casts::B::~B(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const *) injected [line 30, column 34]\n " shape="box"] - "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_4" -> "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_2" ; + "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_4" -> "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_5" ; +"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_5" [label="5: Return Stmt \n *&return:int=n$6 [line 30, column 16]\n " shape="box"] + + + "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_5" -> "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_2" ; "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_1" [label="1: Start inheritance_casts::div1_A\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const \n " color=yellow style=filled] @@ -52,10 +64,14 @@ digraph cfg { "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" -> "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_4" ; -"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_4" [label="4: Return Stmt \n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 28, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const [line 28, column 34]\n n$2=_fun_inheritance_casts::A::~A(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const *) injected [line 28, column 34]\n *&return:int=n$6 [line 28, column 16]\n " shape="box"] +"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_4" [label="4: Return Stmt \n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 28, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const [line 28, column 34]\n n$2=_fun_inheritance_casts::A::~A(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const *) injected [line 28, column 34]\n " shape="box"] + + + "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_4" -> "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_5" ; +"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_5" [label="5: Return Stmt \n *&return:int=n$6 [line 28, column 16]\n " shape="box"] - "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_4" -> "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_2" ; + "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_5" -> "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_2" ; "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_1" [label="1: Start inheritance_casts::div1_B\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const \n " color=yellow style=filled] @@ -67,48 +83,68 @@ digraph cfg { "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" -> "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_4" ; -"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_4" [label="4: Return Stmt \n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 32, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const [line 32, column 34]\n n$2=_fun_inheritance_casts::B::~B(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const *) injected [line 32, column 34]\n *&return:int=n$6 [line 32, column 16]\n " shape="box"] +"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_4" [label="4: Return Stmt \n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 32, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const [line 32, column 34]\n n$2=_fun_inheritance_casts::B::~B(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const *) injected [line 32, column 34]\n " shape="box"] + + + "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_4" -> "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_5" ; +"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_5" [label="5: Return Stmt \n *&return:int=n$6 [line 32, column 16]\n " shape="box"] - "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_4" -> "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_2" ; + "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_5" -> "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_2" ; "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_1" [label="1: Start inheritance_casts::getA\nFormals: f:int __return_param:inheritance_casts::A*\nLocals: x:inheritance_casts::A \n " color=yellow style=filled] - "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_1" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" ; + "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_1" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_7" ; "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_2" [label="2: Exit inheritance_casts::getA \n " color=yellow style=filled] -"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::A* [line 21, column 3]\n n$1=_fun_inheritance_casts::A::A(n$0:inheritance_casts::A*,&x:inheritance_casts::A&) [line 21, column 10]\n _=*&x:inheritance_casts::A [line 21, column 10]\n n$3=_fun_inheritance_casts::A::~A(&x:inheritance_casts::A*) injected [line 21, column 10]\n " shape="box"] +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::A* [line 21, column 3]\n " shape="box"] + + + "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" ; +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" [label="4: Return Stmt \n n$1=_fun_inheritance_casts::A::A(n$0:inheritance_casts::A*,&x:inheritance_casts::A&) [line 21, column 10]\n " shape="box"] + + + "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" ; +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" [label="5: Return Stmt \n _=*&x:inheritance_casts::A [line 21, column 10]\n n$3=_fun_inheritance_casts::A::~A(&x:inheritance_casts::A*) injected [line 21, column 10]\n " shape="box"] - "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_2" ; -"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 20, column 9]\n *&x.f:int=n$5 [line 20, column 3]\n " shape="box"] + "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_2" ; +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 20, column 9]\n *&x.f:int=n$5 [line 20, column 3]\n " shape="box"] - "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 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 " shape="box"] + "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_6" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" ; +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_7" [label="7: 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 " shape="box"] - "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" ; + "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_7" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_6" ; "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_1" [label="1: Start inheritance_casts::getB\nFormals: f:int __return_param:inheritance_casts::B*\nLocals: x:inheritance_casts::B \n " color=yellow style=filled] - "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_1" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" ; + "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_1" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_7" ; "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_2" [label="2: Exit inheritance_casts::getB \n " color=yellow style=filled] -"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::B* [line 16, column 3]\n n$1=_fun_inheritance_casts::B::B(n$0:inheritance_casts::B*,&x:inheritance_casts::B&) [line 16, column 10]\n _=*&x:inheritance_casts::B [line 16, column 10]\n n$3=_fun_inheritance_casts::B::~B(&x:inheritance_casts::B*) injected [line 16, column 10]\n " shape="box"] +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::B* [line 16, column 3]\n " shape="box"] + + + "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" ; +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" [label="4: Return Stmt \n n$1=_fun_inheritance_casts::B::B(n$0:inheritance_casts::B*,&x:inheritance_casts::B&) [line 16, column 10]\n " shape="box"] + + + "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" ; +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" [label="5: Return Stmt \n _=*&x:inheritance_casts::B [line 16, column 10]\n n$3=_fun_inheritance_casts::B::~B(&x:inheritance_casts::B*) injected [line 16, column 10]\n " shape="box"] - "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_2" ; -"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 15, column 9]\n *&x.f:int=n$5 [line 15, column 3]\n " shape="box"] + "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_2" ; +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 15, column 9]\n *&x.f:int=n$5 [line 15, column 3]\n " shape="box"] - "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 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 " shape="box"] + "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_6" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" ; +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_7" [label="7: 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 " shape="box"] - "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" ; + "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_7" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_6" ; "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_1" [label="1: Start inheritance_casts::A::A\nFormals: this:inheritance_casts::A* __param_0:inheritance_casts::A&\nLocals: \n " color=yellow style=filled] 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 757faa945..5cf6e690c 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot @@ -3,156 +3,192 @@ digraph cfg { "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_1" [label="1: Start div0_b1\nFormals: s:Sub&\nLocals: \n " color=yellow style=filled] - "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_1" -> "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_4" ; + "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_1" -> "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_5" ; "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_2" [label="2: Exit div0_b1 \n " color=yellow style=filled] -"div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 22, column 14]\n n$1=*n$0.b1:int [line 22, column 14]\n *&return:int=(1 / n$1) [line 22, column 3]\n " shape="box"] +"div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 22, column 14]\n n$1=*n$0.b1:int [line 22, column 14]\n " shape="box"] - "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" -> "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_2" ; -"div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 21, column 3]\n *n$2.b1:int=0 [line 21, column 3]\n " shape="box"] + "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" -> "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_4" ; +"div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 22, column 3]\n " shape="box"] - "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_4" -> "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" ; + "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_4" -> "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_2" ; +"div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 21, column 3]\n *n$2.b1:int=0 [line 21, column 3]\n " shape="box"] + + + "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_5" -> "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" ; "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_1" [label="1: Start div0_b1_s\nFormals: s:Sub*\nLocals: \n " color=yellow style=filled] - "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_1" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_5" ; + "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_1" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_6" ; "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_2" [label="2: Exit div0_b1_s \n " color=yellow style=filled] -"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 50, column 15]\n n$1=*n$0.b1:int [line 50, column 15]\n n$2=*&s:Sub* [line 50, column 23]\n n$3=*n$2.s:int [line 50, column 23]\n *&return:int=(1 / (n$1 - n$3)) [line 50, column 3]\n " shape="box"] +"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 50, column 15]\n n$1=*n$0.b1:int [line 50, column 15]\n n$2=*&s:Sub* [line 50, column 23]\n n$3=*n$2.s:int [line 50, column 23]\n " shape="box"] - "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_2" ; -"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 49, column 3]\n *n$4.s:int=1 [line 49, column 3]\n " shape="box"] + "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" ; +"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - n$3)) [line 50, column 3]\n " shape="box"] - "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" ; -"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 48, column 3]\n *n$5.b1:int=1 [line 48, column 3]\n " shape="box"] + "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_2" ; +"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 49, column 3]\n *n$4.s:int=1 [line 49, column 3]\n " shape="box"] - "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_5" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" ; + "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_5" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" ; +"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 48, column 3]\n *n$5.b1:int=1 [line 48, column 3]\n " shape="box"] + + + "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_6" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_5" ; "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_1" [label="1: Start div0_b2\nFormals: s:Sub&\nLocals: \n " color=yellow style=filled] - "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_1" -> "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_4" ; + "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_1" -> "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_5" ; "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_2" [label="2: Exit div0_b2 \n " color=yellow style=filled] -"div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 27, column 14]\n n$1=*n$0.b2:int [line 27, column 14]\n *&return:int=(1 / n$1) [line 27, column 3]\n " shape="box"] +"div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 27, column 14]\n n$1=*n$0.b2:int [line 27, column 14]\n " shape="box"] - "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" -> "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_2" ; -"div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 26, column 3]\n *n$2.b2:int=0 [line 26, column 3]\n " shape="box"] + "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" -> "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_4" ; +"div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 27, column 3]\n " shape="box"] - "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_4" -> "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" ; + "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_4" -> "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_2" ; +"div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 26, column 3]\n *n$2.b2:int=0 [line 26, column 3]\n " shape="box"] + + + "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_5" -> "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" ; "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_1" [label="1: Start div0_cast\nFormals: s:Sub*\nLocals: b:Base1* \n " color=yellow style=filled] - "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_1" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" ; + "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_1" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_6" ; "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 " 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 " shape="box"] + + + "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" ; +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [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 VARIABLE_DECLARED(b:Base1*); [line 37, column 3]\n n$2=*&s:Sub* [line 37, column 14]\n *&b:Sub*=n$2 [line 37, column 3]\n " shape="box"] + "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_2" ; +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 37, column 3]\n n$2=*&s:Sub* [line 37, column 14]\n *&b:Sub*=n$2 [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$3=*&s:Sub* [line 36, column 3]\n *n$3.b1:int=0 [line 36, column 3]\n " shape="box"] + "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" ; +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 36, column 3]\n *n$3.b1:int=0 [line 36, column 3]\n " shape="box"] - "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" ; + "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_6" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" ; "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_1" [label="1: Start div0_cast_ref\nFormals: s:Sub&\nLocals: b:Base1& \n " color=yellow style=filled] - "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_1" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" ; + "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_1" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_6" ; "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 " 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 " shape="box"] + + + "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" ; +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [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 VARIABLE_DECLARED(b:Base1&); [line 43, column 3]\n n$2=*&s:Sub& [line 43, column 14]\n *&b:Sub&=n$2 [line 43, column 3]\n " shape="box"] + "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_2" ; +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:Base1&); [line 43, column 3]\n n$2=*&s:Sub& [line 43, column 14]\n *&b:Sub&=n$2 [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$3=*&s:Sub& [line 42, column 3]\n *n$3.b1:int=0 [line 42, column 3]\n " shape="box"] + "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" ; +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&s:Sub& [line 42, column 3]\n *n$3.b1:int=0 [line 42, column 3]\n " shape="box"] - "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" ; + "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_6" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" ; "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_1" [label="1: Start div0_s\nFormals: s:Sub&\nLocals: \n " color=yellow style=filled] - "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_1" -> "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_4" ; + "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_1" -> "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_5" ; "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_2" [label="2: Exit div0_s \n " color=yellow style=filled] -"div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 32, column 14]\n n$1=*n$0.s:int [line 32, column 14]\n *&return:int=(1 / n$1) [line 32, column 3]\n " shape="box"] +"div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 32, column 14]\n n$1=*n$0.s:int [line 32, column 14]\n " shape="box"] + + + "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" -> "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_4" ; +"div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 32, column 3]\n " shape="box"] - "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" -> "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_2" ; -"div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 31, column 3]\n *n$2.s:int=0 [line 31, column 3]\n " shape="box"] + "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_4" -> "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_2" ; +"div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 31, column 3]\n *n$2.s:int=0 [line 31, column 3]\n " shape="box"] - "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_4" -> "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" ; + "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_5" -> "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" ; "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_1" [label="1: Start div0_s_b1\nFormals: s:Sub*\nLocals: \n " color=yellow style=filled] - "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_1" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_5" ; + "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_1" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_6" ; "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_2" [label="2: Exit div0_s_b1 \n " color=yellow style=filled] -"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 56, column 15]\n n$1=*n$0.b1:int [line 56, column 15]\n n$2=*&s:Sub* [line 56, column 23]\n n$3=*n$2.s:int [line 56, column 23]\n *&return:int=(1 / (n$1 - n$3)) [line 56, column 3]\n " shape="box"] +"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 56, column 15]\n n$1=*n$0.b1:int [line 56, column 15]\n n$2=*&s:Sub* [line 56, column 23]\n n$3=*n$2.s:int [line 56, column 23]\n " shape="box"] + + + "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" ; +"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - n$3)) [line 56, column 3]\n " shape="box"] - "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_2" ; -"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 55, column 3]\n *n$4.s:int=1 [line 55, column 3]\n " shape="box"] + "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_2" ; +"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 55, column 3]\n *n$4.s:int=1 [line 55, column 3]\n " shape="box"] - "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" ; -"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 54, column 3]\n *n$5.b1:int=1 [line 54, column 3]\n " shape="box"] + "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_5" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" ; +"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 54, column 3]\n *n$5.b1:int=1 [line 54, column 3]\n " shape="box"] - "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_5" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" ; + "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_6" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_5" ; "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_1" [label="1: Start div1_b1\nFormals: s:Sub&\nLocals: \n " color=yellow style=filled] - "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_1" -> "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_4" ; + "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_1" -> "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_5" ; "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_2" [label="2: Exit div1_b1 \n " color=yellow style=filled] -"div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 61, column 14]\n n$1=*n$0.b1:int [line 61, column 14]\n *&return:int=(1 / n$1) [line 61, column 3]\n " shape="box"] +"div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 61, column 14]\n n$1=*n$0.b1:int [line 61, column 14]\n " shape="box"] - "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" -> "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_2" ; -"div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 60, column 3]\n *n$2.b1:int=1 [line 60, column 3]\n " shape="box"] + "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" -> "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_4" ; +"div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 61, column 3]\n " shape="box"] - "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_4" -> "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" ; + "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_4" -> "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_2" ; +"div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 60, column 3]\n *n$2.b1:int=1 [line 60, column 3]\n " shape="box"] + + + "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_5" -> "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" ; "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_1" [label="1: Start div1_cast\nFormals: s:Sub*\nLocals: b:Base1* \n " color=yellow style=filled] - "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_1" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" ; + "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_1" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_6" ; "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 " 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 " shape="box"] + + + "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" ; +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [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 VARIABLE_DECLARED(b:Base1*); [line 66, column 3]\n n$2=*&s:Sub* [line 66, column 14]\n *&b:Sub*=n$2 [line 66, column 3]\n " shape="box"] + "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_2" ; +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 66, column 3]\n n$2=*&s:Sub* [line 66, column 14]\n *&b:Sub*=n$2 [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$3=*&s:Sub* [line 65, column 3]\n *n$3.b1:int=1 [line 65, column 3]\n " shape="box"] + "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" ; +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 65, column 3]\n *n$3.b1:int=1 [line 65, column 3]\n " shape="box"] - "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" ; + "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_6" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" ; } 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 7d84c1024..8423c7ade 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot @@ -3,18 +3,22 @@ digraph cfg { "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_1" [label="1: Start div0_function_op\nFormals: x:X&\nLocals: v:int \n " color=yellow style=filled] - "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_1" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" ; + "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_1" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_5" ; "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_2" [label="2: Exit div0_function_op \n " color=yellow style=filled] -"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" [label="3: Return Stmt \n n$0=*&v:int [line 29, column 14]\n *&return:int=(1 / n$0) [line 29, column 3]\n " shape="box"] +"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" [label="3: Return Stmt \n n$0=*&v:int [line 29, column 14]\n " shape="box"] - "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_2" ; -"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 28, column 3]\n n$1=*&x:X& [line 28, column 11]\n n$2=_fun_operator*(n$1:X&,0:int) [line 28, column 11]\n *&v:int=n$2 [line 28, column 3]\n " shape="box"] + "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" ; +"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 29, column 3]\n " shape="box"] - "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" ; + "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_2" ; +"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 28, column 3]\n n$1=*&x:X& [line 28, column 11]\n n$2=_fun_operator*(n$1:X&,0:int) [line 28, column 11]\n *&v:int=n$2 [line 28, column 3]\n " shape="box"] + + + "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_5" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" ; "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_1" [label="1: Start div0_inheritted_op\nFormals: y:Y&\nLocals: \n " color=yellow style=filled] @@ -22,40 +26,52 @@ digraph cfg { "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_2" [label="2: Exit div0_inheritted_op \n " color=yellow style=filled] -"div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_3" [label="3: Return Stmt \n n$1=*&y:Y& [line 40, column 14]\n n$2=_fun_X::operator[](n$1:Y&,0:int) [line 40, column 14]\n *&return:int=(1 / n$2) [line 40, column 3]\n " shape="box"] +"div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_3" [label="3: Return Stmt \n n$1=*&y:Y& [line 40, column 14]\n n$2=_fun_X::operator[](n$1:Y&,0:int) [line 40, column 14]\n " shape="box"] + + + "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_3" -> "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_4" ; +"div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 40, column 3]\n " shape="box"] - "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_3" -> "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_2" ; + "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_4" -> "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_2" ; "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_1" [label="1: Start div0_method\nFormals: x:X&\nLocals: v:int \n " color=yellow style=filled] - "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_1" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" ; + "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_1" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_5" ; "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_2" [label="2: Exit div0_method \n " color=yellow style=filled] -"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" [label="3: Return Stmt \n n$0=*&v:int [line 35, column 14]\n *&return:int=(1 / n$0) [line 35, column 3]\n " shape="box"] +"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" [label="3: Return Stmt \n n$0=*&v:int [line 35, column 14]\n " shape="box"] - "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_2" ; -"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 34, column 3]\n n$1=*&x:X& [line 34, column 11]\n _=*n$1:X [line 34, column 11]\n n$3=_fun_X::operator[](n$1:X&,0:int) [line 34, column 11]\n *&v:int=n$3 [line 34, column 3]\n " shape="box"] + "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" ; +"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 35, column 3]\n " shape="box"] - "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" ; + "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_2" ; +"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 34, column 3]\n n$1=*&x:X& [line 34, column 11]\n _=*n$1:X [line 34, column 11]\n n$3=_fun_X::operator[](n$1:X&,0:int) [line 34, column 11]\n *&v:int=n$3 [line 34, column 3]\n " shape="box"] + + + "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_5" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" ; "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_1" [label="1: Start div0_method_op\nFormals: x:X&\nLocals: v:int \n " color=yellow style=filled] - "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_1" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" ; + "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_1" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_5" ; "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_2" [label="2: Exit div0_method_op \n " color=yellow style=filled] -"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" [label="3: Return Stmt \n n$0=*&v:int [line 21, column 14]\n *&return:int=(1 / n$0) [line 21, column 3]\n " shape="box"] +"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" [label="3: Return Stmt \n n$0=*&v:int [line 21, column 14]\n " shape="box"] + + + "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" ; +"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 21, column 3]\n " shape="box"] - "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_2" ; -"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 20, column 3]\n n$2=*&x:X& [line 20, column 11]\n n$3=_fun_X::operator[](n$2:X&,0:int) [line 20, column 11]\n *&v:int=n$3 [line 20, column 3]\n " shape="box"] + "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_2" ; +"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 20, column 3]\n n$2=*&x:X& [line 20, column 11]\n n$3=_fun_X::operator[](n$2:X&,0:int) [line 20, column 11]\n *&v:int=n$3 [line 20, column 3]\n " shape="box"] - "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" ; + "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_5" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" ; "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_1" [label="1: Start div0_method_op_ptr\nFormals: x:X*\nLocals: \n " color=yellow style=filled] @@ -63,10 +79,14 @@ digraph cfg { "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_2" [label="2: Exit div0_method_op_ptr \n " color=yellow style=filled] -"div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_3" [label="3: Return Stmt \n n$1=*&x:X* [line 24, column 45]\n n$2=_fun_X::operator[](n$1:X&,0:int) [line 24, column 43]\n *&return:int=(1 / n$2) [line 24, column 32]\n " shape="box"] +"div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_3" [label="3: Return Stmt \n n$1=*&x:X* [line 24, column 45]\n n$2=_fun_X::operator[](n$1:X&,0:int) [line 24, column 43]\n " shape="box"] - "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_3" -> "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_2" ; + "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_3" -> "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_4" ; +"div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 24, column 32]\n " shape="box"] + + + "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_4" -> "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_2" ; "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_1" [label="1: Start div1_method_op\nFormals: x:X&\nLocals: \n " color=yellow style=filled] @@ -74,10 +94,14 @@ digraph cfg { "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_2" [label="2: Exit div1_method_op \n " color=yellow style=filled] -"div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_3" [label="3: Return Stmt \n n$1=*&x:X& [line 43, column 39]\n n$2=_fun_X::operator[](n$1:X&,1:int) [line 43, column 39]\n *&return:int=(1 / n$2) [line 43, column 28]\n " shape="box"] +"div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_3" [label="3: Return Stmt \n n$1=*&x:X& [line 43, column 39]\n n$2=_fun_X::operator[](n$1:X&,1:int) [line 43, column 39]\n " shape="box"] + + + "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_3" -> "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_4" ; +"div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 43, column 28]\n " shape="box"] - "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_3" -> "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_2" ; + "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_4" -> "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_2" ; "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_1" [label="1: Start operator*\nFormals: x1:X const & v:int\nLocals: \n " color=yellow style=filled] @@ -85,10 +109,14 @@ digraph cfg { "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_2" [label="2: Exit operator* \n " color=yellow style=filled] -"operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_3" [label="3: Return Stmt \n n$0=*&v:int [line 16, column 44]\n *&return:int=n$0 [line 16, column 37]\n " shape="box"] +"operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_3" [label="3: Return Stmt \n n$0=*&v:int [line 16, column 44]\n " shape="box"] - "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_3" -> "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_2" ; + "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_3" -> "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_4" ; +"operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_4" [label="4: Return Stmt \n *&return:int=n$0 [line 16, column 37]\n " shape="box"] + + + "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_4" -> "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_2" ; "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_1" [label="1: Start X::operator[]\nFormals: this:X* x:int\nLocals: \n " color=yellow style=filled] @@ -96,8 +124,12 @@ digraph cfg { "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_2" [label="2: Exit X::operator[] \n " color=yellow style=filled] -"operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_3" [label="3: Return Stmt \n n$0=*&x:int [line 10, column 34]\n *&return:int=n$0 [line 10, column 27]\n " shape="box"] +"operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_3" [label="3: Return Stmt \n n$0=*&x:int [line 10, column 34]\n " shape="box"] + + + "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_3" -> "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_4" ; +"operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_4" [label="4: Return Stmt \n *&return:int=n$0 [line 10, column 27]\n " shape="box"] - "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_3" -> "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_2" ; + "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_4" -> "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot index 190300cfe..b5db516ab 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot @@ -3,72 +3,88 @@ digraph cfg { "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_1" [label="1: Start return_struct::get\nFormals: a:int __return_param:return_struct::X*\nLocals: x:return_struct::X \n " color=yellow style=filled] - "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_1" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" ; + "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_1" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_7" ; "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_2" [label="2: Exit return_struct::get \n " color=yellow style=filled] -"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" [label="3: Return Stmt \n n$0=*&__return_param:return_struct::X* [line 22, column 3]\n n$1=_fun_return_struct::X::X(n$0:return_struct::X*,&x:return_struct::X&) [line 22, column 10]\n _=*&x:return_struct::X [line 22, column 10]\n n$3=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 22, column 10]\n " shape="box"] +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" [label="3: Return Stmt \n n$0=*&__return_param:return_struct::X* [line 22, column 3]\n " shape="box"] - "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_2" ; -"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&a:int [line 21, column 9]\n *&x.f:int=n$5 [line 21, column 3]\n " shape="box"] + "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" ; +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" [label="4: Return Stmt \n n$1=_fun_return_struct::X::X(n$0:return_struct::X*,&x:return_struct::X&) [line 22, column 10]\n " shape="box"] - "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 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 " shape="box"] + "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" ; +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" [label="5: Return Stmt \n _=*&x:return_struct::X [line 22, column 10]\n n$3=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 22, column 10]\n " shape="box"] - "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" ; + "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_2" ; +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_6" [label="6: BinaryOperatorStmt: Assign \n n$5=*&a:int [line 21, column 9]\n *&x.f:int=n$5 [line 21, column 3]\n " shape="box"] + + + "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_6" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" ; +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_7" [label="7: 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 " shape="box"] + + + "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_7" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_6" ; "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_1" [label="1: Start return_struct::get_div0\nFormals: \nLocals: x:return_struct::X 0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const \n " color=yellow style=filled] - "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_1" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_5" ; + "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_1" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_6" ; "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_2" [label="2: Exit return_struct::get_div0 \n " color=yellow style=filled] -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 27, column 14]\n *&return:int=(1 / n$0) [line 27, column 3]\n _=*&x:return_struct::X [line 27, column 16]\n n$2=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 27, column 16]\n " shape="box"] +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 27, column 14]\n " shape="box"] - "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_2" ; -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 26, column 9]\n n$9=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 26, column 9]\n " shape="box"] + "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" ; +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 27, column 3]\n _=*&x:return_struct::X [line 27, column 16]\n n$2=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 27, column 16]\n " shape="box"] - "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_6" ; -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 26, column 3]\n " shape="box"] + "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_2" ; +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 26, column 9]\n n$9=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 26, column 9]\n " shape="box"] - "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_5" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" ; -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_6" [label="6: DeclStmt \n n$10=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const [line 26, column 14]\n n$6=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const *) injected [line 26, column 14]\n " shape="box"] + "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_5" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_7" ; +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 26, column 3]\n " shape="box"] - "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_6" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" ; + "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_6" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_5" ; +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_7" [label="7: DeclStmt \n n$10=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const [line 26, column 14]\n n$6=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const *) injected [line 26, column 14]\n " shape="box"] + + + "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_7" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" ; "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_1" [label="1: Start return_struct::get_div1\nFormals: \nLocals: x:return_struct::X 0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const \n " color=yellow style=filled] - "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_1" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_5" ; + "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_1" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_6" ; "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_2" [label="2: Exit return_struct::get_div1 \n " color=yellow style=filled] -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 39, column 14]\n *&return:int=(1 / n$0) [line 39, column 3]\n _=*&x:return_struct::X [line 39, column 16]\n n$2=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 39, column 16]\n " shape="box"] +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 39, column 14]\n " shape="box"] + + + "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" ; +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 39, column 3]\n _=*&x:return_struct::X [line 39, column 16]\n n$2=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 39, column 16]\n " shape="box"] - "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_2" ; -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 38, column 9]\n n$9=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 38, column 9]\n " shape="box"] + "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_2" ; +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 38, column 9]\n n$9=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 38, column 9]\n " shape="box"] - "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_6" ; -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 38, column 3]\n " shape="box"] + "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_5" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_7" ; +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 38, column 3]\n " shape="box"] - "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_5" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" ; -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_6" [label="6: DeclStmt \n n$10=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const [line 38, column 14]\n n$6=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const *) injected [line 38, column 14]\n " shape="box"] + "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_6" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_5" ; +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_7" [label="7: DeclStmt \n n$10=_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 _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const [line 38, column 14]\n n$6=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const *) injected [line 38, column 14]\n " shape="box"] - "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_6" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" ; + "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_7" -> "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$7:return_struct::X \n " color=yellow style=filled] - "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_1" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_6" ; + "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_1" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_7" ; "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_2" [label="2: Exit return_struct::get_field_div0 \n " color=yellow style=filled] @@ -76,22 +92,26 @@ digraph cfg { "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" ; -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 32, column 14]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 32, column 21]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 32, column 21]\n *&return:int=(1 / n$6) [line 32, column 3]\n " shape="box"] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 32, column 14]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 32, column 21]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 32, column 21]\n " shape="box"] + + + "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" ; +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" [label="5: Return Stmt \n *&return:int=(1 / n$6) [line 32, column 3]\n " shape="box"] - "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_2" ; -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" [label="5: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X [line 31, column 15]\n n$9=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X*) injected [line 31, column 15]\n " shape="box"] + "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_2" ; +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_6" [label="6: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X [line 31, column 15]\n n$9=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X*) injected [line 31, column 15]\n " shape="box"] - "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" ; -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_6" [label="6: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X); [line 31, column 3]\n n$12=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X*) assign_last [line 31, column 3]\n " shape="box"] + "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_6" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" ; +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_7" [label="7: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X); [line 31, column 3]\n n$12=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X*) assign_last [line 31, column 3]\n " shape="box"] - "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_6" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_7" ; -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_7" [label="7: Call _fun_return_struct::X::skip \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X [line 31, column 3]\n n$14=_fun_return_struct::X::skip(&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X&) [line 31, column 3]\n " shape="box"] + "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_7" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_8" ; +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_8" [label="8: Call _fun_return_struct::X::skip \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X [line 31, column 3]\n n$14=_fun_return_struct::X::skip(&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X&) [line 31, column 3]\n " shape="box"] - "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_7" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" ; + "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_8" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_6" ; "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_1" [label="1: Start return_struct::get_field_div1\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X \n " color=yellow style=filled] @@ -103,10 +123,14 @@ digraph cfg { "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" -> "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_4" ; -"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 42, column 35]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 42, column 42]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 42, column 42]\n *&return:int=(1 / n$6) [line 42, column 24]\n " shape="box"] +"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_4" [label="4: Return Stmt \n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 42, column 35]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 42, column 42]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 42, column 42]\n " shape="box"] + + + "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_4" -> "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_5" ; +"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_5" [label="5: Return Stmt \n *&return:int=(1 / n$6) [line 42, column 24]\n " shape="box"] - "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_4" -> "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_2" ; + "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_5" -> "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_2" ; "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_1" [label="1: Start return_struct::get_method_div0\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X \n " color=yellow style=filled] @@ -118,10 +142,14 @@ digraph cfg { "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" -> "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_4" ; -"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_4" [label="4: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 32]\n n$7=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 35, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 43]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 35, column 43]\n *&return:int=n$7 [line 35, column 25]\n " shape="box"] +"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_4" [label="4: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 32]\n n$7=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 35, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 43]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 35, column 43]\n " shape="box"] + + + "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_4" -> "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_5" ; +"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_5" [label="5: Return Stmt \n *&return:int=n$7 [line 35, column 25]\n " shape="box"] - "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_4" -> "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_2" ; + "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_5" -> "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_2" ; "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_1" [label="1: Start return_struct::get_method_div1\nFormals: \nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X \n " color=yellow style=filled] @@ -133,10 +161,14 @@ digraph cfg { "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" -> "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_4" ; -"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_4" [label="4: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 32]\n n$7=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 44, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 43]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 44, column 43]\n *&return:int=n$7 [line 44, column 25]\n " shape="box"] +"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_4" [label="4: Return Stmt \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 32]\n n$7=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 44, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 43]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 44, column 43]\n " shape="box"] - "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_4" -> "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_2" ; + "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_4" -> "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_5" ; +"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_5" [label="5: Return Stmt \n *&return:int=n$7 [line 44, column 25]\n " shape="box"] + + + "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_5" -> "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_2" ; "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_1" [label="1: Start return_struct::X::div\nFormals: this:return_struct::X*\nLocals: \n " color=yellow style=filled] @@ -144,10 +176,14 @@ digraph cfg { "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_2" [label="2: Exit return_struct::X::div \n " color=yellow style=filled] -"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" [label="3: Return Stmt \n n$0=*&this:return_struct::X* [line 15, column 26]\n n$1=*n$0.f:int [line 15, column 26]\n *&return:int=(1 / n$1) [line 15, column 15]\n " shape="box"] +"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" [label="3: Return Stmt \n n$0=*&this:return_struct::X* [line 15, column 26]\n n$1=*n$0.f:int [line 15, column 26]\n " shape="box"] + + + "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" -> "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_4" ; +"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 15, column 15]\n " shape="box"] - "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" -> "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_2" ; + "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_4" -> "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_2" ; "X#X#return_struct#{16980707005325791470}.5cc7c757bfe221e617030d485a90aa08_1" [label="1: Start return_struct::X::X\nFormals: this:return_struct::X*\nLocals: \n " color=yellow style=filled] 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 a1a8833b5..4780c3821 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 @@ -3,111 +3,131 @@ digraph cfg { "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_1" [label="1: Start struct_forward_declare::X_Y_div0\nFormals: \nLocals: x:struct_forward_declare::X \n " color=yellow style=filled] - "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_1" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" ; + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_1" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_11" ; "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_2" [label="2: Exit struct_forward_declare::X_Y_div0 \n " color=yellow style=filled] -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" [label="3: Return Stmt \n _=*&x:struct_forward_declare::X [line 52, column 14]\n n$1=_fun_struct_forward_declare::X::getF(&x:struct_forward_declare::X&) [line 52, column 14]\n *&return:int=(1 / n$1) [line 52, column 3]\n " shape="box"] +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" [label="3: Return Stmt \n _=*&x:struct_forward_declare::X [line 52, column 14]\n n$1=_fun_struct_forward_declare::X::getF(&x:struct_forward_declare::X&) [line 52, column 14]\n " shape="box"] - "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_2" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_4" [label="4: + \n " ] + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_4" ; +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 52, column 3]\n " shape="box"] - "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_4" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_5" [label="5: Prune (true branch, if) \n n$2=*&x.y:struct_forward_declare::Y* [line 49, column 7]\n PRUNE(n$2, true); [line 49, column 7]\n " shape="invhouse"] + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_4" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_2" ; +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_5" [label="5: + \n " ] - "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_5" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" [label="6: Prune (false branch, if) \n n$2=*&x.y:struct_forward_declare::Y* [line 49, column 7]\n PRUNE(!n$2, false); [line 49, column 7]\n " shape="invhouse"] + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_5" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" ; +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" [label="6: Prune (true branch, if) \n n$2=*&x.y:struct_forward_declare::Y* [line 49, column 7]\n PRUNE(n$2, true); [line 49, column 7]\n " shape="invhouse"] - "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_4" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" [label="7: Return Stmt \n *&return:int=1 [line 50, column 5]\n " shape="box"] + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_8" ; +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" [label="7: Prune (false branch, if) \n n$2=*&x.y:struct_forward_declare::Y* [line 49, column 7]\n PRUNE(!n$2, false); [line 49, column 7]\n " shape="invhouse"] - "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_2" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_8" [label="8: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 48, column 3]\n " shape="box"] + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_5" ; +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_8" [label="8: Return Stmt \n *&return:int=1 [line 50, column 5]\n " shape="box"] - "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_8" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_5" ; - "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_8" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_9" [label="9: BinaryOperatorStmt: Assign \n *&x.y:struct_forward_declare::Y*=null [line 47, column 3]\n " shape="box"] + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_8" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_2" ; +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_9" [label="9: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 48, column 3]\n " shape="box"] - "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 VARIABLE_DECLARED(x:struct_forward_declare::X); [line 46, column 3]\n n$5=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 46, column 5]\n " shape="box"] + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_9" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" ; + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_9" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" ; +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" [label="10: BinaryOperatorStmt: Assign \n *&x.y:struct_forward_declare::Y*=null [line 47, column 3]\n " shape="box"] "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_9" ; +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:struct_forward_declare::X); [line 46, column 3]\n n$5=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 46, column 5]\n " shape="box"] + + + "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_11" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" ; "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_1" [label="1: Start struct_forward_declare::X_div0\nFormals: \nLocals: x:struct_forward_declare::X \n " color=yellow style=filled] - "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_1" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" ; + "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_1" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_6" ; "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_2" [label="2: Exit struct_forward_declare::X_div0 \n " color=yellow style=filled] -"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" [label="3: Return Stmt \n _=*&x:struct_forward_declare::X [line 37, column 14]\n n$1=_fun_struct_forward_declare::X::getF(&x:struct_forward_declare::X&) [line 37, column 14]\n *&return:int=(1 / n$1) [line 37, column 3]\n " shape="box"] +"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" [label="3: Return Stmt \n _=*&x:struct_forward_declare::X [line 37, column 14]\n n$1=_fun_struct_forward_declare::X::getF(&x:struct_forward_declare::X&) [line 37, column 14]\n " shape="box"] + + + "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_4" ; +"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 37, column 3]\n " shape="box"] - "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_2" ; -"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_4" [label="4: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 36, column 3]\n " shape="box"] + "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_4" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_2" ; +"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" [label="5: BinaryOperatorStmt: Assign \n *&x.f:int=0 [line 36, column 3]\n " shape="box"] - "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 VARIABLE_DECLARED(x:struct_forward_declare::X); [line 35, column 3]\n n$2=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 35, column 5]\n " shape="box"] + "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" ; +"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:struct_forward_declare::X); [line 35, column 3]\n n$2=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 35, column 5]\n " shape="box"] - "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_4" ; + "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_6" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" ; "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_1" [label="1: Start struct_forward_declare::X_ptr_div0\nFormals: x:struct_forward_declare::X*\nLocals: \n " color=yellow style=filled] - "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_1" -> "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_4" ; + "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_1" -> "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_5" ; "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_2" [label="2: Exit struct_forward_declare::X_ptr_div0 \n " color=yellow style=filled] -"X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" [label="3: Return Stmt \n n$0=*&x:struct_forward_declare::X* [line 42, column 14]\n _=*n$0:struct_forward_declare::X [line 42, column 14]\n n$2=_fun_struct_forward_declare::X::getF(n$0:struct_forward_declare::X*) [line 42, column 14]\n *&return:int=(1 / n$2) [line 42, column 3]\n " shape="box"] +"X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" [label="3: Return Stmt \n n$0=*&x:struct_forward_declare::X* [line 42, column 14]\n _=*n$0:struct_forward_declare::X [line 42, column 14]\n n$2=_fun_struct_forward_declare::X::getF(n$0:struct_forward_declare::X*) [line 42, column 14]\n " shape="box"] - "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" -> "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_2" ; -"X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&x:struct_forward_declare::X* [line 41, column 3]\n *n$3.f:int=0 [line 41, column 3]\n " shape="box"] + "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" -> "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_4" ; +"X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 42, column 3]\n " shape="box"] - "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_4" -> "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" ; + "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_4" -> "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_2" ; +"X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&x:struct_forward_declare::X* [line 41, column 3]\n *n$3.f:int=0 [line 41, column 3]\n " shape="box"] + + + "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_5" -> "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" ; "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_1" [label="1: Start struct_forward_declare::Z_div0\nFormals: \nLocals: z:struct_forward_declare::Z \n " color=yellow style=filled] - "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_1" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" ; + "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_1" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_6" ; "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_2" [label="2: Exit struct_forward_declare::Z_div0 \n " color=yellow style=filled] -"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" [label="3: Return Stmt \n _=*&z:struct_forward_declare::Z [line 58, column 14]\n n$1=_fun_struct_forward_declare::Z::getF(&z:struct_forward_declare::Z&) [line 58, column 14]\n *&return:int=(1 / n$1) [line 58, column 3]\n " shape="box"] +"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" [label="3: Return Stmt \n _=*&z:struct_forward_declare::Z [line 58, column 14]\n n$1=_fun_struct_forward_declare::Z::getF(&z:struct_forward_declare::Z&) [line 58, column 14]\n " shape="box"] + + + "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" ; +"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" [label="4: Return Stmt \n *&return:int=(1 / n$1) [line 58, column 3]\n " shape="box"] - "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_2" ; -"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" [label="4: BinaryOperatorStmt: Assign \n *&z.f:int=0 [line 57, column 3]\n " shape="box"] + "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_2" ; +"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" [label="5: BinaryOperatorStmt: Assign \n *&z.f:int=0 [line 57, column 3]\n " shape="box"] - "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 VARIABLE_DECLARED(z:struct_forward_declare::Z); [line 56, column 3]\n n$2=_fun_struct_forward_declare::Z::Z(&z:struct_forward_declare::Z*) [line 56, column 5]\n " shape="box"] + "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" ; +"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_6" [label="6: DeclStmt \n VARIABLE_DECLARED(z:struct_forward_declare::Z); [line 56, column 3]\n n$2=_fun_struct_forward_declare::Z::Z(&z:struct_forward_declare::Z*) [line 56, column 5]\n " shape="box"] - "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" ; + "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_6" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" ; "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_1" [label="1: Start struct_forward_declare::Z_ptr_div0\nFormals: z:struct_forward_declare::Z*\nLocals: \n " color=yellow style=filled] - "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_1" -> "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_4" ; + "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_1" -> "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_5" ; "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_2" [label="2: Exit struct_forward_declare::Z_ptr_div0 \n " color=yellow style=filled] -"Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" [label="3: Return Stmt \n n$0=*&z:struct_forward_declare::Z* [line 66, column 14]\n _=*n$0:struct_forward_declare::Z [line 66, column 14]\n n$2=_fun_struct_forward_declare::Z::getF(n$0:struct_forward_declare::Z*) [line 66, column 14]\n *&return:int=(1 / n$2) [line 66, column 3]\n " shape="box"] +"Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" [label="3: Return Stmt \n n$0=*&z:struct_forward_declare::Z* [line 66, column 14]\n _=*n$0:struct_forward_declare::Z [line 66, column 14]\n n$2=_fun_struct_forward_declare::Z::getF(n$0:struct_forward_declare::Z*) [line 66, column 14]\n " shape="box"] + + + "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" -> "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_4" ; +"Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 66, column 3]\n " shape="box"] - "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" -> "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_2" ; -"Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&z:struct_forward_declare::Z* [line 65, column 3]\n *n$3.f:int=0 [line 65, column 3]\n " shape="box"] + "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_4" -> "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_2" ; +"Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&z:struct_forward_declare::Z* [line 65, column 3]\n *n$3.f:int=0 [line 65, column 3]\n " shape="box"] - "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_4" -> "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" ; + "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_5" -> "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" ; "fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_1" [label="1: Start struct_forward_declare::fun_with_Z\nFormals: z1:struct_forward_declare::Z*\nLocals: z2:struct_forward_declare::Z* \n " color=yellow style=filled] @@ -126,10 +146,14 @@ digraph cfg { "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_2" [label="2: Exit struct_forward_declare::X::getF \n " color=yellow style=filled] -"getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_3" [label="3: Return Stmt \n n$0=*&this:struct_forward_declare::X* [line 19, column 23]\n n$1=*n$0.f:int [line 19, column 23]\n *&return:int=n$1 [line 19, column 16]\n " shape="box"] +"getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_3" [label="3: Return Stmt \n n$0=*&this:struct_forward_declare::X* [line 19, column 23]\n n$1=*n$0.f:int [line 19, column 23]\n " shape="box"] - "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_3" -> "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_2" ; + "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_3" -> "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_4" ; +"getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_4" [label="4: Return Stmt \n *&return:int=n$1 [line 19, column 16]\n " shape="box"] + + + "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_4" -> "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_2" ; "X#X#struct_forward_declare#{12172734746422509138}.f95806aaac40e962cb02caab9f49a493_1" [label="1: Start struct_forward_declare::X::X\nFormals: this:struct_forward_declare::X*\nLocals: \n " color=yellow style=filled] @@ -144,10 +168,14 @@ digraph cfg { "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_2" [label="2: Exit struct_forward_declare::Z::getF \n " color=yellow style=filled] -"getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_3" [label="3: Return Stmt \n n$0=*&this:struct_forward_declare::Z* [line 28, column 23]\n n$1=*n$0.f:int [line 28, column 23]\n *&return:int=n$1 [line 28, column 16]\n " shape="box"] +"getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_3" [label="3: Return Stmt \n n$0=*&this:struct_forward_declare::Z* [line 28, column 23]\n n$1=*n$0.f:int [line 28, column 23]\n " shape="box"] + + + "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_3" -> "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_4" ; +"getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_4" [label="4: Return Stmt \n *&return:int=n$1 [line 28, column 16]\n " shape="box"] - "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_3" -> "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_2" ; + "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_4" -> "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_2" ; "Z#Z#struct_forward_declare#{16651271592300819332}.ef9c70a1786f586f582ba5bab79ecd77_1" [label="1: Start struct_forward_declare::Z::Z\nFormals: this:struct_forward_declare::Z*\nLocals: \n " color=yellow style=filled] 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 0d906752e..3c98bc9f9 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 @@ -3,22 +3,26 @@ digraph cfg { "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_1" [label="1: Start struct_pass_by_value::field_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X y:struct_pass_by_value::Y x:struct_pass_by_value::X \n " color=yellow style=filled] - "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_1" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" ; + "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_1" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_6" ; "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_2" [label="2: Exit struct_pass_by_value::field_div0 \n " color=yellow style=filled] -"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&y.x:struct_pass_by_value::X&) [line 42, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 42, column 14]\n *&return:int=(1 / n$2) [line 42, column 3]\n _=*&x:struct_pass_by_value::X [line 42, column 23]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 42, column 23]\n " shape="box"] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&y.x:struct_pass_by_value::X&) [line 42, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 42, column 14]\n " shape="box"] - "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_2" ; -"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" [label="4: DeclStmt \n 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 " shape="box"] + "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" ; +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 42, column 3]\n _=*&x:struct_pass_by_value::X [line 42, column 23]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 42, column 23]\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 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 " shape="box"] + "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_2" ; +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" [label="5: 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 " shape="box"] - "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" ; + "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" ; +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_6" [label="6: 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 " shape="box"] + + + "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_6" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" ; "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_1" [label="1: Start struct_pass_by_value::get_f\nFormals: val:struct_pass_by_value::X&\nLocals: \n " color=yellow style=filled] @@ -26,48 +30,60 @@ digraph cfg { "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_2" [label="2: Exit struct_pass_by_value::get_f \n " color=yellow style=filled] -"get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_3" [label="3: Return Stmt \n n$0=*&val:struct_pass_by_value::X& [line 20, column 27]\n n$1=*n$0.f:int [line 20, column 27]\n *&return:int=n$1 [line 20, column 20]\n " shape="box"] +"get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_3" [label="3: Return Stmt \n n$0=*&val:struct_pass_by_value::X& [line 20, column 27]\n n$1=*n$0.f:int [line 20, column 27]\n " shape="box"] + + + "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_3" -> "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_4" ; +"get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_4" [label="4: Return Stmt \n *&return:int=n$1 [line 20, column 20]\n " shape="box"] - "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_3" -> "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_2" ; + "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_4" -> "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_2" ; "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_1" [label="1: Start struct_pass_by_value::param_get_copied_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X x:struct_pass_by_value::X \n " color=yellow style=filled] - "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_1" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" ; + "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_1" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_6" ; "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_2" [label="2: Exit struct_pass_by_value::param_get_copied_div0 \n " color=yellow style=filled] -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 48, column 14]\n *&return:int=(1 / n$0) [line 48, column 3]\n _=*&x:struct_pass_by_value::X [line 48, column 16]\n n$2=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 48, column 16]\n " shape="box"] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 48, column 14]\n " shape="box"] - "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_2" ; -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" [label="4: Call _fun_struct_pass_by_value::set_f \n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 47, column 9]\n n$6=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X,1:int) [line 47, column 3]\n " shape="box"] + "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" ; +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 48, column 3]\n _=*&x:struct_pass_by_value::X [line 48, column 16]\n n$2=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 48, column 16]\n " shape="box"] - "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" ; -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" [label="5: DeclStmt \n 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 " shape="box"] + "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_2" ; +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" [label="5: Call _fun_struct_pass_by_value::set_f \n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 47, column 9]\n n$6=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X,1:int) [line 47, column 3]\n " shape="box"] - "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" ; + "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" ; +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_6" [label="6: 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 " shape="box"] + + + "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_6" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" ; "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_1" [label="1: Start struct_pass_by_value::param_get_copied_div1\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X x:struct_pass_by_value::X \n " color=yellow style=filled] - "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_1" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" ; + "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_1" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_6" ; "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_2" [label="2: Exit struct_pass_by_value::param_get_copied_div1 \n " color=yellow style=filled] -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 54, column 14]\n *&return:int=(1 / n$0) [line 54, column 3]\n _=*&x:struct_pass_by_value::X [line 54, column 16]\n n$2=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 54, column 16]\n " shape="box"] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 54, column 14]\n " shape="box"] + + + "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" ; +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" [label="4: Return Stmt \n *&return:int=(1 / n$0) [line 54, column 3]\n _=*&x:struct_pass_by_value::X [line 54, column 16]\n n$2=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 54, column 16]\n " shape="box"] - "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_2" ; -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" [label="4: Call _fun_struct_pass_by_value::set_f \n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 53, column 9]\n n$6=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X,0:int) [line 53, column 3]\n " shape="box"] + "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_2" ; +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" [label="5: Call _fun_struct_pass_by_value::set_f \n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 53, column 9]\n n$6=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X,0:int) [line 53, column 3]\n " shape="box"] - "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" ; -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" [label="5: DeclStmt \n 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 " shape="box"] + "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" ; +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_6" [label="6: 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 " shape="box"] - "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" ; + "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_6" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" ; "set_f#struct_pass_by_value#449985082730240817.3244dc0de9a72d4ec2d03e236d94d06e_1" [label="1: Start struct_pass_by_value::set_f\nFormals: val:struct_pass_by_value::X& f:int\nLocals: \n " color=yellow style=filled] @@ -90,10 +106,14 @@ digraph cfg { "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" -> "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_4" ; -"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_4" [label="4: Return Stmt \n n$6=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X&) [line 35, column 36]\n n$7=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X) [line 35, column 30]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X [line 35, column 40]\n n$2=_fun_struct_pass_by_value::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*) injected [line 35, column 40]\n *&return:int=(1 / n$7) [line 35, column 19]\n " shape="box"] +"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_4" [label="4: Return Stmt \n n$6=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X&) [line 35, column 36]\n n$7=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X) [line 35, column 30]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X [line 35, column 40]\n n$2=_fun_struct_pass_by_value::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*) injected [line 35, column 40]\n " shape="box"] - "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_4" -> "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_2" ; + "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_4" -> "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_5" ; +"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_5" [label="5: Return Stmt \n *&return:int=(1 / n$7) [line 35, column 19]\n " shape="box"] + + + "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_5" -> "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_2" ; "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_1" [label="1: Start struct_pass_by_value::temp_div1\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X 0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X \n " color=yellow style=filled] @@ -105,40 +125,52 @@ digraph cfg { "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" -> "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_4" ; -"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_4" [label="4: Return Stmt \n n$6=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X&) [line 37, column 36]\n n$7=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X) [line 37, column 30]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X [line 37, column 40]\n n$2=_fun_struct_pass_by_value::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*) injected [line 37, column 40]\n *&return:int=(1 / n$7) [line 37, column 19]\n " shape="box"] +"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_4" [label="4: Return Stmt \n n$6=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X&) [line 37, column 36]\n n$7=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X) [line 37, column 30]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X [line 37, column 40]\n n$2=_fun_struct_pass_by_value::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*) injected [line 37, column 40]\n " shape="box"] + + + "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_4" -> "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_5" ; +"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_5" [label="5: Return Stmt \n *&return:int=(1 / n$7) [line 37, column 19]\n " shape="box"] - "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_4" -> "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_2" ; + "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_5" -> "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_2" ; "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_1" [label="1: Start struct_pass_by_value::var_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X x:struct_pass_by_value::X \n " color=yellow style=filled] - "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_1" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" ; + "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_1" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_5" ; "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_2" [label="2: Exit struct_pass_by_value::var_div0 \n " color=yellow style=filled] -"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 27, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 27, column 14]\n *&return:int=(1 / n$2) [line 27, column 3]\n _=*&x:struct_pass_by_value::X [line 27, column 21]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 27, column 21]\n " shape="box"] +"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 27, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 27, column 14]\n " shape="box"] - "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_2" ; -"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" [label="4: DeclStmt \n 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 " shape="box"] + "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" ; +"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 27, column 3]\n _=*&x:struct_pass_by_value::X [line 27, column 21]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 27, column 21]\n " shape="box"] - "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" ; + "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_2" ; +"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_5" [label="5: 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 " shape="box"] + + + "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_5" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" ; "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_1" [label="1: Start struct_pass_by_value::var_div1\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X x:struct_pass_by_value::X \n " color=yellow style=filled] - "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_1" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" ; + "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_1" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_5" ; "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_2" [label="2: Exit struct_pass_by_value::var_div1 \n " color=yellow style=filled] -"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 32, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 32, column 14]\n *&return:int=(1 / n$2) [line 32, column 3]\n _=*&x:struct_pass_by_value::X [line 32, column 21]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 32, column 21]\n " shape="box"] +"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 32, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 32, column 14]\n " shape="box"] + + + "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" ; +"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" [label="4: Return Stmt \n *&return:int=(1 / n$2) [line 32, column 3]\n _=*&x:struct_pass_by_value::X [line 32, column 21]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 32, column 21]\n " shape="box"] - "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_2" ; -"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" [label="4: DeclStmt \n 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 " shape="box"] + "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_2" ; +"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_5" [label="5: 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 " shape="box"] - "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" ; + "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_5" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" ; "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_1" [label="1: Start struct_pass_by_value::X::X\nFormals: this:struct_pass_by_value::X* f:int\nLocals: \n " color=yellow style=filled] 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 ca5e9f930..02d7e66ac 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot @@ -3,18 +3,22 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" [label="1: Start foo\nFormals: a:A*\nLocals: \n " color=yellow style=filled] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" ; + "foo.acbd18db4cc2f85cedef654fccc4a4d8_1" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" [label="2: Exit foo \n " color=yellow style=filled] -"foo.acbd18db4cc2f85cedef654fccc4a4d8_3" [label="3: Return Stmt \n n$0=*&a:A* [line 56, column 10]\n *&return:A*=n$0 [line 56, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_3" [label="3: Return Stmt \n n$0=*&a:A* [line 56, column 10]\n " shape="box"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Message Call: capture \n n$1=*&a:A* [line 54, column 4]\n n$2=_fun_A.capture(n$1:A*) virtual [line 54, column 3]\n " shape="box"] + "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Return Stmt \n *&return:A*=n$0 [line 56, column 3]\n " shape="box"] - "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; + "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; +"foo.acbd18db4cc2f85cedef654fccc4a4d8_5" [label="5: Message Call: capture \n n$1=*&a:A* [line 54, column 4]\n n$2=_fun_A.capture(n$1:A*) virtual [line 54, column 3]\n " shape="box"] + + + "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; "main.fad58de7366495db4650cfefac2fcd61_1" [label="1: Start main\nFormals: argc:int argv:char const **\nLocals: a:A* \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/frontend/block/specialized_method_with_block_params.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/specialized_method_with_block_params.m.dot index e32936ab2..862298a1b 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/specialized_method_with_block_params.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/specialized_method_with_block_params.m.dot @@ -80,64 +80,76 @@ digraph cfg { "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_1" [label="1: Start A.bar2\nFormals: self:A*\nLocals: \n " color=yellow style=filled] - "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_1" -> "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_4" ; + "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_1" -> "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_5" ; "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_2" [label="2: Exit A.bar2 \n " color=yellow style=filled] -"bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_3" [label="3: Return Stmt \n n$12=*&self:A* [line 47, column 10]\n n$13=*n$12.x:int [line 47, column 10]\n *&return:int=n$13 [line 47, column 3]\n " shape="box"] +"bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_3" [label="3: Return Stmt \n n$12=*&self:A* [line 47, column 10]\n n$13=*n$12.x:int [line 47, column 10]\n " shape="box"] - "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_3" -> "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_2" ; -"bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_4" [label="4: Call _fun_foo \n n$14=*&self:A* [line 40, column 7]\n n$16=*&self:A* [line 43, column 7]\n n$18=*&self:A* [line 46, column 7]\n n$19=_fun_foo[objc_blockA.bar2_3^objc_blockA.bar2_4](n$14:A*,(_fun_objc_blockA.bar2_4,([by ref]n$16 &self:A*)):_fn_(*),(_fun_objc_blockA.bar2_3,([by ref]n$14 &self:A*)):_fn_(*),n$18:A*) [line 39, column 3]\n " shape="box"] + "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_3" -> "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_4" ; +"bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_4" [label="4: Return Stmt \n *&return:int=n$13 [line 47, column 3]\n " shape="box"] - "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_4" -> "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_3" ; + "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_4" -> "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_2" ; +"bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_5" [label="5: Call _fun_foo \n n$14=*&self:A* [line 40, column 7]\n n$16=*&self:A* [line 43, column 7]\n n$18=*&self:A* [line 46, column 7]\n n$19=_fun_foo[objc_blockA.bar2_3^objc_blockA.bar2_4](n$14:A*,(_fun_objc_blockA.bar2_4,([by ref]n$16 &self:A*)):_fn_(*),(_fun_objc_blockA.bar2_3,([by ref]n$14 &self:A*)):_fn_(*),n$18:A*) [line 39, column 3]\n " shape="box"] + + + "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_5" -> "bar2#A#instance.413fa5106d6a23f2bf18df99659efb82_3" ; "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_1" [label="1: Start A.bar:\nFormals: self:A* a:A*\nLocals: y:int x:int \n " color=yellow style=filled] - "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_1" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_6" ; + "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_1" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_7" ; "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_2" [label="2: Exit A.bar: \n " color=yellow style=filled] -"bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_3" [label="3: Return Stmt \n n$0=*&self:A* [line 35, column 10]\n n$1=*n$0.x:int [line 35, column 10]\n *&return:int=n$1 [line 35, column 3]\n " shape="box"] +"bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_3" [label="3: Return Stmt \n n$0=*&self:A* [line 35, column 10]\n n$1=*n$0.x:int [line 35, column 10]\n " shape="box"] - "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_3" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_2" ; -"bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:int); [line 34, column 3]\n n$2=_fun_p() [line 34, column 11]\n *&y:int=n$2 [line 34, column 3]\n " shape="box"] + "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_3" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_4" ; +"bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_4" [label="4: Return Stmt \n *&return:int=n$1 [line 35, column 3]\n " shape="box"] - "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_4" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_3" ; -"bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_5" [label="5: Call _fun_foo \n n$3=*&self:A* [line 27, column 7]\n n$4=*&x:int [line 27, column 7]\n n$7=*&self:A* [line 30, column 7]\n n$10=*&a:A* [line 33, column 7]\n n$11=_fun_foo[objc_blockA.bar:_1^objc_blockA.bar:_2](n$4:int,n$3:A*,(_fun_objc_blockA.bar:_2,([by ref]n$7 &self:A*)):_fn_(*),(_fun_objc_blockA.bar:_1,([by ref]n$3 &self:A*),([by ref]n$4 &x:int)):_fn_(*),n$10:A*) [line 26, column 3]\n " shape="box"] + "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_4" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_2" ; +"bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:int); [line 34, column 3]\n n$2=_fun_p() [line 34, column 11]\n *&y:int=n$2 [line 34, column 3]\n " shape="box"] - "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_5" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_4" ; -"bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int); [line 25, column 3]\n *&x:int=0 [line 25, column 3]\n " shape="box"] + "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_5" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_3" ; +"bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_6" [label="6: Call _fun_foo \n n$3=*&self:A* [line 27, column 7]\n n$4=*&x:int [line 27, column 7]\n n$7=*&self:A* [line 30, column 7]\n n$10=*&a:A* [line 33, column 7]\n n$11=_fun_foo[objc_blockA.bar:_1^objc_blockA.bar:_2](n$4:int,n$3:A*,(_fun_objc_blockA.bar:_2,([by ref]n$7 &self:A*)):_fn_(*),(_fun_objc_blockA.bar:_1,([by ref]n$3 &self:A*),([by ref]n$4 &x:int)):_fn_(*),n$10:A*) [line 26, column 3]\n " shape="box"] "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_6" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_5" ; +"bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:int); [line 25, column 3]\n *&x:int=0 [line 25, column 3]\n " shape="box"] + + + "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_7" -> "bar:#A(class A)#instance.3e4a860660eb436d473f8ceeb9c1a72b_6" ; "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_1" [label="1: Start A.call_foo_with_same_param\nFormals: self:A*\nLocals: b:_fn_(*) \n " color=yellow style=filled] - "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_1" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_6" ; + "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_1" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_7" ; "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_2" [label="2: Exit A.call_foo_with_same_param \n " color=yellow style=filled] -"call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_3" [label="3: Return Stmt \n n$20=*&self:A* [line 56, column 10]\n n$21=*n$20.x:int [line 56, column 10]\n *&return:int=n$21 [line 56, column 3]\n " shape="box"] +"call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_3" [label="3: Return Stmt \n n$20=*&self:A* [line 56, column 10]\n n$21=*n$20.x:int [line 56, column 10]\n " shape="box"] - "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_3" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_2" ; -"call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_4" [label="4: Call _fun_foo \n n$22=*&b:_fn_(*) [line 55, column 7]\n n$23=*&b:_fn_(*) [line 55, column 10]\n n$24=*&self:A* [line 55, column 13]\n n$25=_fun_foo[objc_blockA.call_foo_with_same_param_5^objc_blockA.call_foo_with_same_param_5](n$30:A*,(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)):_fn_(*),(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)):_fn_(*),n$24:A*) [line 55, column 3]\n " shape="box"] + "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_3" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_4" ; +"call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_4" [label="4: Return Stmt \n *&return:int=n$21 [line 56, column 3]\n " shape="box"] - "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_4" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_3" ; -"call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_5" [label="5: Call _fun_foo \n n$26=*&b:_fn_(*) [line 54, column 7]\n n$27=*&b:_fn_(*) [line 54, column 10]\n n$28=*&self:A* [line 54, column 13]\n n$29=_fun_foo[objc_blockA.call_foo_with_same_param_5^objc_blockA.call_foo_with_same_param_5](n$30:A*,(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)):_fn_(*),(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)):_fn_(*),n$28:A*) [line 54, column 3]\n " shape="box"] + "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_4" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_2" ; +"call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_5" [label="5: Call _fun_foo \n n$22=*&b:_fn_(*) [line 55, column 7]\n n$23=*&b:_fn_(*) [line 55, column 10]\n n$24=*&self:A* [line 55, column 13]\n n$25=_fun_foo[objc_blockA.call_foo_with_same_param_5^objc_blockA.call_foo_with_same_param_5](n$30:A*,(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)):_fn_(*),(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)):_fn_(*),n$24:A*) [line 55, column 3]\n " shape="box"] - "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_5" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_4" ; -"call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:_fn_(*)); [line 51, column 3]\n n$30=*&self:A* [line 51, column 20]\n *&b:_fn_(*)=(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)) [line 51, column 3]\n " shape="box"] + "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_5" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_3" ; +"call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_6" [label="6: Call _fun_foo \n n$26=*&b:_fn_(*) [line 54, column 7]\n n$27=*&b:_fn_(*) [line 54, column 10]\n n$28=*&self:A* [line 54, column 13]\n n$29=_fun_foo[objc_blockA.call_foo_with_same_param_5^objc_blockA.call_foo_with_same_param_5](n$30:A*,(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)):_fn_(*),(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)):_fn_(*),n$28:A*) [line 54, column 3]\n " shape="box"] "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_6" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_5" ; +"call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:_fn_(*)); [line 51, column 3]\n n$30=*&self:A* [line 51, column 20]\n *&b:_fn_(*)=(_fun_objc_blockA.call_foo_with_same_param_5,([by ref]n$30 &self:A*)) [line 51, column 3]\n " shape="box"] + + + "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_7" -> "call_foo_with_same_param#A#instance.7f01b1476c1662f7ce825ec7b1739a00_6" ; "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_1" [label="1: Start A.dealloc\nFormals: self:A*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot index 3c7587fe5..bff02c68e 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot @@ -58,52 +58,64 @@ digraph cfg { "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_1" [label="1: Start A.test\nFormals: \nLocals: \n " color=yellow style=filled] - "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_1" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" ; + "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_1" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_5" ; "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_2" [label="2: Exit A.test \n " color=yellow style=filled] -"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" [label="3: Return Stmt \n n$0=*&#GB$A.test.sharedInstance:objc_object* [line 23, column 10]\n *&return:objc_object*=n$0 [line 23, column 3]\n " shape="box"] +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" [label="3: Return Stmt \n n$0=*&#GB$A.test.sharedInstance:objc_object* [line 23, column 10]\n " shape="box"] - "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_2" ; -"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" [label="4: Call (_fun_objc_blockA.test_1) \n n$3=(_fun_objc_blockA.test_1)() [line 18, column 3]\n " shape="box"] + "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" ; +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [line 23, column 3]\n " shape="box"] - "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" ; + "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_2" ; +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_5" [label="5: Call (_fun_objc_blockA.test_1) \n n$3=(_fun_objc_blockA.test_1)() [line 18, column 3]\n " shape="box"] + + + "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_5" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" ; "test2#A#class.ce50cb13c3345decc567dd4eb6124604_1" [label="1: Start A.test2\nFormals: \nLocals: \n " color=yellow style=filled] - "test2#A#class.ce50cb13c3345decc567dd4eb6124604_1" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" ; + "test2#A#class.ce50cb13c3345decc567dd4eb6124604_1" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_6" ; "test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" [label="2: Exit A.test2 \n " color=yellow style=filled] -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" [label="3: Return Stmt \n n$7=*&#GB$A.test2.sharedInstance:objc_object* [line 42, column 10]\n *&return:objc_object*=n$7 [line 42, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" [label="3: Return Stmt \n n$7=*&#GB$A.test2.sharedInstance:objc_object* [line 42, column 10]\n " shape="box"] + + + "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" ; +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" [label="4: Return Stmt \n *&return:objc_object*=n$7 [line 42, column 3]\n " shape="box"] - "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" [label="4: Call (_fun_objc_blockA.test2_3) \n n$9=(_fun_objc_blockA.test2_3)() [line 37, column 3]\n " shape="box"] + "test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" ; +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" [label="5: Call (_fun_objc_blockA.test2_3) \n n$9=(_fun_objc_blockA.test2_3)() [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$10=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 36, column 21]\n n$11=_fun_NSObject.init(n$10:A*) virtual [line 36, column 20]\n *&#GB$A.test2.sharedInstance:objc_object*=n$11 [line 36, column 3]\n " shape="box"] + "test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" ; +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_6" [label="6: BinaryOperatorStmt: Assign \n n$10=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 36, column 21]\n n$11=_fun_NSObject.init(n$10:A*) virtual [line 36, column 20]\n *&#GB$A.test2.sharedInstance:objc_object*=n$11 [line 36, column 3]\n " shape="box"] - "test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" ; + "test2#A#class.ce50cb13c3345decc567dd4eb6124604_6" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" ; "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_1" [label="1: Start A.test3\nFormals: \nLocals: \n " color=yellow style=filled] - "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_1" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" ; + "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_1" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_5" ; "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$12=*&#GB$A.test3.i:int [line 53, column 10]\n *&return:int=n$12 [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 " shape="box"] + + + "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" ; +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" [label="4: Return Stmt \n *&return:int=n$12 [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$14=(_fun_objc_blockA.test3_4)() [line 48, column 3]\n " shape="box"] + "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_2" ; +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_5" [label="5: Call (_fun_objc_blockA.test3_4) \n n$14=(_fun_objc_blockA.test3_4)() [line 48, column 3]\n " shape="box"] - "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" ; + "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_5" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" ; "test_leak#A#class.8240788aa53244827857be0e92d27671_1" [label="1: Start A.test_leak\nFormals: \nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot index fde3afcc3..1b7dabc4f 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot @@ -14,114 +14,142 @@ digraph cfg { "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_1" [label="1: Start Boxing.getBool\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] - "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_1" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" ; + "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_1" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_5" ; "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$12=_fun_NSNumber.numberWithBool:(1:_Bool) [line 36, column 10]\n *&return:NSNumber*=n$12 [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 " shape="box"] - "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" ; -"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 " shape="box"] + "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" ; +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" [label="4: Return Stmt \n *&return:NSNumber*=n$12 [line 36, column 3]\n " shape="box"] - "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" ; + "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" ; +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_5" [label="5: 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 " shape="box"] + + + "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_5" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" ; "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_1" [label="1: Start Boxing.getDouble\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] - "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_1" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" ; + "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_1" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_5" ; "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$10=_fun_NSNumber.numberWithDouble:(1.5:double) [line 31, column 10]\n *&return:NSNumber*=n$10 [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 " shape="box"] + + + "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" ; +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" [label="4: Return Stmt \n *&return:NSNumber*=n$10 [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 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 " shape="box"] + "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_2" ; +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_5" [label="5: 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 " shape="box"] - "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" ; + "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_5" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" ; "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_1" [label="1: Start Boxing.getFloat\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] - "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_1" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" ; + "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_1" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_5" ; "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$8=_fun_NSNumber.numberWithFloat:(1.5:float) [line 26, column 10]\n *&return:NSNumber*=n$8 [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 " shape="box"] - "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" ; -"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 " shape="box"] + "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" ; +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" [label="4: Return Stmt \n *&return:NSNumber*=n$8 [line 26, column 3]\n " shape="box"] - "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" ; + "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" ; +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_5" [label="5: 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 " shape="box"] + + + "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_5" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" ; "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_1" [label="1: Start Boxing.getInt\nFormals: self:Boxing*\nLocals: n:NSNumber* \n " color=yellow style=filled] - "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_1" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" ; + "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_1" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_5" ; "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$6=_fun_NSNumber.numberWithInt:(5:int) [line 21, column 10]\n *&return:NSNumber*=n$6 [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 " shape="box"] + + + "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" ; +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" [label="4: Return Stmt \n *&return:NSNumber*=n$6 [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 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 " shape="box"] + "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_2" ; +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_5" [label="5: 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 " shape="box"] - "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" ; + "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_5" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" ; "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_1" [label="1: Start Boxing.getIntExp\nFormals: self:Boxing*\nLocals: n:NSNumber* y:int x:int \n " color=yellow style=filled] - "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_1" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_6" ; + "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_1" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_7" ; "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 " shape="box"] +"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 " shape="box"] - "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" ; -"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 " shape="box"] + "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" ; +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" [label="4: Return Stmt \n *&return:NSNumber*=n$2 [line 16, column 3]\n " shape="box"] - "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" ; -"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_4" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" ; +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_5" [label="5: 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 " shape="box"] - "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_5" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" ; -"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_5" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" ; +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_6" [label="6: 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_6" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_5" ; +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_7" [label="7: 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_7" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_6" ; "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_1" [label="1: Start Boxing.getS\nFormals: self:Boxing*\nLocals: s:NSString* \n " color=yellow style=filled] - "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_1" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" ; + "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_1" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_5" ; "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$15=_fun_NSString.stringWithUTF8String:(\"hello world\":char*) [line 41, column 10]\n *&return:NSString*=n$15 [line 41, column 3]\n " shape="box"] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" [label="3: Return Stmt \n n$15=_fun_NSString.stringWithUTF8String:(\"hello world\":char*) [line 41, column 10]\n " shape="box"] - "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" ; -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 40, column 3]\n n$16=_fun_strdup(\"hello world\":char*) [line 40, column 19]\n n$17=_fun_NSString.stringWithUTF8String:(n$16:char*) [line 40, column 17]\n *&s:NSString*=n$17 [line 40, column 3]\n " shape="box"] + "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" ; +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" [label="4: Return Stmt \n *&return:NSString*=n$15 [line 41, column 3]\n " shape="box"] - "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" ; + "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" ; +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 40, column 3]\n n$16=_fun_strdup(\"hello world\":char*) [line 40, column 19]\n n$17=_fun_NSString.stringWithUTF8String:(n$16:char*) [line 40, column 17]\n *&s:NSString*=n$17 [line 40, column 3]\n " shape="box"] + + + "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_5" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" ; "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_1" [label="1: Start Boxing.getString\nFormals: self:Boxing*\nLocals: s:NSString* \n " color=yellow style=filled] - "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_1" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" ; + "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_1" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_5" ; "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_2" [label="2: Exit Boxing.getString \n " color=yellow style=filled] -"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_3" [label="3: Return Stmt \n n$19=*&s:NSString* [line 47, column 10]\n *&return:NSString*=n$19 [line 47, column 3]\n " shape="box"] +"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_3" [label="3: Return Stmt \n n$19=*&s:NSString* [line 47, column 10]\n " shape="box"] + + + "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_3" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" ; +"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" [label="4: Return Stmt \n *&return:NSString*=n$19 [line 47, column 3]\n " shape="box"] - "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_3" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_2" ; -"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 46, column 3]\n n$20=_fun_NSString.unknownSelector:(\"hello world\":char*) [line 46, column 17]\n *&s:NSString*=n$20 [line 46, column 3]\n " shape="box"] + "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_2" ; +"getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_5" [label="5: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 46, column 3]\n n$20=_fun_NSString.unknownSelector:(\"hello world\":char*) [line 46, column 17]\n *&s:NSString*=n$20 [line 46, column 3]\n " shape="box"] - "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_4" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_3" ; + "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_5" -> "getString#Boxing#instance.0cdd84065923a1c621289a9de4707559_3" ; } 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 36b3e7f0a..2cdf78015 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot @@ -3,16 +3,20 @@ digraph cfg { "get_array.bca6b16c85e5b8ba530f380271b2ec79_1" [label="1: Start get_array\nFormals: \nLocals: 0$?%__sil_tmpSIL_arrayWithObjects_count___n$0:objc_object* const [2*8] animals:NSArray* \n " color=yellow style=filled] - "get_array.bca6b16c85e5b8ba530f380271b2ec79_1" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_4" ; + "get_array.bca6b16c85e5b8ba530f380271b2ec79_1" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_5" ; "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$2=_fun_NSString.stringWithUTF8String:(\"dog\":char* const ) [line 12, column 21]\n *&0$?%__sil_tmpSIL_arrayWithObjects_count___n$0[0]:objc_object*=n$1 [line 12, column 10]\n *&0$?%__sil_tmpSIL_arrayWithObjects_count___n$0[1]:objc_object*=n$2 [line 12, column 10]\n n$3=_fun_NSArray.arrayWithObjects:count:(&0$?%__sil_tmpSIL_arrayWithObjects_count___n$0:objc_object* const [2*8],2:int) [line 12, column 10]\n *&return:NSArray*=n$3 [line 12, column 3]\n " shape="box"] +"get_array.bca6b16c85e5b8ba530f380271b2ec79_3" [label="3: Return Stmt \n n$1=_fun_NSString.stringWithUTF8String:(\"cat\":char* const ) [line 12, column 13]\n n$2=_fun_NSString.stringWithUTF8String:(\"dog\":char* const ) [line 12, column 21]\n *&0$?%__sil_tmpSIL_arrayWithObjects_count___n$0[0]:objc_object*=n$1 [line 12, column 10]\n *&0$?%__sil_tmpSIL_arrayWithObjects_count___n$0[1]:objc_object*=n$2 [line 12, column 10]\n n$3=_fun_NSArray.arrayWithObjects:count:(&0$?%__sil_tmpSIL_arrayWithObjects_count___n$0:objc_object* const [2*8],2:int) [line 12, column 10]\n " shape="box"] - "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_2" ; -"get_array.bca6b16c85e5b8ba530f380271b2ec79_4" [label="4: DeclStmt \n VARIABLE_DECLARED(animals:NSArray*); [line 11, column 3]\n n$5=_fun_NSString.stringWithUTF8String:(\"cat\":char* const ) [line 11, column 48]\n n$4=_fun_NSString.stringWithUTF8String:(\"dog\":char* const ) [line 11, column 56]\n n$6=_fun_NSArray.arrayWithObjects:(n$5:objc_object*,n$4:NSString*,null:void*) [line 11, column 22]\n *&animals:NSArray*=n$6 [line 11, column 3]\n " shape="box"] + "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_4" ; +"get_array.bca6b16c85e5b8ba530f380271b2ec79_4" [label="4: Return Stmt \n *&return:NSArray*=n$3 [line 12, column 3]\n " shape="box"] - "get_array.bca6b16c85e5b8ba530f380271b2ec79_4" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" ; + "get_array.bca6b16c85e5b8ba530f380271b2ec79_4" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_2" ; +"get_array.bca6b16c85e5b8ba530f380271b2ec79_5" [label="5: DeclStmt \n VARIABLE_DECLARED(animals:NSArray*); [line 11, column 3]\n n$5=_fun_NSString.stringWithUTF8String:(\"cat\":char* const ) [line 11, column 48]\n n$4=_fun_NSString.stringWithUTF8String:(\"dog\":char* const ) [line 11, column 56]\n n$6=_fun_NSArray.arrayWithObjects:(n$5:objc_object*,n$4:NSString*,null:void*) [line 11, column 22]\n *&animals:NSArray*=n$6 [line 11, column 3]\n " shape="box"] + + + "get_array.bca6b16c85e5b8ba530f380271b2ec79_5" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" ; } diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot index cf774c6e3..1c2caf29f 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot @@ -7,10 +7,14 @@ digraph cfg { "get_array1.5988b7ad8acf5c81cef9a72d072073c1_2" [label="2: Exit get_array1 \n " color=yellow style=filled] -"get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" [label="3: Return Stmt \n n$5=_fun_NSString.stringWithUTF8String:(\"Matt\":char* const ) [line 12, column 53]\n n$0=_fun_NSString.stringWithUTF8String:(\"firstName\":char* const ) [line 13, column 53]\n n$1=_fun_NSString.stringWithUTF8String:(\"Galloway\":char* const ) [line 14, column 53]\n n$2=_fun_NSString.stringWithUTF8String:(\"lastName\":char* const ) [line 15, column 53]\n n$3=_fun_NSNumber.numberWithInt:(28:int) [line 16, column 53]\n n$4=_fun_NSString.stringWithUTF8String:(\"age\":char* const ) [line 17, column 53]\n n$6=_fun_NSDictionary.dictionaryWithObjectsAndKeys:(n$5:objc_object*,n$0:NSString*,n$1:NSString*,n$2:NSString*,n$3:NSNumber*,n$4:NSString*,null:void*) [line 12, column 10]\n *&return:NSDictionary*=n$6 [line 12, column 3]\n " shape="box"] +"get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" [label="3: Return Stmt \n n$5=_fun_NSString.stringWithUTF8String:(\"Matt\":char* const ) [line 12, column 53]\n n$0=_fun_NSString.stringWithUTF8String:(\"firstName\":char* const ) [line 13, column 53]\n n$1=_fun_NSString.stringWithUTF8String:(\"Galloway\":char* const ) [line 14, column 53]\n n$2=_fun_NSString.stringWithUTF8String:(\"lastName\":char* const ) [line 15, column 53]\n n$3=_fun_NSNumber.numberWithInt:(28:int) [line 16, column 53]\n n$4=_fun_NSString.stringWithUTF8String:(\"age\":char* const ) [line 17, column 53]\n n$6=_fun_NSDictionary.dictionaryWithObjectsAndKeys:(n$5:objc_object*,n$0:NSString*,n$1:NSString*,n$2:NSString*,n$3:NSNumber*,n$4:NSString*,null:void*) [line 12, column 10]\n " shape="box"] - "get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" -> "get_array1.5988b7ad8acf5c81cef9a72d072073c1_2" ; + "get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" -> "get_array1.5988b7ad8acf5c81cef9a72d072073c1_4" ; +"get_array1.5988b7ad8acf5c81cef9a72d072073c1_4" [label="4: Return Stmt \n *&return:NSDictionary*=n$6 [line 12, column 3]\n " shape="box"] + + + "get_array1.5988b7ad8acf5c81cef9a72d072073c1_4" -> "get_array1.5988b7ad8acf5c81cef9a72d072073c1_2" ; "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_1" [label="1: Start get_array2\nFormals: \nLocals: 0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0:objc_object* const [6*8] 0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1:objc_object* const [6*8] \n " color=yellow style=filled] @@ -18,8 +22,12 @@ digraph cfg { "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_2" [label="2: Exit get_array2 \n " color=yellow style=filled] -"get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" [label="3: Return Stmt \n n$2=_fun_NSString.stringWithUTF8String:(\"firstName\":char* const ) [line 23, column 12]\n n$3=_fun_NSString.stringWithUTF8String:(\"Matt\":char* const ) [line 23, column 27]\n n$4=_fun_NSString.stringWithUTF8String:(\"lastName\":char* const ) [line 23, column 36]\n n$5=_fun_NSString.stringWithUTF8String:(\"Galloway\":char* const ) [line 23, column 50]\n n$6=_fun_NSString.stringWithUTF8String:(\"age\":char* const ) [line 23, column 63]\n n$7=_fun_NSNumber.numberWithInt:(28:int) [line 23, column 72]\n _=*n$3:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0[0]:objc_object*=n$3 [line 23, column 10]\n _=*n$5:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0[1]:objc_object*=n$5 [line 23, column 10]\n _=*n$7:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0[2]:objc_object*=n$7 [line 23, column 10]\n _=*n$2:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1[0]:objc_object*=n$2 [line 23, column 10]\n _=*n$4:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1[1]:objc_object*=n$4 [line 23, column 10]\n _=*n$6:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1[2]:objc_object*=n$6 [line 23, column 10]\n n$9=_fun_NSDictionary.dictionaryWithObjects:forKeys:count:(&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0:objc_object* const [6*8],&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1:objc_object* const [6*8],3:int) [line 23, column 10]\n *&return:NSDictionary*=n$9 [line 23, column 3]\n " shape="box"] +"get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" [label="3: Return Stmt \n n$2=_fun_NSString.stringWithUTF8String:(\"firstName\":char* const ) [line 23, column 12]\n n$3=_fun_NSString.stringWithUTF8String:(\"Matt\":char* const ) [line 23, column 27]\n n$4=_fun_NSString.stringWithUTF8String:(\"lastName\":char* const ) [line 23, column 36]\n n$5=_fun_NSString.stringWithUTF8String:(\"Galloway\":char* const ) [line 23, column 50]\n n$6=_fun_NSString.stringWithUTF8String:(\"age\":char* const ) [line 23, column 63]\n n$7=_fun_NSNumber.numberWithInt:(28:int) [line 23, column 72]\n _=*n$3:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0[0]:objc_object*=n$3 [line 23, column 10]\n _=*n$5:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0[1]:objc_object*=n$5 [line 23, column 10]\n _=*n$7:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0[2]:objc_object*=n$7 [line 23, column 10]\n _=*n$2:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1[0]:objc_object*=n$2 [line 23, column 10]\n _=*n$4:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1[1]:objc_object*=n$4 [line 23, column 10]\n _=*n$6:objc_object* [line 23, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1[2]:objc_object*=n$6 [line 23, column 10]\n n$9=_fun_NSDictionary.dictionaryWithObjects:forKeys:count:(&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0:objc_object* const [6*8],&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1:objc_object* const [6*8],3:int) [line 23, column 10]\n " shape="box"] + + + "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" -> "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_4" ; +"get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_4" [label="4: Return Stmt \n *&return:NSDictionary*=n$9 [line 23, column 3]\n " shape="box"] - "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" -> "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_2" ; + "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_4" -> "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_2" ; } diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot index 02908f0f4..f6e99660d 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot @@ -7,10 +7,14 @@ digraph cfg { "get_string1.37988b3a9459aa3258beba816a2c79fc_2" [label="2: Exit get_string1 \n " color=yellow style=filled] -"get_string1.37988b3a9459aa3258beba816a2c79fc_3" [label="3: Return Stmt \n n$0=_fun_NSString.stringWithUTF8String:(\"Hello World!\":char*) [line 12, column 10]\n *&return:NSString*=n$0 [line 12, column 3]\n " shape="box"] +"get_string1.37988b3a9459aa3258beba816a2c79fc_3" [label="3: Return Stmt \n n$0=_fun_NSString.stringWithUTF8String:(\"Hello World!\":char*) [line 12, column 10]\n " shape="box"] - "get_string1.37988b3a9459aa3258beba816a2c79fc_3" -> "get_string1.37988b3a9459aa3258beba816a2c79fc_2" ; + "get_string1.37988b3a9459aa3258beba816a2c79fc_3" -> "get_string1.37988b3a9459aa3258beba816a2c79fc_4" ; +"get_string1.37988b3a9459aa3258beba816a2c79fc_4" [label="4: Return Stmt \n *&return:NSString*=n$0 [line 12, column 3]\n " shape="box"] + + + "get_string1.37988b3a9459aa3258beba816a2c79fc_4" -> "get_string1.37988b3a9459aa3258beba816a2c79fc_2" ; "get_string2.896232467e9bb3980f16ff6f7a1da043_1" [label="1: Start get_string2\nFormals: \nLocals: \n " color=yellow style=filled] @@ -18,8 +22,12 @@ digraph cfg { "get_string2.896232467e9bb3980f16ff6f7a1da043_2" [label="2: Exit get_string2 \n " color=yellow style=filled] -"get_string2.896232467e9bb3980f16ff6f7a1da043_3" [label="3: Return Stmt \n n$0=_fun_NSString.stringWithUTF8String:(\"Hello World!\":char* const ) [line 15, column 34]\n *&return:NSString*=n$0 [line 15, column 27]\n " shape="box"] +"get_string2.896232467e9bb3980f16ff6f7a1da043_3" [label="3: Return Stmt \n n$0=_fun_NSString.stringWithUTF8String:(\"Hello World!\":char* const ) [line 15, column 34]\n " shape="box"] + + + "get_string2.896232467e9bb3980f16ff6f7a1da043_3" -> "get_string2.896232467e9bb3980f16ff6f7a1da043_4" ; +"get_string2.896232467e9bb3980f16ff6f7a1da043_4" [label="4: Return Stmt \n *&return:NSString*=n$0 [line 15, column 27]\n " shape="box"] - "get_string2.896232467e9bb3980f16ff6f7a1da043_3" -> "get_string2.896232467e9bb3980f16ff6f7a1da043_2" ; + "get_string2.896232467e9bb3980f16ff6f7a1da043_4" -> "get_string2.896232467e9bb3980f16ff6f7a1da043_2" ; } diff --git a/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot b/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot index 09805e0f7..39e71ebbd 100644 --- a/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot @@ -18,10 +18,14 @@ digraph cfg { "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" [label="2: Exit A.test4: \n " color=yellow style=filled] -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" [label="3: Return Stmt \n n$0=*&x:int [line 18, column 10]\n *&return:int=n$0 [line 18, column 3]\n " shape="box"] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" [label="3: Return Stmt \n n$0=*&x:int [line 18, column 10]\n " shape="box"] - "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" ; + "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" ; +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" [label="4: Return Stmt \n *&return:int=n$0 [line 18, column 3]\n " shape="box"] + + + "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" ; "test5:#A#instance.4d6ac42705853160b533ab46b444624a_1" [label="1: Start A.test5:\nFormals: self:A* b:_Bool\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n " color=yellow style=filled] @@ -50,8 +54,12 @@ digraph cfg { "test5:#A#instance.4d6ac42705853160b533ab46b444624a_7" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_3" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" [label="8: Return Stmt \n n$5=*&self:A* [line 22, column 11]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 22, column 23]\n n$6=_fun_A.test4:(n$5:A*,n$4:int) virtual [line 22, column 10]\n *&return:int=n$6 [line 22, column 3]\n " shape="box"] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" [label="8: Return Stmt \n n$5=*&self:A* [line 22, column 11]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 22, column 23]\n n$6=_fun_A.test4:(n$5:A*,n$4:int) virtual [line 22, column 10]\n " shape="box"] + + + "test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_9" ; +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_9" [label="9: Return Stmt \n *&return:int=n$6 [line 22, column 3]\n " shape="box"] - "test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_2" ; + "test5:#A#instance.4d6ac42705853160b533ab46b444624a_9" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_2" ; } 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 188b6de06..066bd8d2b 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 @@ -14,55 +14,59 @@ digraph cfg { "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_1" [label="1: Start A.fast_loop:\nFormals: self:A* items:NSArray*\nLocals: item:NSArray* 0$?%__sil_tmp__enumerator_n$1:NSEnumerator* size:int \n " color=yellow style=filled] - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_1" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_13" ; + "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_1" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_14" ; "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_2" [label="2: Exit A.fast_loop: \n " color=yellow style=filled] -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" [label="3: Return Stmt \n n$0=*&size:int [line 24, column 10]\n *&return:int=n$0 [line 24, column 3]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" [label="3: Return Stmt \n n$0=*&size:int [line 24, column 10]\n " shape="box"] - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_2" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" [label="4: + \n " ] + "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" ; +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" [label="4: Return Stmt \n *&return:int=n$0 [line 24, column 3]\n " shape="box"] - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_5" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_5" [label="5: Message Call: nextObject \n n$2=*&0$?%__sil_tmp__enumerator_n$1:NSEnumerator* [line 21, column 3]\n n$3=_fun_NSEnumerator.nextObject(n$2:NSEnumerator*) virtual [line 21, column 3]\n " shape="box"] + "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_2" ; +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_5" [label="5: + \n " ] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_5" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_6" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_6" [label="6: BinaryOperatorStmt: Assign \n *&item:NSArray*=n$3 [line 21, column 3]\n n$4=*&item:NSArray* [line 21, column 3]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_6" [label="6: Message Call: nextObject \n n$2=*&0$?%__sil_tmp__enumerator_n$1:NSEnumerator* [line 21, column 3]\n n$3=_fun_NSEnumerator.nextObject(n$2:NSEnumerator*) virtual [line 21, column 3]\n " shape="box"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_6" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" ; - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_6" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" [label="7: Prune (true branch, while) \n PRUNE(n$4, true); [line 21, column 3]\n " shape="invhouse"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" [label="7: BinaryOperatorStmt: Assign \n *&item:NSArray*=n$3 [line 21, column 3]\n n$4=*&item:NSArray* [line 21, column 3]\n " shape="box"] + "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" ; "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" [label="8: Prune (false branch, while) \n PRUNE(!n$4, false); [line 21, column 3]\n " shape="invhouse"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" [label="8: Prune (true branch, while) \n PRUNE(n$4, true); [line 21, column 3]\n " shape="invhouse"] - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" [label="9: BinaryOperatorStmt: AddAssign \n n$5=*&item:NSArray* [line 22, column 14]\n n$6=_fun_NSArray.count(n$5:NSArray*) [line 22, column 13]\n n$7=*&size:int [line 22, column 5]\n *&size:int=(n$7 + n$6) [line 22, column 5]\n " shape="box"] + "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" ; +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" [label="9: Prune (false branch, while) \n PRUNE(!n$4, false); [line 21, column 3]\n " shape="invhouse"] - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" [label="10: Message Call: objectEnumerator \n n$9=*&items:NSArray* [line 21, column 25]\n n$10=_fun_NSArray.objectEnumerator(n$9:NSArray*) virtual [line 21, column 3]\n " shape="box"] + "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" ; +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" [label="10: BinaryOperatorStmt: AddAssign \n n$5=*&item:NSArray* [line 22, column 14]\n n$6=_fun_NSArray.count(n$5:NSArray*) [line 22, column 13]\n n$7=*&size:int [line 22, column 5]\n *&size:int=(n$7 + n$6) [line 22, column 5]\n " shape="box"] - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_12" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" [label="11: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmp__enumerator_n$1:NSEnumerator*); [line 21, column 3]\n " shape="box"] + "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_5" ; +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" [label="11: Message Call: objectEnumerator \n n$9=*&items:NSArray* [line 21, column 25]\n n$10=_fun_NSArray.objectEnumerator(n$9:NSArray*) virtual [line 21, column 3]\n " shape="box"] - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_12" [label="12: DeclStmt \n *&0$?%__sil_tmp__enumerator_n$1:NSEnumerator*=n$10 [line 21, column 3]\n " shape="box"] + "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_13" ; +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_12" [label="12: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmp__enumerator_n$1:NSEnumerator*); [line 21, column 3]\n " shape="box"] - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_12" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_13" [label="13: 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_12" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" ; +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_13" [label="13: DeclStmt \n *&0$?%__sil_tmp__enumerator_n$1:NSEnumerator*=n$10 [line 21, column 3]\n " shape="box"] - "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_13" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_11" ; + "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_13" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_5" ; +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_14" [label="14: 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_14" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_12" ; "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_1" [label="1: Start A.fast_loop_no_crash\nFormals: self:A*\nLocals: 0$?%__sil_tmp__enumerator_n$19:NSEnumerator* obj:objc_object* \n " color=yellow style=filled] @@ -114,41 +118,45 @@ digraph cfg { "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_1" [label="1: Start A.while_loop:\nFormals: self:A* items:NSArray*\nLocals: item:NSArray* size:int \n " color=yellow style=filled] - "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_1" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_10" ; + "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_1" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_11" ; "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 " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" [label="3: Return Stmt \n n$11=*&size:int [line 33, column 10]\n " shape="box"] - "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_2" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" [label="4: + \n " ] + "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" ; +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" [label="4: Return Stmt \n *&return:int=n$11 [line 33, column 3]\n " shape="box"] - "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 " shape="box"] + "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_2" ; +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" [label="5: + \n " ] "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 " shape="invhouse"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" [label="6: 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 " shape="box"] + "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" ; "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 " shape="invhouse"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" [label="7: Prune (true branch, while) \n PRUNE(n$14, true); [line 30, column 11]\n " shape="invhouse"] + + + "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" ; +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" [label="8: Prune (false branch, while) \n PRUNE(!n$14, false); [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 " shape="box"] + "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" ; +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" [label="9: 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 " 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 VARIABLE_DECLARED(item:NSArray*); [line 29, column 3]\n *&item:NSArray*=null [line 29, column 3]\n " shape="box"] + "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" ; +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_10" [label="10: DeclStmt \n VARIABLE_DECLARED(item:NSArray*); [line 29, column 3]\n *&item:NSArray*=null [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 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_5" ; +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_11" [label="11: 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" ; + "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_11" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_10" ; } diff --git a/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot b/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot index 0234cf2cb..e826b0f5e 100644 --- a/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot @@ -7,10 +7,14 @@ digraph cfg { "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_2" [label="2: Exit A.addTarget: \n " color=yellow style=filled] -"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" [label="3: Return Stmt \n n$0=*&target:A* [line 17, column 10]\n n$1=_fun_A.x(n$0:A*) [line 17, column 17]\n *&return:int=n$1 [line 17, column 3]\n " shape="box"] +"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" [label="3: Return Stmt \n n$0=*&target:A* [line 17, column 10]\n n$1=_fun_A.x(n$0:A*) [line 17, column 17]\n " shape="box"] - "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" -> "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_2" ; + "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" -> "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_4" ; +"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_4" [label="4: Return Stmt \n *&return:int=n$1 [line 17, column 3]\n " shape="box"] + + + "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_4" -> "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_2" ; "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_1" [label="1: Start A.dealloc\nFormals: self:A*\nLocals: \n " color=yellow style=filled] 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 c0c872e61..f3316ed13 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot @@ -68,43 +68,47 @@ digraph cfg { "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: 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_10" ; + "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 " color=yellow style=filled] -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" [label="3: Return Stmt \n n$24=*&#GB$A.class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle* [line 120, column 10]\n *&return:NSBundle*=n$24 [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$24=*&#GB$A.class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle* [line 120, column 10]\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" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_4" [label="4: + \n " ] + "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_4" ; +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_4" [label="4: Return Stmt \n *&return:NSBundle*=n$24 [line 120, column 3]\n " shape="box"] - "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" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_5" [label="5: Prune (true branch, boolean exp) \n PRUNE(n$26, true); [line 119, column 12]\n " shape="invhouse"] + "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_2" ; +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_5" [label="5: + \n " ] - "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$26, false); [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_10" ; +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$26, true); [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 *&#GB$A.class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$26 [line 119, column 12]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$26, false); [line 119, column 12]\n " shape="invhouse"] - "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$27=_fun_NSBundle.mainBundle() [line 119, column 59]\n *&#GB$A.class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$27 [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_9" ; +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" [label="8: ConditionalStmt Branch \n *&#GB$A.class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$26 [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$25=*&stringsBundlePath:NSString* [line 119, column 37]\n n$26=_fun_NSBundle.bundleWithPath:(n$25:NSString*) [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_5" ; +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" [label="9: ConditionalStmt Branch \n n$27=_fun_NSBundle.mainBundle() [line 119, column 59]\n *&#GB$A.class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$27 [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_3" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" [label="10: DeclStmt \n VARIABLE_DECLARED(stringsBundlePath:NSString*); [line 116, column 3]\n n$30=_fun_NSBundle.bundleForClass:(sizeof(t=B):unsigned long) [line 117, column 8]\n n$28=_fun_NSString.stringWithUTF8String:(\"Strings\":char* const ) [line 117, column 60]\n n$29=_fun_NSString.stringWithUTF8String:(\"bundle\":char* const ) [line 118, column 60]\n n$31=_fun_NSBundle.pathForResource:ofType:(n$30:NSBundle*,n$28:NSString*,n$29:NSString*) virtual [line 117, column 7]\n *&stringsBundlePath:NSString*=n$31 [line 116, column 3]\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_10" [label="10: BinaryConditionalStmt Init \n n$25=*&stringsBundlePath:NSString* [line 119, column 37]\n n$26=_fun_NSBundle.bundleWithPath:(n$25:NSString*) [line 119, column 12]\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_5" ; - "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_6" ; + "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 VARIABLE_DECLARED(stringsBundlePath:NSString*); [line 116, column 3]\n n$30=_fun_NSBundle.bundleForClass:(sizeof(t=B):unsigned long) [line 117, column 8]\n n$28=_fun_NSString.stringWithUTF8String:(\"Strings\":char* const ) [line 117, column 60]\n n$29=_fun_NSString.stringWithUTF8String:(\"bundle\":char* const ) [line 118, column 60]\n n$31=_fun_NSBundle.pathForResource:ofType:(n$30:NSBundle*,n$28:NSString*,n$29:NSString*) virtual [line 117, column 7]\n *&stringsBundlePath:NSString*=n$31 [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_6" ; + "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_7" ; "test_class#A#class.97324b18f626e66a3c32cec03286eb8d_1" [label="1: Start A.test_class\nFormals: \nLocals: \n " color=yellow style=filled] @@ -199,10 +203,14 @@ 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$23=_fun_NSBundle.bundleForClass:(sizeof(t=A):unsigned long) [line 111, column 10]\n *&return:NSBundle*=n$23 [line 111, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" [label="3: Return Stmt \n n$23=_fun_NSBundle.bundleForClass:(sizeof(t=A):unsigned long) [line 111, column 10]\n " shape="box"] + + + "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" -> "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_4" ; +"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_4" [label="4: Return Stmt \n *&return:NSBundle*=n$23 [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" ; + "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_4" -> "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_2" ; "dealloc#A#instance.55ac864e91dcd5d484e8ab7d8eb94fcb_1" [label="1: Start A.dealloc\nFormals: self:A*\nLocals: \n " color=yellow style=filled] @@ -232,10 +240,14 @@ 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$19=_fun_NSStringFromClass(sizeof(t=A):unsigned long) [line 90, column 10]\n *&return:NSString*=n$19 [line 90, column 3]\n " shape="box"] +"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" [label="3: Return Stmt \n n$19=_fun_NSStringFromClass(sizeof(t=A):unsigned long) [line 90, column 10]\n " shape="box"] - "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" -> "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" ; + "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" -> "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_4" ; +"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_4" [label="4: Return Stmt \n *&return:NSString*=n$19 [line 90, column 3]\n " shape="box"] + + + "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_4" -> "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" ; "t#A#instance.e31b9a7bced712626784e2860af1a31b_1" [label="1: Start A.t\nFormals: self:A*\nLocals: b:B* \n " color=yellow style=filled] @@ -265,10 +277,14 @@ 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$13=*&object:B* [line 78, column 11]\n n$14=_fun_B.isC:(n$13:B*,sizeof(t=A):unsigned long) virtual [line 78, column 10]\n *&return:_Bool=n$14 [line 78, column 3]\n " shape="box"] +"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" [label="3: Return Stmt \n n$13=*&object:B* [line 78, column 11]\n n$14=_fun_B.isC:(n$13:B*,sizeof(t=A):unsigned long) virtual [line 78, column 10]\n " shape="box"] + + + "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" -> "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_4" ; +"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_4" [label="4: Return Stmt \n *&return:_Bool=n$14 [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" ; + "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_4" -> "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_2" ; "b_m#B#class.82af96ad418803b2f96fc1bfa1572c10_1" [label="1: Start B.b_m\nFormals: \nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot b/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot index 950fee02d..bd2feab8e 100644 --- a/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot @@ -14,16 +14,20 @@ digraph cfg { "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_1" [label="1: Start MySubclass.myNumber\nFormals: self:MySubclass*\nLocals: subclassNumber:int \n " color=yellow style=filled] - "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_1" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" ; + "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_1" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_5" ; "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_2" [label="2: Exit MySubclass.myNumber \n " color=yellow style=filled] -"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" [label="3: Return Stmt \n n$0=*&subclassNumber:int [line 16, column 10]\n *&return:int=n$0 [line 16, column 3]\n " shape="box"] +"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" [label="3: Return Stmt \n n$0=*&subclassNumber:int [line 16, column 10]\n " shape="box"] - "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_2" ; -"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 " shape="box"] + "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" ; +"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" [label="4: Return Stmt \n *&return:int=n$0 [line 16, column 3]\n " shape="box"] - "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" ; + "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_2" ; +"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_5" [label="5: 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 " shape="box"] + + + "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_5" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" ; } diff --git a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot index 1c89c6d63..5da4e7d40 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot @@ -29,10 +29,14 @@ digraph cfg { "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_2" [label="2: Exit FBScrollViewDelegateProxy.layoutToUse \n " color=yellow style=filled] -"layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_3" [label="3: Return Stmt \n n$0=*&#GB$__iPhoneVideoAdLayout:FBVideoAdLayout [line 43, column 10]\n *&return:FBVideoAdLayout=n$0 [line 43, column 3]\n " shape="box"] +"layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_3" [label="3: Return Stmt \n n$0=*&#GB$__iPhoneVideoAdLayout:FBVideoAdLayout [line 43, column 10]\n " shape="box"] - "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_3" -> "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_2" ; + "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_3" -> "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_4" ; +"layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_4" [label="4: Return Stmt \n *&return:FBVideoAdLayout=n$0 [line 43, column 3]\n " shape="box"] + + + "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_4" -> "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_2" ; "dealloc#FBScrollViewDelegateProxy#instance.be70c6b49a0df60d48868e383f3399dc_1" [label="1: Start FBScrollViewDelegateProxy.dealloc\nFormals: self:FBScrollViewDelegateProxy*\nLocals: \n " color=yellow style=filled] 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 1c90ffec2..0835bc8d2 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot @@ -7,10 +7,14 @@ digraph cfg { "bar1.fa85cca91963d8f301e34247048fca39_2" [label="2: Exit bar1 \n " color=yellow style=filled] -"bar1.fa85cca91963d8f301e34247048fca39_3" [label="3: Return Stmt \n n$0=*&a:int [line 29, column 26]\n *&a:int=(n$0 + 1) [line 29, column 26]\n *&return:int=n$0 [line 29, column 19]\n " shape="box"] +"bar1.fa85cca91963d8f301e34247048fca39_3" [label="3: Return Stmt \n n$0=*&a:int [line 29, column 26]\n *&a:int=(n$0 + 1) [line 29, column 26]\n " shape="box"] - "bar1.fa85cca91963d8f301e34247048fca39_3" -> "bar1.fa85cca91963d8f301e34247048fca39_2" ; + "bar1.fa85cca91963d8f301e34247048fca39_3" -> "bar1.fa85cca91963d8f301e34247048fca39_4" ; +"bar1.fa85cca91963d8f301e34247048fca39_4" [label="4: Return Stmt \n *&return:int=n$0 [line 29, column 19]\n " shape="box"] + + + "bar1.fa85cca91963d8f301e34247048fca39_4" -> "bar1.fa85cca91963d8f301e34247048fca39_2" ; "foo1.299a0be4a5a79e6a59fdd251b19d78bb_1" [label="1: Start foo1\nFormals: a:int\nLocals: \n " color=yellow style=filled] @@ -77,10 +81,14 @@ digraph cfg { "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_2" [label="2: Exit AClass.bar: \n " color=yellow style=filled] -"bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" [label="3: Return Stmt \n n$1=*&a:int [line 22, column 10]\n *&a:int=(n$1 + 1) [line 22, column 10]\n *&return:int=n$1 [line 22, column 3]\n " shape="box"] +"bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" [label="3: Return Stmt \n n$1=*&a:int [line 22, column 10]\n *&a:int=(n$1 + 1) [line 22, column 10]\n " shape="box"] + + + "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" -> "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_4" ; +"bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_4" [label="4: Return Stmt \n *&return:int=n$1 [line 22, column 3]\n " shape="box"] - "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" -> "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_2" ; + "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_4" -> "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_2" ; "dealloc#AClass#instance.5339a8e9aec421a1f58ba25e08faeb6b_1" [label="1: Start AClass.dealloc\nFormals: self:AClass*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot index 5fc3eb7b4..7f76fbc6e 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot @@ -18,8 +18,12 @@ digraph cfg { "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" [label="2: Exit AClass.sharedInstance \n " color=yellow style=filled] -"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n *&return:NSObject*=n$0 [line 19, column 3]\n " shape="box"] +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n " shape="box"] - "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" ; + "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_4" ; +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_4" [label="4: Return Stmt \n *&return:NSObject*=n$0 [line 19, column 3]\n " shape="box"] + + + "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_4" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" ; } diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot index 51f7c931c..60f52524f 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot @@ -18,8 +18,12 @@ digraph cfg { "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" [label="2: Exit AClass.sharedInstance \n " color=yellow style=filled] -"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n *&return:NSObject*=n$0 [line 19, column 3]\n " shape="box"] +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n " shape="box"] - "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" ; + "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_4" ; +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_4" [label="4: Return Stmt \n *&return:NSObject*=n$0 [line 19, column 3]\n " shape="box"] + + + "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_4" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" ; } diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot index 66c160d0a..115842ef2 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot @@ -18,10 +18,18 @@ digraph cfg { "struct_init_test.b3909a459f16e15611cc425c52c74b0c_2" [label="2: Exit struct_init_test \n " color=yellow style=filled] -"struct_init_test.b3909a459f16e15611cc425c52c74b0c_3" [label="3: Return Stmt \n n$0=*&__return_param:CGAffineTransform* [line 27, column 3]\n *n$0.a:double=-1 [line 27, column 29]\n *n$0.b:double=0 [line 27, column 29]\n *n$0.c:double=-0 [line 27, column 29]\n *n$0.d:double=-1 [line 27, column 29]\n *n$0.tx:double=0. [line 27, column 62]\n *n$0.ty:double=0. [line 27, column 62]\n n$1=*n$0:CGAffineTransform [line 27, column 10]\n " shape="box"] +"struct_init_test.b3909a459f16e15611cc425c52c74b0c_3" [label="3: Return Stmt \n n$0=*&__return_param:CGAffineTransform* [line 27, column 3]\n " shape="box"] - "struct_init_test.b3909a459f16e15611cc425c52c74b0c_3" -> "struct_init_test.b3909a459f16e15611cc425c52c74b0c_2" ; + "struct_init_test.b3909a459f16e15611cc425c52c74b0c_3" -> "struct_init_test.b3909a459f16e15611cc425c52c74b0c_4" ; +"struct_init_test.b3909a459f16e15611cc425c52c74b0c_4" [label="4: Return Stmt \n *n$0.a:double=-1 [line 27, column 29]\n *n$0.b:double=0 [line 27, column 29]\n *n$0.c:double=-0 [line 27, column 29]\n *n$0.d:double=-1 [line 27, column 29]\n *n$0.tx:double=0. [line 27, column 62]\n *n$0.ty:double=0. [line 27, column 62]\n n$1=*n$0:CGAffineTransform [line 27, column 10]\n " shape="box"] + + + "struct_init_test.b3909a459f16e15611cc425c52c74b0c_4" -> "struct_init_test.b3909a459f16e15611cc425c52c74b0c_5" ; +"struct_init_test.b3909a459f16e15611cc425c52c74b0c_5" [label="5: Return Stmt \n " shape="box"] + + + "struct_init_test.b3909a459f16e15611cc425c52c74b0c_5" -> "struct_init_test.b3909a459f16e15611cc425c52c74b0c_2" ; "test.098f6bcd4621d373cade4e832627b4f6_1" [label="1: Start test\nFormals: \nLocals: a:C*[3*8] c2:C* c1:C* \n " color=yellow style=filled] 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 bc2e9ed47..d2a075dec 100644 --- a/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot @@ -29,10 +29,14 @@ digraph cfg { "init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_2" [label="2: Exit NonnullAnnot.init \n " color=yellow style=filled] -"init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_3" [label="3: Return Stmt \n n$0=*&self:NonnullAnnot* [line 20, column 10]\n *&return:objc_object*=n$0 [line 20, column 3]\n " shape="box"] +"init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_3" [label="3: Return Stmt \n n$0=*&self:NonnullAnnot* [line 20, column 10]\n " shape="box"] - "init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_3" -> "init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_2" ; + "init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_3" -> "init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_4" ; +"init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [line 20, column 3]\n " shape="box"] + + + "init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_4" -> "init#NonnullAnnot#instance.b2b74f8dde6ae5957922f59d81ccda45_2" ; "setChild:#NonnullAnnot(class NonnullAnnot)#instance.a6a145a3c260c479880c89d93b389160_1" [label="1: Start NonnullAnnot.setChild:\nFormals: self:NonnullAnnot* child:NonnullAnnot*\nLocals: \n " color=yellow style=filled] @@ -47,33 +51,41 @@ digraph cfg { "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_1" [label="1: Start NonnullAnnot.test1:\nFormals: self:NonnullAnnot* a:NonnullAnnot*\nLocals: aa:NonnullAnnot* \n " color=yellow style=filled] - "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_1" -> "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_4" ; + "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_1" -> "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_5" ; "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_2" [label="2: Exit NonnullAnnot.test1: \n " color=yellow style=filled] -"test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_3" [label="3: Return Stmt \n n$1=*&aa:NonnullAnnot* [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 " shape="box"] +"test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_3" [label="3: Return Stmt \n n$1=*&aa:NonnullAnnot* [line 25, column 10]\n n$2=*n$1.x:int [line 25, column 10]\n " shape="box"] + + + "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_3" -> "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_4" ; +"test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_4" [label="4: Return Stmt \n *&return:int=n$2 [line 25, column 3]\n " shape="box"] - "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_3" -> "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_2" ; -"test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:NonnullAnnot*); [line 24, column 3]\n n$3=*&a:NonnullAnnot* [line 24, column 23]\n n$4=_fun_NonnullAnnot.child(n$3:NonnullAnnot*) [line 24, column 22]\n *&aa:NonnullAnnot*=n$4 [line 24, column 3]\n " shape="box"] + "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_4" -> "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_2" ; +"test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_5" [label="5: DeclStmt \n VARIABLE_DECLARED(aa:NonnullAnnot*); [line 24, column 3]\n n$3=*&a:NonnullAnnot* [line 24, column 23]\n n$4=_fun_NonnullAnnot.child(n$3:NonnullAnnot*) [line 24, column 22]\n *&aa:NonnullAnnot*=n$4 [line 24, column 3]\n " shape="box"] - "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_4" -> "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_3" ; + "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_5" -> "test1:#NonnullAnnot(class NonnullAnnot)#instance.e1bfc3674bdae0a62d7e4bb2a1768f99_3" ; "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_1" [label="1: Start NonnullAnnot.test2:\nFormals: self:NonnullAnnot* a:NonnullAnnot*\nLocals: aa:NonnullAnnot*\nAnnotation: <> NonnullAnnot.test2:(<> <_Nonnull>) \n " color=yellow style=filled] - "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_1" -> "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_4" ; + "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_1" -> "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_5" ; "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_2" [label="2: Exit NonnullAnnot.test2: \n " color=yellow style=filled] -"test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_3" [label="3: Return Stmt \n n$5=*&aa:NonnullAnnot* [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 " shape="box"] +"test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_3" [label="3: Return Stmt \n n$5=*&aa:NonnullAnnot* [line 30, column 10]\n n$6=*n$5.x:int [line 30, column 10]\n " shape="box"] + + + "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_3" -> "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_4" ; +"test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_4" [label="4: Return Stmt \n *&return:int=n$6 [line 30, column 3]\n " shape="box"] - "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_3" -> "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_2" ; -"test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:NonnullAnnot*); [line 29, column 3]\n n$7=*&a:NonnullAnnot* [line 29, column 23]\n n$8=_fun_NonnullAnnot.child(n$7:NonnullAnnot*) [line 29, column 22]\n *&aa:NonnullAnnot*=n$8 [line 29, column 3]\n " shape="box"] + "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_4" -> "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_2" ; +"test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_5" [label="5: DeclStmt \n VARIABLE_DECLARED(aa:NonnullAnnot*); [line 29, column 3]\n n$7=*&a:NonnullAnnot* [line 29, column 23]\n n$8=_fun_NonnullAnnot.child(n$7:NonnullAnnot*) [line 29, column 22]\n *&aa:NonnullAnnot*=n$8 [line 29, column 3]\n " shape="box"] - "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_4" -> "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_3" ; + "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_5" -> "test2:#NonnullAnnot(class NonnullAnnot)#instance.7992ca7f61dca07dd40b2e7d7603a016_3" ; "test3:#NonnullAnnot#instance.4ab04a3232d4ec4327b6040285f16196_1" [label="1: Start NonnullAnnot.test3:\nFormals: self:NonnullAnnot* successBlock:_fn_(*)\nLocals: \n " color=yellow style=filled] 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 1b3325fd7..bce59a3ac 100644 --- a/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot @@ -3,22 +3,26 @@ digraph cfg { "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_1" [label="1: Start npe_property_nullable\nFormals: \nLocals: 0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0:objc_object* const [2*8] 0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1:objc_object* const [2*8] child:Person* person:Person* \n " color=yellow style=filled] - "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_1" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" ; + "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_1" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_6" ; "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$2=_fun_NSString.stringWithUTF8String:(\"key\":char* const ) [line 56, column 12]\n n$3=*&child:Person* [line 56, column 21]\n _=*n$3:objc_object* [line 56, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0[0]:objc_object*=n$3 [line 56, column 10]\n _=*n$2:objc_object* [line 56, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1[0]:objc_object*=n$2 [line 56, column 10]\n n$5=_fun_NSDictionary.dictionaryWithObjects:forKeys:count:(&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0:objc_object* const [2*8],&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1:objc_object* const [2*8],1:int) [line 56, column 10]\n *&return:NSDictionary*=n$5 [line 56, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" [label="3: Return Stmt \n n$2=_fun_NSString.stringWithUTF8String:(\"key\":char* const ) [line 56, column 12]\n n$3=*&child:Person* [line 56, column 21]\n _=*n$3:objc_object* [line 56, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0[0]:objc_object*=n$3 [line 56, column 10]\n _=*n$2:objc_object* [line 56, column 10]\n *&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1[0]:objc_object*=n$2 [line 56, column 10]\n n$5=_fun_NSDictionary.dictionaryWithObjects:forKeys:count:(&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count1___n$0:objc_object* const [2*8],&0$?%__sil_tmpSIL_dictionaryWithObjects_forKeys_count2___n$1:objc_object* const [2*8],1:int) [line 56, column 10]\n " shape="box"] - "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_2" ; -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(child:Person*); [line 55, column 3]\n n$6=*&person:Person* [line 55, column 19]\n n$7=_fun_Person.child(n$6:Person*) [line 55, column 26]\n *&child:Person*=n$7 [line 55, column 3]\n " shape="box"] + "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" ; +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" [label="4: Return Stmt \n *&return:NSDictionary*=n$5 [line 56, column 3]\n " shape="box"] - "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" ; -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 54, column 3]\n n$8=_fun___objc_alloc_no_fail(sizeof(t=Person):unsigned long) [line 54, column 20]\n n$9=_fun_NSObject.init(n$8:Person*) virtual [line 54, column 20]\n *&person:Person*=n$9 [line 54, column 3]\n " shape="box"] + "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_2" ; +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(child:Person*); [line 55, column 3]\n n$6=*&person:Person* [line 55, column 19]\n n$7=_fun_Person.child(n$6:Person*) [line 55, column 26]\n *&child:Person*=n$7 [line 55, column 3]\n " shape="box"] - "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" ; + "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" ; +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_6" [label="6: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 54, column 3]\n n$8=_fun___objc_alloc_no_fail(sizeof(t=Person):unsigned long) [line 54, column 20]\n n$9=_fun_NSObject.init(n$8:Person*) virtual [line 54, column 20]\n *&person:Person*=n$9 [line 54, column 3]\n " shape="box"] + + + "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_6" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" ; "dealloc#User#instance.845406211d2df26e556b3165fd367f01_1" [label="1: Start User.dealloc\nFormals: self:User*\nLocals: \n " color=yellow style=filled] @@ -37,10 +41,14 @@ digraph cfg { "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_2" [label="2: Exit User.initWithName: \n " color=yellow style=filled] -"initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" [label="3: Return Stmt \n n$0=*&self:User* [line 30, column 10]\n *&return:objc_object*=n$0 [line 30, column 3]\n " shape="box"] +"initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" [label="3: Return Stmt \n n$0=*&self:User* [line 30, column 10]\n " shape="box"] + + + "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" -> "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_4" ; +"initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [line 30, column 3]\n " shape="box"] - "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" -> "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_2" ; + "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_4" -> "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_2" ; "name#User#instance.64d2642dd9cada63b69256c9a7def3b2_1" [label="1: Start User.name\nFormals: self:User*\nLocals: \n " color=yellow style=filled] @@ -55,18 +63,22 @@ digraph cfg { "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_1" [label="1: Start User.otherUserName\nFormals: self:User*\nLocals: ou:User* \n " color=yellow style=filled] - "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_1" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" ; + "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_1" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_5" ; "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 " 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 " shape="box"] + + + "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" ; +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" [label="4: Return Stmt \n *&return:NSString*=n$5 [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 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 " shape="box"] + "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_2" ; +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_5" [label="5: 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 " shape="box"] - "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" ; + "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_5" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" ; "setName:#User(class NSString)#instance.feaa984173830aa4a9d325a5924f264f_1" [label="1: Start User.setName:\nFormals: self:User* name:NSString*\nLocals: \n " color=yellow style=filled] @@ -85,10 +97,14 @@ digraph cfg { "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_2" [label="2: Exit User.tellMeSomething \n " color=yellow style=filled] -"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" [label="3: Return Stmt \n n$1=_fun_NSString.stringWithUTF8String:(\"Hi\":char* const ) [line 34, column 10]\n *&return:NSString*=n$1 [line 34, column 3]\n " shape="box"] +"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" [label="3: Return Stmt \n n$1=_fun_NSString.stringWithUTF8String:(\"Hi\":char* const ) [line 34, column 10]\n " shape="box"] - "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" -> "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_2" ; + "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" -> "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_4" ; +"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_4" [label="4: Return Stmt \n *&return:NSString*=n$1 [line 34, column 3]\n " shape="box"] + + + "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_4" -> "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_2" ; "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_1" [label="1: Start User.tellMeSomething:and:and:and:\nFormals: self:User* s1:NSString* s2:NSString* s3:NSString* s4:NSString*\nLocals: \nAnnotation: <> User.tellMeSomething:and:and:and:(<> <> <> <_Nullable> <>) \n " color=yellow style=filled] @@ -96,10 +112,14 @@ digraph cfg { "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_2" [label="2: Exit User.tellMeSomething:and:and:and: \n " color=yellow style=filled] -"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" [label="3: Return Stmt \n n$3=_fun_NSString.stringWithUTF8String:(\"Hi\":char* const ) [line 45, column 10]\n *&return:NSString*=n$3 [line 45, column 3]\n " shape="box"] +"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" [label="3: Return Stmt \n n$3=_fun_NSString.stringWithUTF8String:(\"Hi\":char* const ) [line 45, column 10]\n " shape="box"] + + + "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" -> "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_4" ; +"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_4" [label="4: Return Stmt \n *&return:NSString*=n$3 [line 45, column 3]\n " shape="box"] - "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" -> "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_2" ; + "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_4" -> "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_2" ; "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_1" [label="1: Start User.tellMeSomethingNotNullable\nFormals: self:User*\nLocals: \n " color=yellow style=filled] @@ -107,8 +127,12 @@ digraph cfg { "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_2" [label="2: Exit User.tellMeSomethingNotNullable \n " color=yellow style=filled] -"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" [label="3: Return Stmt \n n$2=_fun_NSString.stringWithUTF8String:(\"Hi\":char* const ) [line 38, column 10]\n *&return:NSString*=n$2 [line 38, column 3]\n " shape="box"] +"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" [label="3: Return Stmt \n n$2=_fun_NSString.stringWithUTF8String:(\"Hi\":char* const ) [line 38, column 10]\n " shape="box"] + + + "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" -> "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_4" ; +"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_4" [label="4: Return Stmt \n *&return:NSString*=n$2 [line 38, column 3]\n " shape="box"] - "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" -> "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_2" ; + "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_4" -> "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_2" ; } diff --git a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot index b0582950b..d7470dfe9 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot @@ -7,10 +7,14 @@ digraph cfg { "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_2" [label="2: Exit objc_blockBlockVar.blockPostBad_2 \n " color=yellow style=filled] -"objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_3" [label="3: Return Stmt \n n$15=*&x:int* [line 32, column 12]\n *&return:int*=n$15 [line 32, column 5]\n " shape="box"] +"objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_3" [label="3: Return Stmt \n n$15=*&x:int* [line 32, column 12]\n " shape="box"] - "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_3" -> "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_2" ; + "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_3" -> "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_4" ; +"objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_4" [label="4: Return Stmt \n *&return:int*=n$15 [line 32, column 5]\n " shape="box"] + + + "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_4" -> "objc_blockBlockVar.blockPostBad_2.9b5fc6c216acf1eebade4e80598bd292_2" ; "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_1" [label="1: Start objc_blockBlockVar.blockPostOk_3\nFormals: x:int*\nLocals: \nCaptured: [by ref]x:int* \n " color=yellow style=filled] @@ -18,10 +22,14 @@ digraph cfg { "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_2" [label="2: Exit objc_blockBlockVar.blockPostOk_3 \n " color=yellow style=filled] -"objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_3" [label="3: Return Stmt \n n$20=*&x:int* [line 41, column 12]\n *&return:int*=n$20 [line 41, column 5]\n " shape="box"] +"objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_3" [label="3: Return Stmt \n n$20=*&x:int* [line 41, column 12]\n " shape="box"] + + + "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_3" -> "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_4" ; +"objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_4" [label="4: Return Stmt \n *&return:int*=n$20 [line 41, column 5]\n " shape="box"] - "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_3" -> "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_2" ; + "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_4" -> "objc_blockBlockVar.blockPostOk_3.860b502fd4305d26ee26104b0e266b62_2" ; "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_1" [label="1: Start objc_blockBlockVar.capturedNoNullDeref_5\nFormals: x:int*\nLocals: \nCaptured: [by ref]x:int* \n " color=yellow style=filled] @@ -29,10 +37,14 @@ digraph cfg { "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_2" [label="2: Exit objc_blockBlockVar.capturedNoNullDeref_5 \n " color=yellow style=filled] -"objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_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 " shape="box"] +"objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_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 " shape="box"] + + + "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_3" -> "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_4" ; +"objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_4" [label="4: Return Stmt \n *&return:int=n$30 [line 58, column 5]\n " shape="box"] - "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_3" -> "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_2" ; + "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_4" -> "objc_blockBlockVar.capturedNoNullDeref_5.05728b28cff98ce99554f69b47154636_2" ; "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_1" [label="1: Start objc_blockBlockVar.capturedNullDeref_4\nFormals: x:int*\nLocals: \nCaptured: [by ref]x:int* \n " color=yellow style=filled] @@ -40,29 +52,37 @@ digraph cfg { "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_2" [label="2: Exit objc_blockBlockVar.capturedNullDeref_4 \n " color=yellow style=filled] -"objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_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 " shape="box"] +"objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_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 " shape="box"] - "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_3" -> "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_2" ; + "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_3" -> "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_4" ; +"objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_4" [label="4: Return Stmt \n *&return:int=n$25 [line 49, column 5]\n " shape="box"] + + + "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_4" -> "objc_blockBlockVar.capturedNullDeref_4.b2398d8a441f4c0e3ff276c92e1e2c2b_2" ; "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_1" [label="1: Start objc_blockBlockVar.navigateToURLInBackground_1\nFormals: a:int b:int\nLocals: res:int \n " color=yellow style=filled] - "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_1" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_4" ; + "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_1" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_5" ; "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_2" [label="2: Exit objc_blockBlockVar.navigateToURLInBackground_1 \n " color=yellow style=filled] -"objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_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 " shape="box"] +"objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_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 " shape="box"] - "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_3" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_2" ; -"objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_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 " shape="box"] + "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_3" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_4" ; +"objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_4" [label="4: Return Stmt \n *&return:int=((n$7 + n$8) + n$9) [line 19, column 5]\n " shape="box"] - "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_4" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_3" ; + "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_4" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_2" ; +"objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_5" [label="5: 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 " shape="box"] + + + "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_5" -> "objc_blockBlockVar.navigateToURLInBackground_1.a224aadacfbc237765d8a94e021a1593_3" ; "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" [label="1: Start BlockVar.navigateToURLInBackground\nFormals: \nLocals: p:int* x:int addBlock:_fn_(*) \n " color=yellow style=filled] - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" ; + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_1" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_14" ; "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" [label="2: Exit BlockVar.navigateToURLInBackground \n " color=yellow style=filled] @@ -86,27 +106,35 @@ digraph cfg { "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 8), false); [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 " shape="box"] + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" ; +"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 " shape="box"] - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" [label="9: Return Stmt \n n$3=*&x:int [line 26, column 12]\n *&return:int=n$3 [line 26, column 5]\n " shape="box"] + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" [label="9: Return Stmt \n *&return:int=n$2 [line 24, column 5]\n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; -"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" [label="10: Return Stmt \n n$3=*&x:int [line 26, column 12]\n " shape="box"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" [label="11: Return Stmt \n *&return:int=n$3 [line 26, column 5]\n " shape="box"] + + + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" [label="12: 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 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 " shape="box"] + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_13" [label="13: 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 " shape="box"] - "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" ; -"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_13" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_12" ; +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_14" [label="14: 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" ; + "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_14" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_13" ; "test#BlockVar#class.79d88363beeb921609a605886abe817f_1" [label="1: Start BlockVar.test\nFormals: \nLocals: \n " color=yellow style=filled] @@ -121,91 +149,107 @@ digraph cfg { "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_1" [label="1: Start BlockVar.blockPostBad\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* \n " color=yellow style=filled] - "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_1" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" ; + "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_1" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_6" ; "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$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 " 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 " shape="box"] - "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" ; -"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,([by ref]n$14 &x:int*)) [line 31, column 3]\n " shape="box"] + "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" ; +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" [label="4: Return Stmt \n *&return:int=n$13 [line 34, column 3]\n " shape="box"] - "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" ; -"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_4" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" ; +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" [label="5: 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,([by ref]n$14 &x:int*)) [line 31, column 3]\n " shape="box"] - "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" ; + "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" ; +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_6" [label="6: 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_6" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_5" ; "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_1" [label="1: Start BlockVar.blockPostOk\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* i:int \n " color=yellow style=filled] - "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_1" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" ; + "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_1" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_7" ; "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" [label="2: Exit BlockVar.blockPostOk \n " color=yellow style=filled] -"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 " 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 " shape="box"] - "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" ; -"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,([by ref]n$19 &x:int*)) [line 40, column 3]\n " shape="box"] + "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" ; +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" [label="4: Return Stmt \n *&return:int=n$18 [line 43, column 3]\n " shape="box"] - "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" ; -"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 " shape="box"] + "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" ; +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" [label="5: 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,([by ref]n$19 &x:int*)) [line 40, column 3]\n " shape="box"] - "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" ; -"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_5" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" ; +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 39, column 3]\n *&x:int*=&i [line 39, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" ; +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_7" [label="7: 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_7" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" ; "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_1" [label="1: Start BlockVar.capturedNoNullDeref\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* i:int \n " color=yellow style=filled] - "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_1" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" ; + "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_1" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_8" ; "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" [label="2: Exit BlockVar.capturedNoNullDeref \n " color=yellow style=filled] -"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 " 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 " 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 " shape="box"] + "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" ; +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" [label="4: Return Stmt \n *&return:int=n$27 [line 61, column 3]\n " shape="box"] - "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" ; -"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,([by ref]n$28 &x:int*)) [line 57, column 3]\n " shape="box"] + "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" ; +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" [label="5: BinaryOperatorStmt: Assign \n *&x:int*=null [line 60, column 3]\n " shape="box"] - "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" ; -"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 " shape="box"] + "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" ; +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" [label="6: 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,([by ref]n$28 &x:int*)) [line 57, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" ; -"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" [label="7: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 56, column 3]\n *&x:int*=&i [line 56, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" ; +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_8" [label="8: 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_8" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" ; "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_1" [label="1: Start BlockVar.capturedNullDeref\nFormals: self:BlockVar*\nLocals: my_block:_fn_(*) x:int* \n " color=yellow style=filled] - "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_1" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_5" ; + "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_1" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_6" ; "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$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 " 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 " shape="box"] + + + "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" ; +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" [label="4: Return Stmt \n *&return:int=n$22 [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 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,([by ref]n$23 &x:int*)) [line 48, column 3]\n " shape="box"] + "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_2" ; +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_5" [label="5: 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,([by ref]n$23 &x:int*)) [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 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_3" ; +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_6" [label="6: 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" ; + "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_6" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_5" ; "dealloc#BlockVar#instance.2dd2255ffab933047f591c2d917b519f_1" [label="1: Start BlockVar.dealloc\nFormals: self:BlockVar*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot b/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot index 319ca6961..06ab38d8e 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot @@ -25,16 +25,20 @@ digraph cfg { "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_1" [label="1: Start B.f\nFormals: self:B*\nLocals: \n " color=yellow style=filled] - "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_1" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" ; + "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_1" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_5" ; "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_2" [label="2: Exit B.f \n " color=yellow style=filled] -"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" [label="3: Return Stmt \n n$0=*&self:B* [line 27, column 10]\n n$1=*n$0.y:int [line 27, column 10]\n *&return:int=n$1 [line 27, column 3]\n " shape="box"] +"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" [label="3: Return Stmt \n n$0=*&self:B* [line 27, column 10]\n n$1=*n$0.y:int [line 27, column 10]\n " shape="box"] - "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_2" ; -"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" [label="4: Message Call: foo:and: \n n$4=*&self:B* [line 23, column 10]\n n$5=*n$4.h:int [line 23, column 10]\n n$2=*&self:B* const [line 24, column 11]\n n$6=_fun_B.foo:and:[objc_blockB.f_1](n$5:int,n$2:B* const ,(_fun_objc_blockB.f_1,([by ref]n$2 &self:B* const )):_fn_(*)) [line 23, column 3]\n " shape="box"] + "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" ; +"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" [label="4: Return Stmt \n *&return:int=n$1 [line 27, column 3]\n " shape="box"] - "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" ; + "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_2" ; +"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_5" [label="5: Message Call: foo:and: \n n$4=*&self:B* [line 23, column 10]\n n$5=*n$4.h:int [line 23, column 10]\n n$2=*&self:B* const [line 24, column 11]\n n$6=_fun_B.foo:and:[objc_blockB.f_1](n$5:int,n$2:B* const ,(_fun_objc_blockB.f_1,([by ref]n$2 &self:B* const )):_fn_(*)) [line 23, column 3]\n " shape="box"] + + + "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_5" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" ; } diff --git a/infer/tests/codetoanalyze/objc/shared/block/block.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot index da8ef27f7..b1aad7354 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot @@ -7,49 +7,57 @@ digraph cfg { "BlockMain.116013dceff9629776ec833c9d43561d_2" [label="2: Exit BlockMain \n " color=yellow style=filled] -"BlockMain.116013dceff9629776ec833c9d43561d_3" [label="3: Return Stmt \n n$0=_fun_main1(4:int) [line 43, column 26]\n *&return:int=n$0 [line 43, column 19]\n " shape="box"] +"BlockMain.116013dceff9629776ec833c9d43561d_3" [label="3: Return Stmt \n n$0=_fun_main1(4:int) [line 43, column 26]\n " shape="box"] - "BlockMain.116013dceff9629776ec833c9d43561d_3" -> "BlockMain.116013dceff9629776ec833c9d43561d_2" ; + "BlockMain.116013dceff9629776ec833c9d43561d_3" -> "BlockMain.116013dceff9629776ec833c9d43561d_4" ; +"BlockMain.116013dceff9629776ec833c9d43561d_4" [label="4: Return Stmt \n *&return:int=n$0 [line 43, column 19]\n " shape="box"] + + + "BlockMain.116013dceff9629776ec833c9d43561d_4" -> "BlockMain.116013dceff9629776ec833c9d43561d_2" ; "main1.38f534a9576db7ec6ebcbca8c111f942_1" [label="1: Start main1\nFormals: y:int\nLocals: addblock:_fn_(*) add2:int add1:int x:int \n " color=yellow style=filled] - "main1.38f534a9576db7ec6ebcbca8c111f942_1" -> "main1.38f534a9576db7ec6ebcbca8c111f942_10" ; + "main1.38f534a9576db7ec6ebcbca8c111f942_1" -> "main1.38f534a9576db7ec6ebcbca8c111f942_11" ; "main1.38f534a9576db7ec6ebcbca8c111f942_2" [label="2: Exit main1 \n " color=yellow style=filled] -"main1.38f534a9576db7ec6ebcbca8c111f942_3" [label="3: Return Stmt \n n$0=*&y:int [line 40, column 10]\n *&return:int=n$0 [line 40, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_3" [label="3: Return Stmt \n n$0=*&y:int [line 40, column 10]\n " shape="box"] - "main1.38f534a9576db7ec6ebcbca8c111f942_3" -> "main1.38f534a9576db7ec6ebcbca8c111f942_2" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&add1:int [line 38, column 7]\n n$2=*&add2:int [line 38, column 14]\n *&y:int=(n$1 / n$2) [line 38, column 3]\n " shape="box"] + "main1.38f534a9576db7ec6ebcbca8c111f942_3" -> "main1.38f534a9576db7ec6ebcbca8c111f942_4" ; +"main1.38f534a9576db7ec6ebcbca8c111f942_4" [label="4: Return Stmt \n *&return:int=n$0 [line 40, column 3]\n " shape="box"] - "main1.38f534a9576db7ec6ebcbca8c111f942_4" -> "main1.38f534a9576db7ec6ebcbca8c111f942_3" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&addblock:_fn_(*) [line 35, column 10]\n n$4=n$3(3:int,2:int) objc_block [line 35, column 10]\n *&add2:int=n$4 [line 35, column 3]\n " shape="box"] + "main1.38f534a9576db7ec6ebcbca8c111f942_4" -> "main1.38f534a9576db7ec6ebcbca8c111f942_2" ; +"main1.38f534a9576db7ec6ebcbca8c111f942_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&add1:int [line 38, column 7]\n n$2=*&add2:int [line 38, column 14]\n *&y:int=(n$1 / n$2) [line 38, column 3]\n " shape="box"] - "main1.38f534a9576db7ec6ebcbca8c111f942_5" -> "main1.38f534a9576db7ec6ebcbca8c111f942_4" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_6" [label="6: BinaryOperatorStmt: Assign \n *&addblock:_fn_(*)=(_fun_objc_blockmain1_1) [line 31, column 3]\n " shape="box"] + "main1.38f534a9576db7ec6ebcbca8c111f942_5" -> "main1.38f534a9576db7ec6ebcbca8c111f942_3" ; +"main1.38f534a9576db7ec6ebcbca8c111f942_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&addblock:_fn_(*) [line 35, column 10]\n n$4=n$3(3:int,2:int) objc_block [line 35, column 10]\n *&add2:int=n$4 [line 35, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_6" -> "main1.38f534a9576db7ec6ebcbca8c111f942_5" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_7" [label="7: BinaryOperatorStmt: Assign \n n$7=*&addblock:_fn_(*) [line 29, column 10]\n n$8=n$7(1:int,2:int) objc_block [line 29, column 10]\n *&add1:int=n$8 [line 29, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_7" [label="7: BinaryOperatorStmt: Assign \n *&addblock:_fn_(*)=(_fun_objc_blockmain1_1) [line 31, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_7" -> "main1.38f534a9576db7ec6ebcbca8c111f942_6" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_8" [label="8: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 16, column 14]\n *&addblock:_fn_(*)=(_fun_objc_blockmain1_2,([by ref]n$9 &x:int)) [line 16, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_8" [label="8: BinaryOperatorStmt: Assign \n n$7=*&addblock:_fn_(*) [line 29, column 10]\n n$8=n$7(1:int,2:int) objc_block [line 29, column 10]\n *&add1:int=n$8 [line 29, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_8" -> "main1.38f534a9576db7ec6ebcbca8c111f942_7" ; -"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" [label="9: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 16, column 14]\n *&addblock:_fn_(*)=(_fun_objc_blockmain1_2,([by ref]n$9 &x:int)) [line 16, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_9" -> "main1.38f534a9576db7ec6ebcbca8c111f942_8" ; -"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" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int); [line 11, column 3]\n *&x:int=7 [line 11, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_10" -> "main1.38f534a9576db7ec6ebcbca8c111f942_9" ; +"main1.38f534a9576db7ec6ebcbca8c111f942_11" [label="11: 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_11" -> "main1.38f534a9576db7ec6ebcbca8c111f942_10" ; "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_1" [label="1: Start objc_blockmain1_1\nFormals: e:int f:int\nLocals: \n " color=yellow style=filled] @@ -57,33 +65,41 @@ digraph cfg { "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_2" [label="2: Exit objc_blockmain1_1 \n " color=yellow style=filled] -"objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" [label="3: Return Stmt \n n$5=*&e:int [line 32, column 12]\n n$6=*&#GB$main1.s:int [line 32, column 16]\n *&return:int=(n$5 - n$6) [line 32, column 5]\n " shape="box"] +"objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" [label="3: Return Stmt \n n$5=*&e:int [line 32, column 12]\n n$6=*&#GB$main1.s:int [line 32, column 16]\n " shape="box"] + + + "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" -> "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_4" ; +"objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_4" [label="4: Return Stmt \n *&return:int=(n$5 - n$6) [line 32, column 5]\n " shape="box"] - "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" -> "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_2" ; + "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_4" -> "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_2" ; "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_1" [label="1: Start objc_blockmain1_2\nFormals: x:int c:int d:int\nLocals: bla:int add2:int addblock2:_fn_(*)\nCaptured: [by ref]x:int \n " color=yellow style=filled] - "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_1" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" ; + "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_1" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_7" ; "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_2" [label="2: Exit objc_blockmain1_2 \n " color=yellow style=filled] -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" [label="3: Return Stmt \n n$10=*&c:int [line 26, column 12]\n n$11=*&add2:int [line 26, column 16]\n n$12=*&bla:int [line 26, column 23]\n *&return:int=((n$10 + n$11) + n$12) [line 26, column 5]\n " shape="box"] +"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" [label="3: Return Stmt \n n$10=*&c:int [line 26, column 12]\n n$11=*&add2:int [line 26, column 16]\n n$12=*&bla:int [line 26, column 23]\n " shape="box"] - "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_2" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" [label="4: BinaryOperatorStmt: Assign \n n$13=*&addblock2:_fn_(*) [line 25, column 12]\n n$14=n$13(1:int) objc_block [line 25, column 12]\n *&add2:int=n$14 [line 25, column 5]\n " shape="box"] + "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" ; +"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" [label="4: Return Stmt \n *&return:int=((n$10 + n$11) + n$12) [line 26, column 5]\n " shape="box"] - "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" [label="5: BinaryOperatorStmt: Assign \n n$15=*&x:int [line 21, column 17]\n n$16=*&bla:int [line 21, column 17]\n *&addblock2:_fn_(*)=(_fun_objc_blockobjc_blockmain1_2_3,([by ref]n$15 &x:int),([by ref]n$16 &bla:int)) [line 21, column 5]\n " shape="box"] + "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_2" ; +"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" [label="5: BinaryOperatorStmt: Assign \n n$13=*&addblock2:_fn_(*) [line 25, column 12]\n n$14=n$13(1:int) objc_block [line 25, column 12]\n *&add2:int=n$14 [line 25, column 5]\n " shape="box"] - "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" ; -"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_5" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" ; +"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" [label="6: BinaryOperatorStmt: Assign \n n$15=*&x:int [line 21, column 17]\n n$16=*&bla:int [line 21, column 17]\n *&addblock2:_fn_(*)=(_fun_objc_blockobjc_blockmain1_2_3,([by ref]n$15 &x:int),([by ref]n$16 &bla:int)) [line 21, column 5]\n " shape="box"] "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" ; +"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_7" [label="7: 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_7" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_6" ; "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_1" [label="1: Start objc_blockobjc_blockmain1_2_3\nFormals: x:int bla:int z:int\nLocals: \nCaptured: [by ref]x:int [by ref]bla:int \n " color=yellow style=filled] @@ -91,8 +107,12 @@ digraph cfg { "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_2" [label="2: Exit objc_blockobjc_blockmain1_2_3 \n " color=yellow style=filled] -"objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" [label="3: Return Stmt \n n$17=*&z:int [line 22, column 14]\n n$18=*&#GB$main1.s:int [line 22, column 18]\n n$19=*&x:int [line 22, column 22]\n n$20=*&bla:int [line 22, column 26]\n *&return:int=(((n$17 + n$18) + n$19) + n$20) [line 22, column 7]\n " shape="box"] +"objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" [label="3: Return Stmt \n n$17=*&z:int [line 22, column 14]\n n$18=*&#GB$main1.s:int [line 22, column 18]\n n$19=*&x:int [line 22, column 22]\n n$20=*&bla:int [line 22, column 26]\n " shape="box"] + + + "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" -> "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_4" ; +"objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_4" [label="4: Return Stmt \n *&return:int=(((n$17 + n$18) + n$19) + n$20) [line 22, column 7]\n " shape="box"] - "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" -> "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_2" ; + "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_4" -> "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_2" ; } 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 bf66678e0..9c3a3c70d 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 @@ -25,7 +25,7 @@ digraph cfg { "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_1" [label="1: Start Block_no_args.m\nFormals: self:Block_no_args*\nLocals: p:int* z:int b:_fn_(*) \n " color=yellow style=filled] - "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_1" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_14" ; + "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_1" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_16" ; "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_2" [label="2: Exit Block_no_args.m \n " color=yellow style=filled] @@ -49,33 +49,41 @@ digraph cfg { "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 6), false); [line 28, column 7]\n " shape="invhouse"] - "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_7" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_9" ; -"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_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 " shape="box"] + "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_7" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_10" ; +"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_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 " shape="box"] - "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_8" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_2" ; -"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_9" [label="9: Return Stmt \n n$3=*&z:int [line 31, column 12]\n *&return:int=n$3 [line 31, column 5]\n " shape="box"] + "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_8" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_9" ; +"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_9" [label="9: Return Stmt \n *&return:int=n$2 [line 29, column 5]\n " shape="box"] "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_9" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_2" ; -"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_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#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_10" [label="10: Return Stmt \n n$3=*&z:int [line 31, column 12]\n " shape="box"] - "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_10" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_5" ; -"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_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 " shape="box"] + "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_10" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_11" ; +"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_11" [label="11: Return Stmt \n *&return:int=n$3 [line 31, column 5]\n " shape="box"] - "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_11" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_10" ; -"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_12" [label="12: BinaryOperatorStmt: Assign \n n$7=*&z:int [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockBlock_no_args.m_1,([by ref]n$7 &z:int)) [line 23, column 3]\n " shape="box"] + "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_11" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_2" ; +"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_12" [label="12: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 27, column 3]\n *&p:int*=null [line 27, column 3]\n " shape="box"] - "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_12" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_11" ; -"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_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#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_12" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_5" ; +"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_13" [label="13: Call n$5 \n n$5=*&b:_fn_(*) [line 26, column 3]\n n$6=n$5() objc_block [line 26, column 3]\n " shape="box"] "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_13" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_12" ; -"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_14" [label="14: BinaryOperatorStmt: Assign \n *&#GB$g:int=7 [line 20, column 3]\n " shape="box"] +"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_14" [label="14: BinaryOperatorStmt: Assign \n n$7=*&z:int [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockBlock_no_args.m_1,([by ref]n$7 &z:int)) [line 23, column 3]\n " shape="box"] "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_14" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_13" ; +"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_15" [label="15: DeclStmt \n VARIABLE_DECLARED(z:int); [line 22, column 3]\n *&z:int=3 [line 22, column 3]\n " shape="box"] + + + "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_15" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_14" ; +"m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_16" [label="16: BinaryOperatorStmt: Assign \n *&#GB$g:int=7 [line 20, column 3]\n " shape="box"] + + + "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_16" -> "m#Block_no_args#instance.385f8c4982ef6acc28cdc868a8cd4272_15" ; } 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 26681edf7..b84f6299b 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot @@ -31,51 +31,55 @@ digraph cfg { "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_1" [label="1: Start My_manager.blockReleaseNoLeak\nFormals: self:My_manager*\nLocals: newImage:CGImage* context:CGContext* z:int b:_fn_(*) \n " color=yellow style=filled] - "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_1" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_12" ; + "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_1" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_13" ; "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 " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" [label="3: Return Stmt \n n$0=*&z:int [line 30, column 10]\n " shape="box"] - "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_2" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" [label="4: + \n " ] + "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" ; +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" [label="4: Return Stmt \n *&return:int=n$0 [line 30, column 3]\n " shape="box"] - "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" [label="5: Prune (true branch, if) \n n$1=*&context:CGContext* [line 28, column 7]\n PRUNE(n$1, true); [line 28, column 7]\n " shape="invhouse"] + "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_2" ; +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" [label="5: + \n " ] - "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 " shape="invhouse"] + "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" ; +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" [label="6: Prune (true branch, if) \n n$1=*&context:CGContext* [line 28, column 7]\n PRUNE(n$1, true); [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 " shape="box"] + "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" ; +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" [label="7: Prune (false branch, if) \n n$1=*&context:CGContext* [line 28, column 7]\n PRUNE(!n$1, false); [line 28, column 7]\n " shape="invhouse"] - "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" [label="8: Call n$6 \n n$6=*&b:_fn_(*) [line 27, column 3]\n n$7=*&z:int [line 27, column 5]\n n$8=n$6(n$7:int) objc_block [line 27, column 3]\n " shape="box"] + "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" ; +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" [label="8: 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 " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" ; - "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" [label="9: BinaryOperatorStmt: Assign \n n$9=*&newImage:CGImage* [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager.blockReleaseNoLeak_1,([by ref]n$9 &newImage:CGImage*)) [line 23, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" [label="9: Call n$6 \n n$6=*&b:_fn_(*) [line 27, column 3]\n n$7=*&z:int [line 27, column 5]\n n$8=n$6(n$7:int) objc_block [line 27, 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 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 " shape="box"] + "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" ; + "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" ; +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" [label="10: BinaryOperatorStmt: Assign \n n$9=*&newImage:CGImage* [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager.blockReleaseNoLeak_1,([by ref]n$9 &newImage:CGImage*)) [line 23, 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 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 " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" [label="11: 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 " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" ; -"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" [label="12: 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 " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_12" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" ; +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_13" [label="13: 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_13" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_12" ; "dealloc#My_manager#instance.62748019ba808efecf04f93dd9aba402_1" [label="1: Start My_manager.dealloc\nFormals: self:My_manager*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot index 3cc8c656d..77023c196 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot @@ -3,7 +3,7 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_1" [label="1: Start DispatchMain\nFormals: \nLocals: p:int* b:DispatchA* \n " color=yellow style=filled] - "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_1" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" ; + "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_1" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_12" ; "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" [label="2: Exit DispatchMain \n " color=yellow style=filled] @@ -27,23 +27,27 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == null), false); [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 " shape="box"] + "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" ; +"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 " shape="box"] - "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" [label="9: Return Stmt \n *&return:int=0 [line 88, column 5]\n " shape="box"] + "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" ; +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" [label="9: Return Stmt \n *&return:int=n$2 [line 86, column 5]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" ; -"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" [label="10: Return Stmt \n *&return:int=0 [line 88, column 5]\n " shape="box"] - "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" ; -"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 " shape="box"] + "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" ; +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" [label="11: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 84, column 3]\n *&p:int*=null [line 84, column 3]\n " shape="box"] - "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" ; + "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" ; +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_12" [label="12: 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 " shape="box"] + + + "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_12" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" ; "objc_blockDispatchA.block_attribute_2(class DispatchA).fbb5956dc6c8f95a8f2ae751ac2b44a1_1" [label="1: Start objc_blockDispatchA.block_attribute_2\nFormals: a:DispatchA*\nLocals: \nCaptured: [by ref]a:DispatchA* \n " color=yellow style=filled] @@ -102,41 +106,49 @@ digraph cfg { "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_1" [label="1: Start DispatchA.block_attribute\nFormals: \nLocals: a:DispatchA*(__block) \n " color=yellow style=filled] - "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_1" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" ; + "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_1" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_6" ; "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 " 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 " shape="box"] + + + "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" ; +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" [label="4: Return Stmt \n *&return:int=n$6 [line 40, column 3]\n " shape="box"] - "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" [label="4: Call _fun__dispatch_once \n n$7=*&a:DispatchA* [line 37, column 24]\n n$9=_fun__dispatch_once(&#GB$DispatchA.block_attribute.once:long*,(_fun_objc_blockDispatchA.block_attribute_2,([by ref]n$7 &a:DispatchA*)):_fn_(*)) [line 37, column 3]\n " shape="box"] + "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" ; +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: Call _fun__dispatch_once \n n$7=*&a:DispatchA* [line 37, column 24]\n n$9=_fun__dispatch_once(&#GB$DispatchA.block_attribute.once:long*,(_fun_objc_blockDispatchA.block_attribute_2,([by ref]n$7 &a:DispatchA*)):_fn_(*)) [line 37, column 3]\n " shape="box"] - "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: DeclStmt \n 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 " shape="box"] + "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" ; +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_6" [label="6: 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 " shape="box"] - "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" ; + "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_6" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" ; "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_1" [label="1: Start DispatchA.dispatch_a_block_variable\nFormals: \nLocals: initialization_block__:_fn_(*) \n " color=yellow style=filled] - "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_1" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" ; + "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_1" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_6" ; "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$17=*&#GB$DispatchA.dispatch_a_block_variable.static_storage__:DispatchA* [line 59, column 10]\n *&return:objc_object*=n$17 [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__:DispatchA* [line 59, column 10]\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$18=*&initialization_block__:_fn_(*) [line 58, column 32]\n n$19=_fun__dispatch_once(&#GB$DispatchA.dispatch_a_block_variable.once_token__:long*,(_fun_objc_blockDispatchA.dispatch_a_block_variable_4):_fn_(*)) [line 58, column 3]\n " shape="box"] + "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" ; +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" [label="4: Return Stmt \n *&return:objc_object*=n$17 [line 59, 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 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_4" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_2" ; +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" [label="5: 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*,(_fun_objc_blockDispatchA.dispatch_a_block_variable_4):_fn_(*)) [line 58, column 3]\n " shape="box"] - "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" ; + "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" ; +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_6" [label="6: 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_6" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_5" ; "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_1" [label="1: Start DispatchA.dispatch_a_block_variable_from_macro\nFormals: \nLocals: initialization_block__:_fn_(*) \n " color=yellow style=filled] @@ -163,56 +175,68 @@ digraph cfg { "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_1" [label="1: Start DispatchA.dispatch_a_block_variable_from_macro_delivers_initialised_object\nFormals: \nLocals: a:DispatchA* \n " color=yellow style=filled] - "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_1" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_6" ; "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$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 " 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 " 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_4" ; +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" [label="4: Return Stmt \n *&return:int=(1 / (n$28 - 5)) [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$29=*&a:DispatchA* [line 76, column 3]\n *n$29._x:int=5 [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_2" ; +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" [label="5: BinaryOperatorStmt: Assign \n n$29=*&a:DispatchA* [line 76, column 3]\n *n$29._x:int=5 [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 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 " 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_3" ; +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_6" [label="6: 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 " 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" ; + "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_6" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" ; "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_1" [label="1: Start DispatchA.sharedInstance\nFormals: \nLocals: \n " color=yellow style=filled] - "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_1" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" ; + "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_1" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_5" ; "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_2" [label="2: Exit DispatchA.sharedInstance \n " color=yellow style=filled] -"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchA.sharedInstance.sharedInstance:objc_object* [line 31, column 10]\n *&return:objc_object*=n$1 [line 31, column 3]\n " shape="box"] +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchA.sharedInstance.sharedInstance:objc_object* [line 31, column 10]\n " shape="box"] + + + "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" ; +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" [label="4: Return Stmt \n *&return:objc_object*=n$1 [line 31, column 3]\n " shape="box"] - "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_2" ; -"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" [label="4: Call _fun__dispatch_once \n n$4=_fun__dispatch_once(&#GB$DispatchA.sharedInstance.once:long*,(_fun_objc_blockDispatchA.sharedInstance_1):_fn_(*)) [line 28, column 3]\n " shape="box"] + "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_2" ; +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_5" [label="5: Call _fun__dispatch_once \n n$4=_fun__dispatch_once(&#GB$DispatchA.sharedInstance.once:long*,(_fun_objc_blockDispatchA.sharedInstance_1):_fn_(*)) [line 28, column 3]\n " shape="box"] - "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" ; + "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_5" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" ; "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_1" [label="1: Start DispatchA.trans\nFormals: \nLocals: dummy_block:_fn_(*) \n " color=yellow style=filled] - "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_1" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" ; + "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_1" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_6" ; "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$12=*&#GB$DispatchA.trans.sharedInstance:objc_object* [line 49, column 10]\n *&return:objc_object*=n$12 [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 " shape="box"] - "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" ; -"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 " shape="box"] + "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" ; +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" [label="4: Return Stmt \n *&return:objc_object*=n$12 [line 49, column 3]\n " shape="box"] - "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" ; -"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_4" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" ; +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" [label="5: 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 " shape="box"] - "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" ; + "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" ; +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_6" [label="6: 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_6" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_5" ; "dealloc#DispatchA#instance.efcbb5cd324f6ef16ae8c5197a17f974_1" [label="1: Start DispatchA.dealloc\nFormals: self:DispatchA*\nLocals: \n " color=yellow style=filled] @@ -231,10 +255,14 @@ digraph cfg { "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" [label="2: Exit DispatchA.init \n " color=yellow style=filled] -"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" [label="3: Return Stmt \n n$0=*&self:DispatchA* [line 22, column 10]\n *&return:objc_object*=n$0 [line 22, column 3]\n " shape="box"] +"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" [label="3: Return Stmt \n n$0=*&self:DispatchA* [line 22, column 10]\n " shape="box"] + + + "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" -> "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_4" ; +"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [line 22, column 3]\n " shape="box"] - "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" -> "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" ; + "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_4" -> "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" ; "setX:#DispatchA#instance.b6cea284a46ba947192a21fbc276649b_1" [label="1: Start DispatchA.setX:\nFormals: self:DispatchA* x:int\nLocals: \n " color=yellow style=filled] 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 3e92be28c..2568dc7b2 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot @@ -93,117 +93,141 @@ digraph cfg { "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_1" [label="1: Start DispatchEx.dispatch_after_example\nFormals: \nLocals: \n " color=yellow style=filled] - "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_1" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" ; + "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_1" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_6" ; "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$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 " 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 " 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$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_(*)) [line 46, column 3]\n " shape="box"] + "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" ; +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" [label="4: Return Stmt \n *&return:int=n$15 [line 52, 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 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_4" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_2" ; +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" [label="5: 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_(*)) [line 46, column 3]\n " shape="box"] - "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" ; + "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" ; +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_6" [label="6: 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_6" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_5" ; "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_1" [label="1: Start DispatchEx.dispatch_async_example\nFormals: \nLocals: \n " color=yellow style=filled] - "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_1" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" ; + "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_1" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_6" ; "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$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 " 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 " shape="box"] + + + "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" ; +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" [label="4: Return Stmt \n *&return:int=n$8 [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$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_(*)) [line 36, column 3]\n " shape="box"] + "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_2" ; +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" [label="5: 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_(*)) [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 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_3" ; +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_6" [label="6: 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" ; + "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_6" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_5" ; "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_1" [label="1: Start DispatchEx.dispatch_barrier_example\nFormals: \nLocals: \n " color=yellow style=filled] - "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_1" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" ; + "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_1" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_6" ; "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$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 " 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 " 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$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_(*)) [line 75, column 3]\n " shape="box"] + "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" ; +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" [label="4: Return Stmt \n *&return:int=n$37 [line 79, 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 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_4" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_2" ; +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" [label="5: 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_(*)) [line 75, column 3]\n " shape="box"] - "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" ; + "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" ; +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_6" [label="6: 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_6" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_5" ; "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_1" [label="1: Start DispatchEx.dispatch_group_example\nFormals: \nLocals: \n " color=yellow style=filled] - "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_1" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" ; + "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_1" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_6" ; "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$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 " 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 " shape="box"] + + + "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" ; +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" [label="4: Return Stmt \n *&return:int=n$23 [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$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_(*)) [line 57, column 3]\n " shape="box"] + "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_2" ; +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" [label="5: 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_(*)) [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 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_3" ; +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_6" [label="6: 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" ; + "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_6" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_5" ; "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_1" [label="1: Start DispatchEx.dispatch_group_notify_example\nFormals: \nLocals: \n " color=yellow style=filled] - "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_1" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" ; + "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_1" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_6" ; "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$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 " 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 " shape="box"] + + + "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" ; +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" [label="4: Return Stmt \n *&return:int=n$30 [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$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_(*)) [line 66, column 3]\n " shape="box"] + "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_2" ; +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" [label="5: 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_(*)) [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 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_3" ; +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_6" [label="6: 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" ; + "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_6" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_5" ; "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_1" [label="1: Start DispatchEx.dispatch_once_example\nFormals: \nLocals: \n " color=yellow style=filled] - "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_1" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" ; + "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_1" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_6" ; "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_2" [label="2: Exit DispatchEx.dispatch_once_example \n " color=yellow style=filled] -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchEx.dispatch_once_example.a:DispatchEx* [line 31, column 10]\n n$2=*n$1.x:int [line 31, column 10]\n *&return:int=n$2 [line 31, column 3]\n " shape="box"] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchEx.dispatch_once_example.a:DispatchEx* [line 31, column 10]\n n$2=*n$1.x:int [line 31, column 10]\n " shape="box"] - "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_2" ; -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" [label="4: Call _fun__dispatch_once \n n$6=_fun__dispatch_once(&#GB$DispatchEx.dispatch_once_example.onceToken:long*,(_fun_objc_blockDispatchEx.dispatch_once_example_1):_fn_(*)) [line 27, column 3]\n " shape="box"] + "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" ; +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" [label="4: Return Stmt \n *&return:int=n$2 [line 31, column 3]\n " shape="box"] - "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 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_4" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_2" ; +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" [label="5: Call _fun__dispatch_once \n n$6=_fun__dispatch_once(&#GB$DispatchEx.dispatch_once_example.onceToken:long*,(_fun_objc_blockDispatchEx.dispatch_once_example_1):_fn_(*)) [line 27, column 3]\n " shape="box"] - "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" ; + "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" ; +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_6" [label="6: 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_6" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_5" ; "dealloc#DispatchEx#instance.bdeaca414e9a942022acc0c08806f472_1" [label="1: Start DispatchEx.dealloc\nFormals: self:DispatchEx*\nLocals: \n " color=yellow style=filled] @@ -222,8 +246,12 @@ digraph cfg { "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_2" [label="2: Exit DispatchEx.init \n " color=yellow style=filled] -"init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_3" [label="3: Return Stmt \n n$0=*&self:DispatchEx* [line 19, column 10]\n *&return:objc_object*=n$0 [line 19, column 3]\n " shape="box"] +"init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_3" [label="3: Return Stmt \n n$0=*&self:DispatchEx* [line 19, column 10]\n " shape="box"] + + + "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_3" -> "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_4" ; +"init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [line 19, column 3]\n " shape="box"] - "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_3" -> "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_2" ; + "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_4" -> "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_2" ; } 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 d42b5d4bf..5424c4743 100644 --- a/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot @@ -33,22 +33,26 @@ digraph cfg { "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_1" [label="1: Start ASuper.init\nFormals: self:ASuper*\nLocals: \n " color=yellow style=filled] - "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_1" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" ; + "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_1" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_6" ; "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_2" [label="2: Exit ASuper.init \n " color=yellow style=filled] -"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" [label="3: Return Stmt \n n$0=*&self:ASuper* [line 33, column 10]\n *&return:objc_object*=n$0 [line 33, column 3]\n " shape="box"] +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" [label="3: Return Stmt \n n$0=*&self:ASuper* [line 33, column 10]\n " shape="box"] - "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_2" ; -"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&self:ASuper* [line 32, column 3]\n *n$1.a:int=4 [line 32, column 3]\n " shape="box"] + "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" ; +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [line 33, column 3]\n " shape="box"] - "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" ; -"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&self:ASuper* [line 31, column 10]\n n$3=_fun_BSuper.init(n$2:ASuper*) [line 31, column 10]\n *&self:ASuper*=n$3 [line 31, column 3]\n " shape="box"] + "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_2" ; +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&self:ASuper* [line 32, column 3]\n *n$1.a:int=4 [line 32, column 3]\n " shape="box"] - "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" ; + "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" ; +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&self:ASuper* [line 31, column 10]\n n$3=_fun_BSuper.init(n$2:ASuper*) [line 31, column 10]\n *&self:ASuper*=n$3 [line 31, column 3]\n " shape="box"] + + + "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_6" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" ; "dealloc#BSuper#instance.12f39640b96655b7899644ca00bba8a4_1" [label="1: Start BSuper.dealloc\nFormals: self:BSuper*\nLocals: \n " color=yellow style=filled] 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 2c8eb3c1a..8875bfb1d 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 @@ -14,33 +14,41 @@ digraph cfg { "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_1" [label="1: Start ArcA.getS\nFormals: self:ArcA*\nLocals: s:NSString* \n " color=yellow style=filled] - "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_1" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" ; + "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_1" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_5" ; "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 " shape="box"] +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 10]\n " shape="box"] - "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_2" ; -"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 " shape="box"] + "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" ; +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" [label="4: Return Stmt \n *&return:NSString*=n$0 [line 22, column 3]\n " shape="box"] - "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" ; + "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_2" ; +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_5" [label="5: 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 " shape="box"] + + + "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_5" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" ; "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_1" [label="1: Start ArcA.newS\nFormals: self:ArcA*\nLocals: s:NSString* \n " color=yellow style=filled] - "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_1" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" ; + "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_1" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_5" ; "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$2=*&s:NSString* [line 28, column 10]\n *&return:NSString*=n$2 [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 " shape="box"] + + + "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" ; +"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" [label="4: Return Stmt \n *&return:NSString*=n$2 [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 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 " shape="box"] + "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_2" ; +"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_5" [label="5: 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 " shape="box"] - "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" ; + "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_5" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" ; "setSon:#ArcA(class ArcA)#instance.baae73471012ee089a7558f57ddd56fe_1" [label="1: Start ArcA.setSon:\nFormals: self:ArcA* son:ArcA*\nLocals: \n " color=yellow style=filled] 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 b30350bc7..c647a1903 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 @@ -116,33 +116,41 @@ digraph cfg { "createA.48a5d7f480131d59bba69d521715b836_1" [label="1: Start createA\nFormals: \nLocals: s1:Auto* \n " color=yellow style=filled] - "createA.48a5d7f480131d59bba69d521715b836_1" -> "createA.48a5d7f480131d59bba69d521715b836_4" ; + "createA.48a5d7f480131d59bba69d521715b836_1" -> "createA.48a5d7f480131d59bba69d521715b836_5" ; "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 " 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 " shape="box"] - "createA.48a5d7f480131d59bba69d521715b836_3" -> "createA.48a5d7f480131d59bba69d521715b836_2" ; -"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 " shape="box"] + "createA.48a5d7f480131d59bba69d521715b836_3" -> "createA.48a5d7f480131d59bba69d521715b836_4" ; +"createA.48a5d7f480131d59bba69d521715b836_4" [label="4: Return Stmt \n *&return:Auto*=n$1 [line 29, column 3]\n " shape="box"] - "createA.48a5d7f480131d59bba69d521715b836_4" -> "createA.48a5d7f480131d59bba69d521715b836_3" ; + "createA.48a5d7f480131d59bba69d521715b836_4" -> "createA.48a5d7f480131d59bba69d521715b836_2" ; +"createA.48a5d7f480131d59bba69d521715b836_5" [label="5: 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 " shape="box"] + + + "createA.48a5d7f480131d59bba69d521715b836_5" -> "createA.48a5d7f480131d59bba69d521715b836_3" ; "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_1" [label="1: Start Auto.autorelease_main\nFormals: self:Auto*\nLocals: s:NSString* \n " color=yellow style=filled] - "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_1" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" ; + "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_1" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_5" ; "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 " 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 " shape="box"] + + + "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" ; +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" [label="4: Return Stmt \n *&return:NSString*=n$1 [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 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 " shape="box"] + "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_2" ; +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_5" [label="5: 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 " shape="box"] - "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" ; + "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_5" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" ; "dealloc#Auto#instance.f75e3ca5aab8c1f0122d42fc04b27666_1" [label="1: Start Auto.dealloc\nFormals: self:Auto*\nLocals: \n " color=yellow style=filled] 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 1419b8741..4c28862ef 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 @@ -37,8 +37,12 @@ digraph cfg { "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_2" [label="2: Exit RRA.init \n " color=yellow style=filled] -"init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_3" [label="3: Return Stmt \n n$0=*&self:RRA* [line 17, column 10]\n *&return:objc_object*=n$0 [line 17, column 3]\n " shape="box"] +"init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_3" [label="3: Return Stmt \n n$0=*&self:RRA* [line 17, column 10]\n " shape="box"] - "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_3" -> "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_2" ; + "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_3" -> "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_4" ; +"init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [line 17, column 3]\n " shape="box"] + + + "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_4" -> "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_2" ; } 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 5dcb13d41..11503d4cb 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 @@ -30,33 +30,41 @@ digraph cfg { "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_1" [label="1: Start ArcMethodsA.newA\nFormals: \nLocals: a:ArcMethodsA* \n " color=yellow style=filled] - "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_1" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" ; + "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_1" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_5" ; "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 " shape="box"] +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" [label="3: Return Stmt \n n$0=*&a:ArcMethodsA* [line 22, column 10]\n " shape="box"] - "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" ; -"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 " shape="box"] + "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" ; +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" [label="4: Return Stmt \n *&return:ArcMethodsA*=n$0 [line 22, column 3]\n " shape="box"] - "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" ; + "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" ; +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_5" [label="5: 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 " shape="box"] + + + "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_5" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" ; "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_1" [label="1: Start ArcMethodsA.someA\nFormals: \nLocals: a:ArcMethodsA* \n " color=yellow style=filled] - "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_1" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" ; + "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_1" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_5" ; "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$3=*&a:ArcMethodsA* [line 28, column 10]\n *&return:ArcMethodsA*=n$3 [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 " shape="box"] + + + "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" ; +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" [label="4: Return Stmt \n *&return:ArcMethodsA*=n$3 [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 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 " shape="box"] + "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_2" ; +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_5" [label="5: 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 " shape="box"] - "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" ; + "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_5" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" ; "dealloc#ArcMethodsA#instance.7ca05d78a1bcb0ca5ca59211927eef83_1" [label="1: Start ArcMethodsA.dealloc\nFormals: self:ArcMethodsA*\nLocals: \n " color=yellow style=filled] 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 860ac8101..ad43d3352 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot @@ -14,7 +14,7 @@ digraph cfg { "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_1" [label="1: Start Available_expr.test_no_bug\nFormals: self:Available_expr*\nLocals: p:int* \n " color=yellow style=filled] - "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_1" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" ; + "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_1" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_9" ; "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" [label="2: Exit Available_expr.test_no_bug \n " color=yellow style=filled] @@ -34,13 +34,17 @@ digraph cfg { "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 " 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 " 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 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_7" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" ; +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" [label="8: Return Stmt \n *&return:int=n$2 [line 18, column 5]\n " shape="box"] - "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_5" ; - "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_6" ; + "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_8" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" ; +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_9" [label="9: 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_9" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_5" ; + "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_9" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_6" ; } 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 fc89fe5a7..30616602f 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 @@ -29,10 +29,14 @@ digraph cfg { "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_2" [label="2: Exit NonnullA.getA \n " color=yellow style=filled] -"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" [label="3: Return Stmt \n n$0=_fun___objc_alloc_no_fail(sizeof(t=NonnullA):unsigned long) [line 24, column 10]\n n$1=_fun_NSObject.init(n$0:NonnullA*) virtual [line 24, column 10]\n *&return:NonnullA*=n$1 [line 24, column 3]\n " shape="box"] +"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" [label="3: Return Stmt \n n$0=_fun___objc_alloc_no_fail(sizeof(t=NonnullA):unsigned long) [line 24, column 10]\n n$1=_fun_NSObject.init(n$0:NonnullA*) virtual [line 24, column 10]\n " shape="box"] - "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" -> "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_2" ; + "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" -> "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_4" ; +"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_4" [label="4: Return Stmt \n *&return:NonnullA*=n$1 [line 24, column 3]\n " shape="box"] + + + "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_4" -> "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_2" ; "dealloc#NonnullC#instance.a35e7cd71ed482b37e513a9c2a2e24d8_1" [label="1: Start NonnullC.dealloc\nFormals: self:NonnullC*\nLocals: \n " color=yellow style=filled] @@ -47,22 +51,26 @@ digraph cfg { "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_1" [label="1: Start NonnullC.initWithCoder:and:\nFormals: self:NonnullC* aDecoder:NSString* a:NonnullA*\nLocals: y:int a1:NonnullA*\nAnnotation: <> NonnullC.initWithCoder:and:(<> <> <_Nonnull>) \n " color=yellow style=filled] - "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_1" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_6" ; "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 " shape="box"] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" [label="3: Return Stmt \n n$0=*&self:NonnullC* [line 39, column 10]\n " shape="box"] + + + "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" ; +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [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 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 " shape="box"] + "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_2" ; +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" [label="5: 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 " 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 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 " shape="box"] + "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" ; +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_6" [label="6: 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 " shape="box"] - "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" ; + "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_6" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" ; "name#NonnullC#instance.9c59c8694c0f7942ace24d4346f9a7cd_1" [label="1: Start NonnullC.name\nFormals: self:NonnullC*\nLocals: \nAnnotation: <_Nonnull> NonnullC.name(<>) \n " color=yellow style=filled] 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 bc9ccb33c..116671120 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot @@ -14,20 +14,24 @@ digraph cfg { "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_1" [label="1: Start NpeMallocC.test\nFormals: self:NpeMallocC*\nLocals: person:Person* \n " color=yellow style=filled] - "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_1" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" ; + "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_1" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_6" ; "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 " shape="box"] +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" [label="3: Return Stmt \n n$0=*&person:Person* [line 25, column 10]\n " shape="box"] - "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_2" ; -"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&person:Person* [line 24, column 3]\n *n$1.x:int=10 [line 24, column 3]\n " shape="box"] + "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" ; +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" [label="4: Return Stmt \n *&return:Person*=n$0 [line 25, column 3]\n " shape="box"] - "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" ; -"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 " shape="box"] + "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_2" ; +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&person:Person* [line 24, column 3]\n *n$1.x:int=10 [line 24, column 3]\n " shape="box"] - "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" ; + "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" ; +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_6" [label="6: 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 " shape="box"] + + + "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_6" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" ; } diff --git a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot index b2dbc989c..1f8a26e66 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot @@ -3,20 +3,24 @@ digraph cfg { "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_1" [label="1: Start should_have_div0\nFormals: \nLocals: a:GetterExample* \n " color=yellow style=filled] - "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_1" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" ; + "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_1" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_6" ; "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 " 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 " shape="box"] - "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" ; -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" [label="4: Message Call: setName: \n n$2=*&a:GetterExample* [line 14, column 3]\n n$3=_fun_GetterExample.setName:(n$2:GetterExample*,5:int) [line 14, column 5]\n " shape="box"] + "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" ; +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" [label="4: Return Stmt \n *&return:int=(1 / (n$1 - 5)) [line 15, column 3]\n " shape="box"] - "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" ; -"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 " shape="box"] + "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" ; +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" [label="5: Message Call: setName: \n n$2=*&a:GetterExample* [line 14, column 3]\n n$3=_fun_GetterExample.setName:(n$2:GetterExample*,5:int) [line 14, column 5]\n " shape="box"] - "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" ; + "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" ; +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_6" [label="6: 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 " shape="box"] + + + "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_6" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" ; } diff --git a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot index ec0e66b94..9bc68ae96 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot @@ -37,43 +37,47 @@ digraph cfg { "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_1" [label="1: Start PropertyA.copy\nFormals: self:PropertyA*\nLocals: other:PropertyA* \n " color=yellow style=filled] - "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_1" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" ; + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_1" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_11" ; "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 " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" [label="3: Return Stmt \n n$1=*&other:PropertyA* [line 35, column 10]\n " shape="box"] - "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_2" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" [label="4: + \n " ] + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" ; +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" [label="4: Return Stmt \n *&return:PropertyA*=n$1 [line 35, column 3]\n " shape="box"] - "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" [label="5: Prune (true branch, if) \n n$2=*&other:PropertyA* [line 30, column 7]\n PRUNE(n$2, true); [line 30, column 7]\n " shape="invhouse"] + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_2" ; +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" [label="5: + \n " ] - "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" [label="6: Prune (false branch, if) \n n$2=*&other:PropertyA* [line 30, column 7]\n PRUNE(!n$2, false); [line 30, column 7]\n " shape="invhouse"] + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" ; +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" [label="6: Prune (true branch, if) \n n$2=*&other:PropertyA* [line 30, column 7]\n PRUNE(n$2, true); [line 30, column 7]\n " shape="invhouse"] - "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&other:PropertyA* [line 33, column 5]\n n$4=*&self:PropertyA* [line 33, column 21]\n n$5=*n$4._child:PropertyA* [line 33, column 21]\n *n$3._child:PropertyA*=n$5 [line 33, column 5]\n " shape="box"] + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" ; +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" [label="7: Prune (false branch, if) \n n$2=*&other:PropertyA* [line 30, column 7]\n PRUNE(!n$2, false); [line 30, column 7]\n " shape="invhouse"] - "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" [label="8: BinaryOperatorStmt: Assign \n n$6=*&other:PropertyA* [line 32, column 5]\n n$7=*&self:PropertyA* [line 32, column 25]\n n$8=*n$7._last_name:PropertyA* [line 32, column 25]\n *n$6._last_name:PropertyA*=n$8 [line 32, column 5]\n " shape="box"] + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" ; +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" [label="8: BinaryOperatorStmt: Assign \n n$3=*&other:PropertyA* [line 33, column 5]\n n$4=*&self:PropertyA* [line 33, column 21]\n n$5=*n$4._child:PropertyA* [line 33, column 21]\n *n$3._child:PropertyA*=n$5 [line 33, column 5]\n " shape="box"] - "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" [label="9: BinaryOperatorStmt: Assign \n n$9=*&other:PropertyA* [line 31, column 5]\n n$10=*&self:PropertyA* [line 31, column 20]\n n$11=*n$10._name:PropertyA* [line 31, column 20]\n *n$9._name:PropertyA*=n$11 [line 31, column 5]\n " shape="box"] + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" ; +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" [label="9: BinaryOperatorStmt: Assign \n n$6=*&other:PropertyA* [line 32, column 5]\n n$7=*&self:PropertyA* [line 32, column 25]\n n$8=*n$7._last_name:PropertyA* [line 32, column 25]\n *n$6._last_name:PropertyA*=n$8 [line 32, column 5]\n " shape="box"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" ; -"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 " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" [label="10: BinaryOperatorStmt: Assign \n n$9=*&other:PropertyA* [line 31, column 5]\n n$10=*&self:PropertyA* [line 31, column 20]\n n$11=*n$10._name:PropertyA* [line 31, column 20]\n *n$9._name:PropertyA*=n$11 [line 31, column 5]\n " shape="box"] - "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" ; - "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" ; + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" ; +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_11" [label="11: 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 " shape="box"] + + + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_11" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" ; + "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_11" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" ; "dealloc#PropertyA#instance.6f8be74d1c8a16eeeed561e5def4ae54_1" [label="1: Start PropertyA.dealloc\nFormals: self:PropertyA*\nLocals: \n " color=yellow style=filled] @@ -92,10 +96,14 @@ digraph cfg { "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_2" [label="2: Exit PropertyA.init \n " color=yellow style=filled] -"init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_3" [label="3: Return Stmt \n n$0=*&self:PropertyA* [line 25, column 10]\n *&return:objc_object*=n$0 [line 25, column 3]\n " shape="box"] +"init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_3" [label="3: Return Stmt \n n$0=*&self:PropertyA* [line 25, column 10]\n " shape="box"] + + + "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_3" -> "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_4" ; +"init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_4" [label="4: Return Stmt \n *&return:objc_object*=n$0 [line 25, column 3]\n " shape="box"] - "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_3" -> "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_2" ; + "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_4" -> "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_2" ; "last_name#PropertyA#instance.1ce5ad70e2d4c718c3a98ccc959a3bc9_1" [label="1: Start PropertyA.last_name\nFormals: self:PropertyA*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot b/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot index a0abc8e8a..ef9aa102b 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot +++ b/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot @@ -7,10 +7,14 @@ digraph cfg { "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_2" [label="2: Exit POPSelectValueType \n " color=yellow style=filled] -"POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 40]\n *&return:int=n$0 [line 12, column 33]\n " shape="box"] +"POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 40]\n " shape="box"] - "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_3" -> "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_2" ; + "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_3" -> "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_4" ; +"POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_4" [label="4: Return Stmt \n *&return:int=n$0 [line 12, column 33]\n " shape="box"] + + + "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_4" -> "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_2" ; "POPSelectValueType(struct objc_object)#4590621362721862851.2ae895f0ed31789a8ee1d7db61fbe87f_1" [label="1: Start POPSelectValueType\nFormals: obj:objc_object*\nLocals: \n " color=yellow style=filled] 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 4d7394c4e..8c5c204b7 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot +++ b/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot @@ -18,10 +18,18 @@ digraph cfg { "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_2" [label="2: Exit fields \n " color=yellow style=filled] -"fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_3" [label="3: Return Stmt \n n$0=*&__return_param:Fields* [line 20, column 19]\n n$1=_fun_Fields::(n$0:Fields*,&#GB$__someFields:Fields const &) [line 20, column 26]\n " shape="box"] +"fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_3" [label="3: Return Stmt \n n$0=*&__return_param:Fields* [line 20, column 19]\n " shape="box"] - "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_3" -> "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_2" ; + "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_3" -> "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_4" ; +"fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_4" [label="4: Return Stmt \n n$1=_fun_Fields::(n$0:Fields*,&#GB$__someFields:Fields const &) [line 20, column 26]\n " shape="box"] + + + "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_4" -> "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_5" ; +"fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_5" [label="5: Return Stmt \n " shape="box"] + + + "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_5" -> "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_2" ; "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_1" [label="1: Start Fields::\nFormals: this:Fields* __param_0:Fields const &\nLocals: \n " color=yellow style=filled]