diff --git a/infer/src/clang/cTrans.ml b/infer/src/clang/cTrans.ml index 79a1f037e..4a4817609 100644 --- a/infer/src/clang/cTrans.ml +++ b/infer/src/clang/cTrans.ml @@ -3958,7 +3958,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s and exprWithCleanups_trans trans_state stmt_info stmt_list = - L.debug Capture Verbose "ExprWithCleanups trans_state={succ_nodes=[%a]}@." + L.debug Capture Verbose "ExprWithCleanups trans_state={succ_nodes=[%a]}@\n" (Pp.seq Procdesc.Node.pp) trans_state.succ_nodes ; let loc = CLocation.location_of_stmt_info trans_state.context.translation_unit_context.source_file @@ -3985,6 +3985,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s stmt_info in let sub_expr_result = instruction trans_state stmt in + L.debug Capture Verbose "sub_expr_result.control=%a@\n" pp_control sub_expr_result.control ; let init_markers_to_zero_instrs = List.fold temporaries_to_destroy ~init:[] ~f:(fun instrs {CScope.marker} -> match marker with @@ -4564,6 +4565,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s (** Function similar to instruction function, but it takes C++ constructor initializer as an input parameter. *) and cxx_constructor_init_trans ctor_init trans_state = + L.debug Capture Verbose "cxx_constructor_init_trans@\n @[" ; let context = trans_state.context in let source_range = ctor_init.Clang_ast_t.xci_source_range in let sil_loc = @@ -4577,7 +4579,10 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s {(CAst_utils.dummy_stmt_info ()) with Clang_ast_t.si_source_range= source_range} in let trans_state' = PriorityNode.try_claim_priority_node trans_state this_stmt_info in - let this_res_trans = this_expr_trans child_stmt_info trans_state' sil_loc in + let this_res_trans = + this_expr_trans child_stmt_info trans_state' sil_loc + |> PriorityNode.compute_result_to_parent trans_state' sil_loc ConstructorInit this_stmt_info + in let var_res_trans = match ctor_init.Clang_ast_t.xci_subject with | `Delegating _ | `BaseClass _ -> @@ -4593,8 +4598,12 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s let var_exp_typ = var_res_trans.return in let init_expr = ctor_init.Clang_ast_t.xci_init_expr in let init_res_trans = init_expr_trans trans_state' var_exp_typ child_stmt_info init_expr in - PriorityNode.compute_results_to_parent trans_state' sil_loc ConstructorInit this_stmt_info - ~return:init_res_trans.return [var_res_trans; init_res_trans] + let result = + PriorityNode.compute_results_to_parent trans_state' sil_loc ConstructorInit this_stmt_info + ~return:init_res_trans.return [var_res_trans; init_res_trans] + in + L.debug Capture Verbose "@]@\n" ; + result (** Given a translation state and list of translation functions it executes translation *) diff --git a/infer/src/clang/cTrans_utils.ml b/infer/src/clang/cTrans_utils.ml index aa651a1ad..fdd0a6447 100644 --- a/infer/src/clang/cTrans_utils.ml +++ b/infer/src/clang/cTrans_utils.ml @@ -159,13 +159,13 @@ let pp_trans_state fmt ; is_fst_arg_objc_instance_method_call ; passed_as_noescape_block_to }[@warning "+9"]) = F.fprintf fmt - "@[{succ_nodes=[%a];@;\ + "{@[succ_nodes=[%a];@;\ continuation=%a@;\ priority=%a;@;\ var_exp_typ=%a;@;\ opaque_exp=%a;@;\ is_fst_arg_objc_instance_method_call=%b;@;\ - passed_as_noescape_block_to=%a}@]" + passed_as_noescape_block_to=%a@]}" (Pp.seq ~sep:";" Procdesc.Node.pp) succ_nodes (Pp.option pp_continuation) continuation pp_priority_node priority (Pp.option (Pp.pair ~fst:Exp.pp ~snd:(Typ.pp_full Pp.text_break))) diff --git a/infer/tests/codetoanalyze/cpp/frontend/constructors.cpp b/infer/tests/codetoanalyze/cpp/frontend/constructors.cpp new file mode 100644 index 000000000..dde0a4b09 --- /dev/null +++ b/infer/tests/codetoanalyze/cpp/frontend/constructors.cpp @@ -0,0 +1,15 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +class C {}; + +class D { + public: + D(C x) {} + + D() : D(C{}) {} +}; diff --git a/infer/tests/codetoanalyze/cpp/frontend/constructors.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/constructors.cpp.dot new file mode 100644 index 000000000..2309ad578 --- /dev/null +++ b/infer/tests/codetoanalyze/cpp/frontend/constructors.cpp.dot @@ -0,0 +1,36 @@ +/* @generated */ +digraph cfg { +"C#C#{3580560627344463844|constexpr}.e3694fd364611ec17124e012297a2e86_1" [label="1: Start C::C\nFormals: this:C* __param_0:C&\nLocals: \n " color=yellow style=filled] + + + "C#C#{3580560627344463844|constexpr}.e3694fd364611ec17124e012297a2e86_1" -> "C#C#{3580560627344463844|constexpr}.e3694fd364611ec17124e012297a2e86_2" ; +"C#C#{3580560627344463844|constexpr}.e3694fd364611ec17124e012297a2e86_2" [label="2: Exit C::C \n " color=yellow style=filled] + + +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_1" [label="1: Start D::D\nFormals: this:D*\nLocals: 0$?%__sil_tmp__temp_construct_n$3:C 0$?%__sil_tmpSIL_materialize_temp__n$2:C \n " color=yellow style=filled] + + + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_1" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" [label="2: Exit D::D \n " color=yellow style=filled] + + +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" [label="3: Constructor Init \n n$1=*&this:D* [line 14, column 9]\n " shape="box"] + + + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" [label="4: DeclStmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:C); [line 14, column 11]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:C=0 [line 14, column 11]\n " shape="box"] + + + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" [label="5: Destruction(temporaries cleanup) \n n$4=_fun_C::C(&0$?%__sil_tmp__temp_construct_n$3:C*,&0$?%__sil_tmpSIL_materialize_temp__n$2:C&) [line 14, column 11]\n n$5=_fun_D::D(n$1:D*,&0$?%__sil_tmp__temp_construct_n$3:C) [line 14, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:C [line 14, column 14]\n n$7=_fun_C::~C(&0$?%__sil_tmpSIL_materialize_temp__n$2:C*) injected [line 14, column 14]\n " shape="box"] + + + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" ; +"D#D#{5432425317638667422}.a4365e545a16987608e4a4e42a8d1c69_1" [label="1: Start D::D\nFormals: this:D* x:C&\nLocals: \n " color=yellow style=filled] + + + "D#D#{5432425317638667422}.a4365e545a16987608e4a4e42a8d1c69_1" -> "D#D#{5432425317638667422}.a4365e545a16987608e4a4e42a8d1c69_2" ; +"D#D#{5432425317638667422}.a4365e545a16987608e4a4e42a8d1c69_2" [label="2: Exit D::D \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 5198f2554..3921b15d8 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot @@ -609,48 +609,72 @@ digraph cfg { "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] - "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_1" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_4" ; + "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_1" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_5" ; "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_2" [label="2: Exit break_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:break_scope::iterator const & [line 16, column 8]\n n$3=*n$2.vector:break_scope::vec const * [line 16, column 8]\n *n$1.vector:break_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] +"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 16, column 8]\n " shape="box"] - "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_2" ; -"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_4" [label="4: Constructor Init \n n$4=*&this:break_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:break_scope::iterator const & [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] + "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_4" ; +"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_4" [label="4: Constructor Init \n n$2=*&__param_0:break_scope::iterator const & [line 16, column 8]\n n$3=*n$2.vector:break_scope::vec const * [line 16, column 8]\n *n$1.vector:break_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] - "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_4" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" ; + "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_4" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_2" ; +"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_5" [label="5: Constructor Init \n n$4=*&this:break_scope::iterator* [line 16, column 8]\n " shape="box"] + + + "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_5" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_6" ; +"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_6" [label="6: Constructor Init \n n$5=*&__param_0:break_scope::iterator const & [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] + + + "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_6" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" ; "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_1" [label="1: Start break_scope::iterator::iterator\nFormals: this:break_scope::iterator* v:break_scope::vec const * pos:int\nLocals: \n " color=yellow style=filled] - "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_1" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_4" ; + "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_1" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_5" ; "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_2" [label="2: Exit break_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 20, column 52]\n n$2=*&v:break_scope::vec const * [line 20, column 59]\n *n$1.vector:break_scope::vec const *=n$2 [line 20, column 52]\n " shape="box"] +"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 20, column 52]\n " shape="box"] + + + "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_4" ; +"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_4" [label="4: Constructor Init \n n$2=*&v:break_scope::vec const * [line 20, column 59]\n *n$1.vector:break_scope::vec const *=n$2 [line 20, column 52]\n " shape="box"] + + + "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_4" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_2" ; +"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_5" [label="5: Constructor Init \n n$3=*&this:break_scope::iterator* [line 20, column 37]\n " shape="box"] - "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_2" ; -"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_4" [label="4: Constructor Init \n n$3=*&this:break_scope::iterator* [line 20, column 37]\n n$4=*&pos:int [line 20, column 46]\n *n$3.position:int=n$4 [line 20, column 37]\n " shape="box"] + "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_5" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_6" ; +"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_6" [label="6: Constructor Init \n n$4=*&pos:int [line 20, column 46]\n *n$3.position:int=n$4 [line 20, column 37]\n " shape="box"] - "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_4" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" ; + "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_6" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" ; "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_1" [label="1: Start break_scope::iterator::iterator\nFormals: this:break_scope::iterator* __param_0:break_scope::iterator&\nLocals: \n " color=yellow style=filled] - "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_1" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" ; + "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_1" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_5" ; "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_2" [label="2: Exit break_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:break_scope::iterator& [line 16, column 8]\n n$3=*n$2.vector:break_scope::vec const * [line 16, column 8]\n *n$1.vector:break_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] +"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 16, column 8]\n " shape="box"] + + + "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" ; +"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" [label="4: Constructor Init \n n$2=*&__param_0:break_scope::iterator& [line 16, column 8]\n n$3=*n$2.vector:break_scope::vec const * [line 16, column 8]\n *n$1.vector:break_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] - "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_2" ; -"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" [label="4: Constructor Init \n n$4=*&this:break_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:break_scope::iterator& [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] + "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_2" ; +"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_5" [label="5: Constructor Init \n n$4=*&this:break_scope::iterator* [line 16, column 8]\n " shape="box"] - "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" ; + "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_5" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_6" ; +"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_6" [label="6: Constructor Init \n n$5=*&__param_0:break_scope::iterator& [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] + + + "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_6" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" ; "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_1" [label="1: Start break_scope::vec::get\nFormals: this:break_scope::vec* pos:int __return_param:break_scope::X*\nLocals: \n " color=yellow style=filled] @@ -723,10 +747,14 @@ digraph cfg { "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_2" [label="2: Exit break_scope::vec::vec \n " color=yellow style=filled] -"vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" [label="3: Constructor Init \n n$1=*&this:break_scope::vec* [line 33, column 3]\n n$2=_fun_break_scope::X::X(n$1._data:break_scope::X[10*1](*)) [line 33, column 3]\n " shape="box"] +"vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" [label="3: Constructor Init \n n$1=*&this:break_scope::vec* [line 33, column 3]\n " shape="box"] + + + "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" -> "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_4" ; +"vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_4" [label="4: Constructor Init \n n$2=_fun_break_scope::X::X(n$1._data:break_scope::X[10*1](*)) [line 33, column 3]\n " shape="box"] - "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" -> "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_2" ; + "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_4" -> "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_2" ; "__infer_inner_destructor_~vec#vec#break_scope#(2726327876410250530).f113a7960f096ab5aa59d07ce9fbcbbe_1" [label="1: Start break_scope::vec::__infer_inner_destructor_~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 4816b3688..4020a8b54 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot @@ -536,48 +536,72 @@ digraph cfg { "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] - "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_1" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_4" ; + "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_1" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_5" ; "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_2" [label="2: Exit continue_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:continue_scope::iterator& [line 16, column 8]\n n$3=*n$2.vector:continue_scope::vec const * [line 16, column 8]\n *n$1.vector:continue_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] +"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 16, column 8]\n " shape="box"] - "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_2" ; -"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_4" [label="4: Constructor Init \n n$4=*&this:continue_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:continue_scope::iterator& [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] + "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_4" ; +"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_4" [label="4: Constructor Init \n n$2=*&__param_0:continue_scope::iterator& [line 16, column 8]\n n$3=*n$2.vector:continue_scope::vec const * [line 16, column 8]\n *n$1.vector:continue_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] - "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_4" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" ; + "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_4" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_2" ; +"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_5" [label="5: Constructor Init \n n$4=*&this:continue_scope::iterator* [line 16, column 8]\n " shape="box"] + + + "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_5" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_6" ; +"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_6" [label="6: Constructor Init \n n$5=*&__param_0:continue_scope::iterator& [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] + + + "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_6" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" ; "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_1" [label="1: Start continue_scope::iterator::iterator\nFormals: this:continue_scope::iterator* v:continue_scope::vec const * pos:int\nLocals: \n " color=yellow style=filled] - "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_1" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_4" ; + "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_1" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_5" ; "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_2" [label="2: Exit continue_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 20, column 52]\n n$2=*&v:continue_scope::vec const * [line 20, column 59]\n *n$1.vector:continue_scope::vec const *=n$2 [line 20, column 52]\n " shape="box"] +"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 20, column 52]\n " shape="box"] + + + "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_4" ; +"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_4" [label="4: Constructor Init \n n$2=*&v:continue_scope::vec const * [line 20, column 59]\n *n$1.vector:continue_scope::vec const *=n$2 [line 20, column 52]\n " shape="box"] + + + "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_4" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_2" ; +"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_5" [label="5: Constructor Init \n n$3=*&this:continue_scope::iterator* [line 20, column 37]\n " shape="box"] - "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_2" ; -"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_4" [label="4: Constructor Init \n n$3=*&this:continue_scope::iterator* [line 20, column 37]\n n$4=*&pos:int [line 20, column 46]\n *n$3.position:int=n$4 [line 20, column 37]\n " shape="box"] + "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_5" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_6" ; +"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_6" [label="6: Constructor Init \n n$4=*&pos:int [line 20, column 46]\n *n$3.position:int=n$4 [line 20, column 37]\n " shape="box"] - "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_4" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" ; + "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_6" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" ; "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_1" [label="1: Start continue_scope::iterator::iterator\nFormals: this:continue_scope::iterator* __param_0:continue_scope::iterator const &\nLocals: \n " color=yellow style=filled] - "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_1" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" ; + "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_1" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_5" ; "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_2" [label="2: Exit continue_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:continue_scope::iterator const & [line 16, column 8]\n n$3=*n$2.vector:continue_scope::vec const * [line 16, column 8]\n *n$1.vector:continue_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] +"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 16, column 8]\n " shape="box"] + + + "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" ; +"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" [label="4: Constructor Init \n n$2=*&__param_0:continue_scope::iterator const & [line 16, column 8]\n n$3=*n$2.vector:continue_scope::vec const * [line 16, column 8]\n *n$1.vector:continue_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] - "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_2" ; -"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" [label="4: Constructor Init \n n$4=*&this:continue_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:continue_scope::iterator const & [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] + "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_2" ; +"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_5" [label="5: Constructor Init \n n$4=*&this:continue_scope::iterator* [line 16, column 8]\n " shape="box"] - "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" ; + "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_5" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_6" ; +"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_6" [label="6: Constructor Init \n n$5=*&__param_0:continue_scope::iterator const & [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] + + + "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_6" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" ; "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] @@ -650,10 +674,14 @@ digraph cfg { "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_2" [label="2: Exit continue_scope::vec::vec \n " color=yellow style=filled] -"vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::vec* [line 33, column 3]\n n$2=_fun_continue_scope::X::X(n$1._data:continue_scope::X[10*1](*)) [line 33, column 3]\n " shape="box"] +"vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::vec* [line 33, column 3]\n " shape="box"] + + + "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" -> "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_4" ; +"vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_4" [label="4: Constructor Init \n n$2=_fun_continue_scope::X::X(n$1._data:continue_scope::X[10*1](*)) [line 33, column 3]\n " shape="box"] - "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" -> "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_2" ; + "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_4" -> "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_2" ; "__infer_inner_destructor_~vec#vec#continue_scope#(10360929843329979119).03b608737079bc7a6c659c5062560447_1" [label="1: Start continue_scope::vec::__infer_inner_destructor_~vec\nFormals: this:continue_scope::vec*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot index 95fee4f49..9afaf5417 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot @@ -7,10 +7,14 @@ digraph cfg { "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_2" [label="2: Exit A::A \n " color=yellow style=filled] -"A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" [label="3: Constructor Init \n n$1=*&this:A* [line 14, column 7]\n n$2=_fun_T::T(n$1:A*) [line 14, column 3]\n " shape="box"] +"A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" [label="3: Constructor Init \n n$1=*&this:A* [line 14, column 7]\n " shape="box"] - "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" -> "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_2" ; + "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" -> "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_4" ; +"A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_4" [label="4: Constructor Init \n n$2=_fun_T::T(n$1:A*) [line 14, column 3]\n " shape="box"] + + + "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_4" -> "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_2" ; "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_1" [label="1: Start A::__infer_inner_destructor_~A\nFormals: this:A*\nLocals: \n " color=yellow style=filled] @@ -32,18 +36,26 @@ digraph cfg { "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_1" [label="1: Start B::B\nFormals: this:B*\nLocals: \n " color=yellow style=filled] - "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_1" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" ; + "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_1" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_5" ; "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_2" [label="2: Exit B::B \n " color=yellow style=filled] -"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" [label="3: Constructor Init \n n$1=*&this:B* [line 19, column 3]\n n$2=_fun_A::A(n$1:B*) [line 19, column 3]\n " shape="box"] +"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" [label="3: Constructor Init \n n$1=*&this:B* [line 19, column 3]\n " shape="box"] - "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_2" ; -"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" [label="4: Constructor Init \n n$3=*&this:B* [line 19, column 7]\n n$4=_fun_T::T(n$3:B*) [line 19, column 3]\n " shape="box"] + "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" ; +"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" [label="4: Constructor Init \n n$2=_fun_A::A(n$1:B*) [line 19, column 3]\n " shape="box"] - "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" ; + "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_2" ; +"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_5" [label="5: Constructor Init \n n$3=*&this:B* [line 19, column 7]\n " shape="box"] + + + "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_5" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_6" ; +"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_6" [label="6: Constructor Init \n n$4=_fun_T::T(n$3:B*) [line 19, column 3]\n " shape="box"] + + + "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_6" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" ; "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_1" [label="1: Start B::__infer_inner_destructor_~B\nFormals: this:B*\nLocals: \n " color=yellow style=filled] @@ -90,26 +102,42 @@ digraph cfg { "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_1" [label="1: Start D::D\nFormals: this:D*\nLocals: \n " color=yellow style=filled] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_1" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" ; + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_1" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_9" ; "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" [label="2: Exit D::D \n " color=yellow style=filled] -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" [label="3: Constructor Init \n n$1=*&this:D* [line 30, column 3]\n n$2=_fun_B::B(n$1.b:B*) [line 30, column 3]\n " shape="box"] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" [label="3: Constructor Init \n n$1=*&this:D* [line 30, column 3]\n " shape="box"] + + + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" [label="4: Constructor Init \n n$2=_fun_B::B(n$1.b:B*) [line 30, column 3]\n " shape="box"] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" [label="4: Constructor Init \n n$3=*&this:D* [line 30, column 3]\n n$4=_fun_C::C(n$3:D*) [line 30, column 3]\n " shape="box"] + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" [label="5: Constructor Init \n n$3=*&this:D* [line 30, column 3]\n " shape="box"] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" [label="5: Constructor Init \n n$5=*&this:D* [line 30, column 3]\n n$6=_fun_A::A(n$5:D*) [line 30, column 3]\n " shape="box"] + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" [label="6: Constructor Init \n n$4=_fun_C::C(n$3:D*) [line 30, column 3]\n " shape="box"] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" [label="6: Constructor Init \n n$7=*&this:D* [line 30, column 7]\n n$8=_fun_T::T(n$7:D*) [line 30, column 3]\n " shape="box"] + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_7" [label="7: Constructor Init \n n$5=*&this:D* [line 30, column 3]\n " shape="box"] - "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" ; + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_7" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_8" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_8" [label="8: Constructor Init \n n$6=_fun_A::A(n$5:D*) [line 30, column 3]\n " shape="box"] + + + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_8" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_9" [label="9: Constructor Init \n n$7=*&this:D* [line 30, column 7]\n " shape="box"] + + + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_9" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_10" ; +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_10" [label="10: Constructor Init \n n$8=_fun_T::T(n$7:D*) [line 30, column 3]\n " shape="box"] + + + "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_10" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_7" ; "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_1" [label="1: Start D::__infer_inner_destructor_~D\nFormals: this:D*\nLocals: a:A \n " color=yellow style=filled] @@ -143,30 +171,50 @@ digraph cfg { "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_1" [label="1: Start E::E\nFormals: this:E*\nLocals: \n " color=yellow style=filled] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_1" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" ; + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_1" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_11" ; "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" [label="2: Exit E::E \n " color=yellow style=filled] -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" [label="3: Constructor Init \n n$1=*&this:E* [line 35, column 3]\n n$2=_fun_D::D(n$1:E*) [line 35, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" [label="3: Constructor Init \n n$1=*&this:E* [line 35, column 3]\n " shape="box"] + + + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" [label="4: Constructor Init \n n$2=_fun_D::D(n$1:E*) [line 35, column 3]\n " shape="box"] + + + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" [label="5: Constructor Init \n n$3=*&this:E* [line 35, column 3]\n " shape="box"] + + + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" [label="6: Constructor Init \n n$4=_fun_C::C(n$3:E*) [line 35, column 3]\n " shape="box"] + + + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" [label="7: Constructor Init \n n$5=*&this:E* [line 35, column 3]\n " shape="box"] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" [label="4: Constructor Init \n n$3=*&this:E* [line 35, column 3]\n n$4=_fun_C::C(n$3:E*) [line 35, column 3]\n " shape="box"] + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_8" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_8" [label="8: Constructor Init \n n$6=_fun_B::B(n$5:E*) [line 35, column 3]\n " shape="box"] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" [label="5: Constructor Init \n n$5=*&this:E* [line 35, column 3]\n n$6=_fun_B::B(n$5:E*) [line 35, column 3]\n " shape="box"] + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_8" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_9" [label="9: Constructor Init \n n$7=*&this:E* [line 35, column 3]\n " shape="box"] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" [label="6: Constructor Init \n n$7=*&this:E* [line 35, column 3]\n n$8=_fun_A::A(n$7:E*) [line 35, column 3]\n " shape="box"] + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_9" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_10" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_10" [label="10: Constructor Init \n n$8=_fun_A::A(n$7:E*) [line 35, column 3]\n " shape="box"] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" [label="7: Constructor Init \n n$9=*&this:E* [line 35, column 7]\n n$10=_fun_T::T(n$9:E*) [line 35, column 3]\n " shape="box"] + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_10" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_11" [label="11: Constructor Init \n n$9=*&this:E* [line 35, column 7]\n " shape="box"] - "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" ; + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_11" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_12" ; +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_12" [label="12: Constructor Init \n n$10=_fun_T::T(n$9:E*) [line 35, column 3]\n " shape="box"] + + + "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_12" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_9" ; "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_1" [label="1: Start E::__infer_inner_destructor_~E\nFormals: this:E*\nLocals: \n " color=yellow style=filled] @@ -192,30 +240,50 @@ digraph cfg { "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_1" [label="1: Start F::F\nFormals: this:F*\nLocals: \n " color=yellow style=filled] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_1" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" ; + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_1" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_11" ; "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" [label="2: Exit F::F \n " color=yellow style=filled] -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" [label="3: Constructor Init \n n$1=*&this:F* [line 40, column 3]\n n$2=_fun_D::D(n$1:F*) [line 40, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" [label="3: Constructor Init \n n$1=*&this:F* [line 40, column 3]\n " shape="box"] + + + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" [label="4: Constructor Init \n n$2=_fun_D::D(n$1:F*) [line 40, column 3]\n " shape="box"] + + + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" [label="5: Constructor Init \n n$3=*&this:F* [line 40, column 3]\n " shape="box"] + + + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" [label="6: Constructor Init \n n$4=_fun_B::B(n$3:F*) [line 40, column 3]\n " shape="box"] + + + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" [label="7: Constructor Init \n n$5=*&this:F* [line 40, column 3]\n " shape="box"] + + + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_8" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_8" [label="8: Constructor Init \n n$6=_fun_C::C(n$5:F*) [line 40, column 3]\n " shape="box"] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" [label="4: Constructor Init \n n$3=*&this:F* [line 40, column 3]\n n$4=_fun_B::B(n$3:F*) [line 40, column 3]\n " shape="box"] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_8" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_9" [label="9: Constructor Init \n n$7=*&this:F* [line 40, column 3]\n " shape="box"] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" [label="5: Constructor Init \n n$5=*&this:F* [line 40, column 3]\n n$6=_fun_C::C(n$5:F*) [line 40, column 3]\n " shape="box"] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_9" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_10" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_10" [label="10: Constructor Init \n n$8=_fun_A::A(n$7:F*) [line 40, column 3]\n " shape="box"] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" [label="6: Constructor Init \n n$7=*&this:F* [line 40, column 3]\n n$8=_fun_A::A(n$7:F*) [line 40, column 3]\n " shape="box"] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_10" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_11" [label="11: Constructor Init \n n$9=*&this:F* [line 40, column 7]\n " shape="box"] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" [label="7: Constructor Init \n n$9=*&this:F* [line 40, column 7]\n n$10=_fun_T::T(n$9:F*) [line 40, column 3]\n " shape="box"] + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_11" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_12" ; +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_12" [label="12: Constructor Init \n n$10=_fun_T::T(n$9:F*) [line 40, column 3]\n " shape="box"] - "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" ; + "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_12" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_9" ; "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_1" [label="1: Start F::__infer_inner_destructor_~F\nFormals: this:F*\nLocals: \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 5374bf1e3..fe76d3c18 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot @@ -193,10 +193,14 @@ digraph cfg { "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_2" [label="2: Exit destructor_scope::S::S \n " color=yellow style=filled] -"S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" [label="3: Constructor Init \n n$1=*&this:destructor_scope::S* [line 19, column 8]\n n$2=_fun_destructor_scope::X::X(n$1.x1:destructor_scope::X*) [line 19, column 8]\n " shape="box"] +"S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" [label="3: Constructor Init \n n$1=*&this:destructor_scope::S* [line 19, column 8]\n " shape="box"] - "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" -> "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_2" ; + "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" -> "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_4" ; +"S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_4" [label="4: Constructor Init \n n$2=_fun_destructor_scope::X::X(n$1.x1:destructor_scope::X*) [line 19, column 8]\n " shape="box"] + + + "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_4" -> "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_2" ; "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_1" [label="1: Start destructor_scope::S::__infer_inner_destructor_~S\nFormals: this:destructor_scope::S*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot index 8d4e9c1fb..9ed77d6ce 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot @@ -32,8 +32,12 @@ digraph cfg { "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_2" [label="2: Exit B::A \n " color=yellow style=filled] -"A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_3" [label="3: Constructor Init \n n$1=*&this:B* [line 13, column 12]\n n$3=*&__param_0:int [line 13, column 12]\n n$2=_fun_A::A(n$1:B*,n$3:int) [line 13, column 12]\n " shape="box"] +"A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_3" [label="3: Constructor Init \n n$1=*&this:B* [line 13, column 12]\n " shape="box"] - "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_3" -> "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_2" ; + "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_3" -> "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_4" ; +"A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_4" [label="4: Constructor Init \n n$3=*&__param_0:int [line 13, column 12]\n n$2=_fun_A::A(n$1:B*,n$3:int) [line 13, column 12]\n " shape="box"] + + + "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_4" -> "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot index 79c8039e5..b6d0b69b0 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot @@ -117,18 +117,26 @@ digraph cfg { "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_1" [label="1: Start init_list::C::C\nFormals: this:init_list::C* a:int b:int x:init_list::X const &\nLocals: \n " color=yellow style=filled] - "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_1" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" ; + "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_1" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_5" ; "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_2" [label="2: Exit init_list::C::C \n " color=yellow style=filled] -"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" [label="3: Constructor Init \n n$1=*&this:init_list::C* [line 22, column 43]\n n$2=*&x:init_list::X const & [line 22, column 45]\n n$3=_fun_init_list::X::X(n$1.x:init_list::X*,n$2:init_list::X const &) [line 22, column 43]\n " shape="box"] +"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" [label="3: Constructor Init \n n$1=*&this:init_list::C* [line 22, column 43]\n " shape="box"] - "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_2" ; -"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" [label="4: Constructor Init \n n$4=*&this:init_list::C* [line 22, column 33]\n n$5=*&a:int [line 22, column 35]\n n$6=*&b:int [line 22, column 39]\n *n$4.z:int=(n$5 + n$6) [line 22, column 33]\n " shape="box"] + "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" ; +"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" [label="4: Constructor Init \n n$2=*&x:init_list::X const & [line 22, column 45]\n n$3=_fun_init_list::X::X(n$1.x:init_list::X*,n$2:init_list::X const &) [line 22, column 43]\n " shape="box"] - "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" ; + "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_2" ; +"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_5" [label="5: Constructor Init \n n$4=*&this:init_list::C* [line 22, column 33]\n " shape="box"] + + + "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_5" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_6" ; +"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_6" [label="6: Constructor Init \n n$5=*&a:int [line 22, column 35]\n n$6=*&b:int [line 22, column 39]\n *n$4.z:int=(n$5 + n$6) [line 22, column 33]\n " shape="box"] + + + "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_6" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" ; "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_1" [label="1: Start init_list::C::C\nFormals: this:init_list::C*\nLocals: \n " color=yellow style=filled] @@ -136,25 +144,37 @@ digraph cfg { "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_2" [label="2: Exit init_list::C::C \n " color=yellow style=filled] -"C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_3" [label="3: Constructor Init \n n$1=*&this:init_list::C* [line 19, column 6]\n *n$1.x.a:int=0 [line 19, column 7]\n *n$1.x.p:int*=null [line 19, column 7]\n " shape="box"] +"C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_3" [label="3: Constructor Init \n n$1=*&this:init_list::C* [line 19, column 6]\n " shape="box"] - "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_3" -> "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_2" ; + "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_3" -> "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_4" ; +"C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_4" [label="4: Constructor Init \n *n$1.x.a:int=0 [line 19, column 7]\n *n$1.x.p:int*=null [line 19, column 7]\n " shape="box"] + + + "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_4" -> "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_2" ; "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_1" [label="1: Start init_list::X::X\nFormals: this:init_list::X* __param_0:init_list::X const &\nLocals: \n " color=yellow style=filled] - "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_1" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_4" ; + "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_1" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_5" ; "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_2" [label="2: Exit init_list::X::X \n " color=yellow style=filled] -"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" [label="3: Constructor Init \n n$1=*&this:init_list::X* [line 8, column 8]\n n$2=*&__param_0:init_list::X const & [line 8, column 8]\n n$3=*n$2.p:int* [line 8, column 8]\n *n$1.p:int*=n$3 [line 8, column 8]\n " shape="box"] +"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" [label="3: Constructor Init \n n$1=*&this:init_list::X* [line 8, column 8]\n " shape="box"] + + + "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_4" ; +"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_4" [label="4: Constructor Init \n n$2=*&__param_0:init_list::X const & [line 8, column 8]\n n$3=*n$2.p:int* [line 8, column 8]\n *n$1.p:int*=n$3 [line 8, column 8]\n " shape="box"] - "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_2" ; -"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_4" [label="4: Constructor Init \n n$4=*&this:init_list::X* [line 8, column 8]\n n$5=*&__param_0:init_list::X const & [line 8, column 8]\n n$6=*n$5.a:int [line 8, column 8]\n *n$4.a:int=n$6 [line 8, column 8]\n " shape="box"] + "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_4" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_2" ; +"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_5" [label="5: Constructor Init \n n$4=*&this:init_list::X* [line 8, column 8]\n " shape="box"] - "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_4" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" ; + "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_5" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_6" ; +"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_6" [label="6: Constructor Init \n n$5=*&__param_0:init_list::X const & [line 8, column 8]\n n$6=*n$5.a:int [line 8, column 8]\n *n$4.a:int=n$6 [line 8, column 8]\n " shape="box"] + + + "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_6" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" ; "X#X#init_list#{14623563476151830502}.b21008744daa797ebfd9ef4c9c105ffb_1" [label="1: Start init_list::X::X\nFormals: this:init_list::X*\nLocals: \n " color=yellow style=filled] @@ -165,18 +185,26 @@ digraph cfg { "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_1" [label="1: Start init_list::Y::Y\nFormals: this:init_list::Y* __param_0:init_list::Y const &\nLocals: \n " color=yellow style=filled] - "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_1" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" ; + "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_1" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_5" ; "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_2" [label="2: Exit init_list::Y::Y \n " color=yellow style=filled] -"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" [label="3: Constructor Init \n n$1=*&this:init_list::Y* [line 12, column 8]\n n$2=*&__param_0:init_list::Y const & [line 12, column 8]\n n$3=_fun_init_list::X::X(n$1.x:init_list::X*,n$2.x:init_list::X&) [line 12, column 8]\n " shape="box"] +"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" [label="3: Constructor Init \n n$1=*&this:init_list::Y* [line 12, column 8]\n " shape="box"] + + + "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" ; +"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" [label="4: Constructor Init \n n$2=*&__param_0:init_list::Y const & [line 12, column 8]\n n$3=_fun_init_list::X::X(n$1.x:init_list::X*,n$2.x:init_list::X&) [line 12, column 8]\n " shape="box"] - "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_2" ; -"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" [label="4: Constructor Init \n n$4=*&this:init_list::Y* [line 12, column 8]\n n$5=*&__param_0:init_list::Y const & [line 12, column 8]\n n$6=*n$5.z:int [line 12, column 8]\n *n$4.z:int=n$6 [line 12, column 8]\n " shape="box"] + "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_2" ; +"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_5" [label="5: Constructor Init \n n$4=*&this:init_list::Y* [line 12, column 8]\n " shape="box"] - "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" ; + "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_5" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_6" ; +"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_6" [label="6: Constructor Init \n n$5=*&__param_0:init_list::Y const & [line 12, column 8]\n n$6=*n$5.z:int [line 12, column 8]\n *n$4.z:int=n$6 [line 12, column 8]\n " shape="box"] + + + "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_6" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" ; "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_1" [label="1: Start init_list::Y::Y\nFormals: this:init_list::Y*\nLocals: \n " color=yellow style=filled] @@ -184,8 +212,12 @@ digraph cfg { "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_2" [label="2: Exit init_list::Y::Y \n " color=yellow style=filled] -"Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" [label="3: Constructor Init \n n$1=*&this:init_list::Y* [line 12, column 8]\n n$2=_fun_init_list::X::X(n$1.x:init_list::X*) [line 12, column 8]\n " shape="box"] +"Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" [label="3: Constructor Init \n n$1=*&this:init_list::Y* [line 12, column 8]\n " shape="box"] + + + "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" -> "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_4" ; +"Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_4" [label="4: Constructor Init \n n$2=_fun_init_list::X::X(n$1.x:init_list::X*) [line 12, column 8]\n " shape="box"] - "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" -> "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_2" ; + "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_4" -> "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/frontend/initialization/zero_init.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/initialization/zero_init.cpp.dot index 132b679a1..df035440b 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/initialization/zero_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/initialization/zero_init.cpp.dot @@ -18,10 +18,14 @@ digraph cfg { "X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_2" [label="2: Exit zero_init::X::X \n " color=yellow style=filled] -"X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_3" [label="3: Constructor Init \n n$1=*&this:zero_init::X* [line 15, column 19]\n n$2=_fun___infer_zero_initialization(n$1.keys_:void*[65536*8]) [line 15, column 25]\n " shape="box"] +"X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_3" [label="3: Constructor Init \n n$1=*&this:zero_init::X* [line 15, column 19]\n " shape="box"] - "X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_3" -> "X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_2" ; + "X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_3" -> "X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_4" ; +"X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_4" [label="4: Constructor Init \n n$2=_fun___infer_zero_initialization(n$1.keys_:void*[65536*8]) [line 15, column 25]\n " shape="box"] + + + "X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_4" -> "X#X#zero_init#{277870330798338824|constexpr}.16c2d483086de887db705c1e51a1bf78_2" ; "Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_1" [label="1: Start zero_init::Y::Y\nFormals: this:zero_init::Y*\nLocals: \n " color=yellow style=filled] @@ -29,8 +33,12 @@ digraph cfg { "Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_2" [label="2: Exit zero_init::Y::Y \n " color=yellow style=filled] -"Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_3" [label="3: Constructor Init \n n$1=*&this:zero_init::Y* [line 22, column 19]\n *n$1.keys_[0]:void*=null [line 22, column 25]\n *n$1.keys_[1]:void*=null [line 22, column 25]\n *n$1.keys_[2]:void*=null [line 22, column 25]\n " shape="box"] +"Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_3" [label="3: Constructor Init \n n$1=*&this:zero_init::Y* [line 22, column 19]\n " shape="box"] + + + "Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_3" -> "Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_4" ; +"Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_4" [label="4: Constructor Init \n *n$1.keys_[0]:void*=null [line 22, column 25]\n *n$1.keys_[1]:void*=null [line 22, column 25]\n *n$1.keys_[2]:void*=null [line 22, column 25]\n " shape="box"] - "Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_3" -> "Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_2" ; + "Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_4" -> "Y#Y#zero_init#{11751607535979846847|constexpr}.3d7bacd58f9f66a28604db198e91fa11_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot index 7d9dfe8b4..c2808d2ac 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot @@ -153,10 +153,14 @@ digraph cfg { "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_2" [label="2: Exit iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_3" [label="3: Constructor Init \n n$1=*&this:iterator* [line 9, column 8]\n n$2=*&__param_0:iterator const & [line 9, column 8]\n n$3=*n$2.val:int [line 9, column 8]\n *n$1.val:int=n$3 [line 9, column 8]\n " shape="box"] +"iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_3" [label="3: Constructor Init \n n$1=*&this:iterator* [line 9, column 8]\n " shape="box"] - "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_3" -> "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_2" ; + "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_3" -> "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_4" ; +"iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_4" [label="4: Constructor Init \n n$2=*&__param_0:iterator const & [line 9, column 8]\n n$3=*n$2.val:int [line 9, column 8]\n *n$1.val:int=n$3 [line 9, column 8]\n " shape="box"] + + + "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_4" -> "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_2" ; "iterator#iterator#{17107199916075329459}.2fc51ac860d26e778b9b34e5032f02d5_1" [label="1: Start iterator::iterator\nFormals: this:iterator*\nLocals: \n " color=yellow style=filled] @@ -171,10 +175,14 @@ digraph cfg { "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_2" [label="2: Exit iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_3" [label="3: Constructor Init \n n$1=*&this:iterator* [line 9, column 8]\n n$2=*&__param_0:iterator& [line 9, column 8]\n n$3=*n$2.val:int [line 9, column 8]\n *n$1.val:int=n$3 [line 9, column 8]\n " shape="box"] +"iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_3" [label="3: Constructor Init \n n$1=*&this:iterator* [line 9, column 8]\n " shape="box"] + + + "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_3" -> "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_4" ; +"iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_4" [label="4: Constructor Init \n n$2=*&__param_0:iterator& [line 9, column 8]\n n$3=*n$2.val:int [line 9, column 8]\n *n$1.val:int=n$3 [line 9, column 8]\n " shape="box"] - "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_3" -> "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_2" ; + "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_4" -> "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_2" ; "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_1" [label="1: Start vec::end\nFormals: this:vec* __return_param:iterator*\nLocals: \n " color=yellow style=filled] @@ -216,7 +224,7 @@ digraph cfg { "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_1" [label="1: Start vec::vec\nFormals: this:vec* size:int\nLocals: \n " color=yellow style=filled] - "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_1" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" ; + "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_1" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_7" ; "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_2" [label="2: Exit vec::vec \n " color=yellow style=filled] @@ -228,12 +236,20 @@ digraph cfg { "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_4" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_3" ; -"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" [label="5: Constructor Init \n n$3=*&this:vec* [line 22, column 3]\n n$4=_fun_iterator::iterator(n$3.end_:iterator*) [line 22, column 3]\n " shape="box"] +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" [label="5: Constructor Init \n n$3=*&this:vec* [line 22, column 3]\n " shape="box"] + + + "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" ; +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" [label="6: Constructor Init \n n$4=_fun_iterator::iterator(n$3.end_:iterator*) [line 22, column 3]\n " shape="box"] + + + "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_4" ; +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_7" [label="7: Constructor Init \n n$5=*&this:vec* [line 22, column 3]\n " shape="box"] - "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_4" ; -"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" [label="6: Constructor Init \n n$5=*&this:vec* [line 22, column 3]\n n$6=_fun_iterator::iterator(n$5.begin_:iterator*) [line 22, column 3]\n " shape="box"] + "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_7" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_8" ; +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_8" [label="8: Constructor Init \n n$6=_fun_iterator::iterator(n$5.begin_:iterator*) [line 22, column 3]\n " shape="box"] - "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" ; + "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_8" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" ; } 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 f77e83e1e..300a7425f 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot @@ -141,10 +141,14 @@ digraph cfg { "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_2" [label="2: Exit Person::Person \n " color=yellow style=filled] -"Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_3" [label="3: Constructor Init \n n$1=*&this:Person* [line 8, column 7]\n n$2=*&__param_0:Person& [line 8, column 7]\n n$3=*n$2.x:int [line 8, column 7]\n *n$1.x:int=n$3 [line 8, column 7]\n " shape="box"] +"Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_3" [label="3: Constructor Init \n n$1=*&this:Person* [line 8, column 7]\n " shape="box"] - "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_3" -> "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_2" ; + "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_3" -> "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_4" ; +"Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_4" [label="4: Constructor Init \n n$2=*&__param_0:Person& [line 8, column 7]\n n$3=*n$2.x:int [line 8, column 7]\n *n$1.x:int=n$3 [line 8, column 7]\n " shape="box"] + + + "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_4" -> "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_2" ; "Z#Z#{733480695536199502}.d7175b729ebcbd1d5a54386c5c573d33_1" [label="1: Start Z::Z\nFormals: this:Z*\nLocals: \n " color=yellow style=filled] @@ -155,16 +159,24 @@ digraph cfg { "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_1" [label="1: Start Z::Z\nFormals: this:Z* __param_0:Z const &\nLocals: \n " color=yellow style=filled] - "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_1" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_4" ; + "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_1" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_5" ; "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_2" [label="2: Exit Z::Z \n " color=yellow style=filled] -"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" [label="3: Constructor Init \n n$1=*&this:Z* [line 25, column 8]\n n$2=*&__param_0:Z const & [line 25, column 8]\n n$3=*n$2.b:int [line 25, column 8]\n *n$1.b:int=n$3 [line 25, column 8]\n " shape="box"] +"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" [label="3: Constructor Init \n n$1=*&this:Z* [line 25, column 8]\n " shape="box"] + + + "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_4" ; +"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_4" [label="4: Constructor Init \n n$2=*&__param_0:Z const & [line 25, column 8]\n n$3=*n$2.b:int [line 25, column 8]\n *n$1.b:int=n$3 [line 25, column 8]\n " shape="box"] + + + "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_4" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_2" ; +"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_5" [label="5: Constructor Init \n n$4=*&this:Z* [line 25, column 8]\n " shape="box"] - "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_2" ; -"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_4" [label="4: Constructor Init \n n$4=*&this:Z* [line 25, column 8]\n n$5=*&__param_0:Z const & [line 25, column 8]\n n$6=*n$5.a:int [line 25, column 8]\n *n$4.a:int=n$6 [line 25, column 8]\n " shape="box"] + "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_5" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_6" ; +"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_6" [label="6: Constructor Init \n n$5=*&__param_0:Z const & [line 25, column 8]\n n$6=*n$5.a:int [line 25, column 8]\n *n$4.a:int=n$6 [line 25, column 8]\n " shape="box"] - "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_4" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" ; + "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_6" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" ; } 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 cd3710996..a745c2be1 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot @@ -141,29 +141,45 @@ digraph cfg { "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_2" [label="2: Exit A::A \n " color=yellow style=filled] -"A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_3" [label="3: Constructor Init \n n$1=*&this:A* [line 10, column 14]\n n$2=*&f:int [line 10, column 16]\n *n$1.f:int=n$2 [line 10, column 14]\n " shape="box"] +"A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_3" [label="3: Constructor Init \n n$1=*&this:A* [line 10, column 14]\n " shape="box"] - "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_3" -> "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_2" ; + "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_3" -> "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_4" ; +"A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_4" [label="4: Constructor Init \n n$2=*&f:int [line 10, column 16]\n *n$1.f:int=n$2 [line 10, column 14]\n " shape="box"] + + + "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_4" -> "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_2" ; "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_1" [label="1: Start B::B\nFormals: this:B* a:int\nLocals: \n " color=yellow style=filled] - "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_1" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" ; + "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_1" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_7" ; "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_2" [label="2: Exit B::B \n " color=yellow style=filled] -"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" [label="3: Constructor Init \n n$1=*&this:B* [line 20, column 27]\n n$2=*&a:int [line 20, column 29]\n n$3=_fun_B::T::T(n$1.t:B::T*,n$2:int) [line 20, column 27]\n " shape="box"] +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" [label="3: Constructor Init \n n$1=*&this:B* [line 20, column 27]\n " shape="box"] + + + "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" ; +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" [label="4: Constructor Init \n n$2=*&a:int [line 20, column 29]\n n$3=_fun_B::T::T(n$1.t:B::T*,n$2:int) [line 20, column 27]\n " shape="box"] + + + "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_2" ; +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" [label="5: Constructor Init \n n$4=*&this:B* [line 20, column 20]\n " shape="box"] - "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_2" ; -"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" [label="4: Constructor Init \n n$4=*&this:B* [line 20, column 20]\n n$5=*&a:int [line 20, column 23]\n *n$4.f2:int=n$5 [line 20, column 20]\n " shape="box"] + "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_6" ; +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_6" [label="6: Constructor Init \n n$5=*&a:int [line 20, column 23]\n *n$4.f2:int=n$5 [line 20, column 20]\n " shape="box"] - "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" ; -"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" [label="5: Constructor Init \n n$6=*&this:B* [line 20, column 14]\n n$7=*&a:int [line 20, column 16]\n n$8=_fun_A::A(n$6:B*,n$7:int) [line 20, column 14]\n " shape="box"] + "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_6" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" ; +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_7" [label="7: Constructor Init \n n$6=*&this:B* [line 20, column 14]\n " shape="box"] - "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" ; + "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_7" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_8" ; +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_8" [label="8: Constructor Init \n n$7=*&a:int [line 20, column 16]\n n$8=_fun_A::A(n$6:B*,n$7:int) [line 20, column 14]\n " shape="box"] + + + "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_8" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" ; "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_1" [label="1: Start B::B\nFormals: this:B* a:int b:int\nLocals: \n " color=yellow style=filled] @@ -175,10 +191,14 @@ digraph cfg { "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_3" -> "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_2" ; -"B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" [label="4: Constructor Init \n n$2=*&this:B* [line 22, column 21]\n n$3=*&a:int [line 22, column 23]\n n$4=*&b:int [line 22, column 27]\n n$5=_fun_B::B(n$2:B*,(n$3 + n$4):int) [line 22, column 21]\n " shape="box"] +"B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" [label="4: Constructor Init \n n$2=*&this:B* [line 22, column 21]\n " shape="box"] + + + "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" -> "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_5" ; +"B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_5" [label="5: Constructor Init \n n$3=*&a:int [line 22, column 23]\n n$4=*&b:int [line 22, column 27]\n n$5=_fun_B::B(n$2:B*,(n$3 + n$4):int) [line 22, column 21]\n " shape="box"] - "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" -> "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_3" ; + "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_5" -> "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_3" ; "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_1" [label="1: Start B::T::T\nFormals: this:B::T* v:int\nLocals: \n " color=yellow style=filled] @@ -186,8 +206,12 @@ digraph cfg { "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_2" [label="2: Exit B::T::T \n " color=yellow style=filled] -"T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_3" [label="3: Constructor Init \n n$1=*&this:B::T* [line 16, column 16]\n n$2=*&v:int [line 16, column 18]\n *n$1.v:int=n$2 [line 16, column 16]\n " shape="box"] +"T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_3" [label="3: Constructor Init \n n$1=*&this:B::T* [line 16, column 16]\n " shape="box"] + + + "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_3" -> "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_4" ; +"T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_4" [label="4: Constructor Init \n n$2=*&v:int [line 16, column 18]\n *n$1.v:int=n$2 [line 16, column 16]\n " shape="box"] - "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_3" -> "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_2" ; + "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_4" -> "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot index 516c188f5..1e08c4e4b 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot @@ -18,8 +18,12 @@ digraph cfg { "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_2" [label="2: Exit Person::Person \n " color=yellow style=filled] -"Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_3" [label="3: Constructor Init \n n$1=*&this:Person* [line 14, column 28]\n n$2=*&l:Insets const & [line 14, column 32]\n n$3=*n$2.top:int [line 14, column 32]\n *n$1.age:int=n$3 [line 14, column 28]\n " shape="box"] +"Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_3" [label="3: Constructor Init \n n$1=*&this:Person* [line 14, column 28]\n " shape="box"] - "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_3" -> "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_2" ; + "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_3" -> "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_4" ; +"Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_4" [label="4: Constructor Init \n n$2=*&l:Insets const & [line 14, column 32]\n n$3=*n$2.top:int [line 14, column 32]\n *n$1.age:int=n$3 [line 14, column 28]\n " shape="box"] + + + "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_4" -> "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_2" ; } 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 4523b6879..84c95fa8a 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 @@ -68,16 +68,24 @@ digraph cfg { "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_1" [label="1: Start copy_array_field::X::X\nFormals: this:copy_array_field::X* __param_0:copy_array_field::X const &\nLocals: \n " color=yellow style=filled] - "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_1" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_4" ; + "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_1" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_5" ; "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_2" [label="2: Exit copy_array_field::X::X \n " color=yellow style=filled] -"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" [label="3: Constructor Init \n n$1=*&this:copy_array_field::X* [line 8, column 8]\n *n$1.x:void=n$2 [line 8, column 8]\n " shape="box"] +"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" [label="3: Constructor Init \n n$1=*&this:copy_array_field::X* [line 8, column 8]\n " shape="box"] - "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_2" ; -"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_4" [label="4: Constructor Init \n n$3=*&this:copy_array_field::X* [line 8, column 8]\n n$4=*&__param_0:copy_array_field::X const & [line 8, column 8]\n n$5=*n$4.p:int* [line 8, column 8]\n *n$3.p:int*=n$5 [line 8, column 8]\n " shape="box"] + "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_4" ; +"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_4" [label="4: Constructor Init \n *n$1.x:void=n$2 [line 8, column 8]\n " shape="box"] - "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_4" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" ; + "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_4" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_2" ; +"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_5" [label="5: Constructor Init \n n$3=*&this:copy_array_field::X* [line 8, column 8]\n " shape="box"] + + + "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_5" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_6" ; +"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_6" [label="6: Constructor Init \n n$4=*&__param_0:copy_array_field::X const & [line 8, column 8]\n n$5=*n$4.p:int* [line 8, column 8]\n *n$3.p:int*=n$5 [line 8, column 8]\n " shape="box"] + + + "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_6" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" ; } 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 0e5606b8f..313958e4d 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 @@ -278,10 +278,14 @@ digraph cfg { "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_2" [label="2: Exit copy_move_constructor::X::X \n " color=yellow style=filled] -"X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::X* [line 13, column 8]\n n$2=*&__param_0:copy_move_constructor::X& [line 13, column 8]\n n$3=*n$2.f:int [line 13, column 8]\n *n$1.f:int=n$3 [line 13, column 8]\n " shape="box"] +"X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::X* [line 13, column 8]\n " shape="box"] - "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_3" -> "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_2" ; + "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_3" -> "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_4" ; +"X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_4" [label="4: Constructor Init \n n$2=*&__param_0:copy_move_constructor::X& [line 13, column 8]\n n$3=*n$2.f:int [line 13, column 8]\n *n$1.f:int=n$3 [line 13, column 8]\n " shape="box"] + + + "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_4" -> "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_2" ; "X#X#copy_move_constructor#{10968604964233077287}.2f7f6ea6443bd7f6e81f1eae0ad96ec1_1" [label="1: Start copy_move_constructor::X::X\nFormals: this:copy_move_constructor::X*\nLocals: \n " color=yellow style=filled] @@ -296,10 +300,14 @@ digraph cfg { "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_2" [label="2: Exit copy_move_constructor::X::X \n " color=yellow style=filled] -"X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::X* [line 13, column 8]\n n$2=*&__param_0:copy_move_constructor::X const & [line 13, column 8]\n n$3=*n$2.f:int [line 13, column 8]\n *n$1.f:int=n$3 [line 13, column 8]\n " shape="box"] +"X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::X* [line 13, column 8]\n " shape="box"] + + + "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_3" -> "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_4" ; +"X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_4" [label="4: Constructor Init \n n$2=*&__param_0:copy_move_constructor::X const & [line 13, column 8]\n n$3=*n$2.f:int [line 13, column 8]\n *n$1.f:int=n$3 [line 13, column 8]\n " shape="box"] - "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_3" -> "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_2" ; + "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_4" -> "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_2" ; "Y#Y#copy_move_constructor#{1021306560387426992}.841cfe557ed8d8dec57a221bbce98e74_1" [label="1: Start copy_move_constructor::Y::Y\nFormals: this:copy_move_constructor::Y*\nLocals: \n " color=yellow style=filled] @@ -314,10 +322,14 @@ digraph cfg { "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_2" [label="2: Exit copy_move_constructor::Y::Y \n " color=yellow style=filled] -"Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::Y* [line 24, column 20]\n n$2=*&y:copy_move_constructor::Y const & [line 24, column 22]\n n$3=*n$2.f:int [line 24, column 22]\n *n$1.f:int=(n$3 - 1) [line 24, column 20]\n " shape="box"] +"Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::Y* [line 24, column 20]\n " shape="box"] - "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_3" -> "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_2" ; + "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_3" -> "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_4" ; +"Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_4" [label="4: Constructor Init \n n$2=*&y:copy_move_constructor::Y const & [line 24, column 22]\n n$3=*n$2.f:int [line 24, column 22]\n *n$1.f:int=(n$3 - 1) [line 24, column 20]\n " shape="box"] + + + "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_4" -> "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_2" ; "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_1" [label="1: Start copy_move_constructor::Y::Y\nFormals: this:copy_move_constructor::Y* y:copy_move_constructor::Y const &\nLocals: \n " color=yellow style=filled] @@ -325,8 +337,12 @@ digraph cfg { "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_2" [label="2: Exit copy_move_constructor::Y::Y \n " color=yellow style=filled] -"Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::Y* [line 22, column 3]\n n$2=*&y:copy_move_constructor::Y const & [line 22, column 3]\n n$3=*n$2.f:int [line 22, column 3]\n *n$1.f:int=n$3 [line 22, column 3]\n " shape="box"] +"Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::Y* [line 22, column 3]\n " shape="box"] + + + "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_3" -> "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_4" ; +"Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_4" [label="4: Constructor Init \n n$2=*&y:copy_move_constructor::Y const & [line 22, column 3]\n n$3=*n$2.f:int [line 22, column 3]\n *n$1.f:int=n$3 [line 22, column 3]\n " shape="box"] - "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_3" -> "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_2" ; + "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_4" -> "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot index 7498cbec1..9d13a95e8 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot @@ -14,58 +14,94 @@ digraph cfg { "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_1" [label="1: Start X::X\nFormals: this:X* a:int b:int\nLocals: \n " color=yellow style=filled] - "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_1" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_5" ; + "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_1" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_7" ; "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" [label="2: Exit X::X \n " color=yellow style=filled] -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" [label="3: Constructor Init \n n$1=*&this:X* [line 11, column 8]\n *n$1.c:int=0 [line 11, column 8]\n " shape="box"] +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" [label="3: Constructor Init \n n$1=*&this:X* [line 11, column 8]\n " shape="box"] - "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" ; -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" [label="4: Constructor Init \n n$2=*&this:X* [line 10, column 8]\n *n$2.b:int=-2 [line 10, column 8]\n " shape="box"] + "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" ; +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" [label="4: Constructor Init \n *n$1.c:int=0 [line 11, column 8]\n " shape="box"] - "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" ; -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_5" [label="5: Constructor Init \n n$3=*&this:X* [line 14, column 21]\n n$4=*&a:int [line 14, column 23]\n n$5=*&b:int [line 14, column 27]\n *n$3.a:int=(n$4 + n$5) [line 14, column 21]\n " shape="box"] + "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" ; +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_5" [label="5: Constructor Init \n n$2=*&this:X* [line 10, column 8]\n " shape="box"] - "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_5" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" ; + "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_5" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_6" ; +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_6" [label="6: Constructor Init \n *n$2.b:int=-2 [line 10, column 8]\n " shape="box"] + + + "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_6" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" ; +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_7" [label="7: Constructor Init \n n$3=*&this:X* [line 14, column 21]\n " shape="box"] + + + "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_7" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_8" ; +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_8" [label="8: Constructor Init \n n$4=*&a:int [line 14, column 23]\n n$5=*&b:int [line 14, column 27]\n *n$3.a:int=(n$4 + n$5) [line 14, column 21]\n " shape="box"] + + + "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_8" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_5" ; "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" [label="1: Start X::X\nFormals: this:X*\nLocals: \n " color=yellow style=filled] - "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_5" ; + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_1" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_7" ; "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" [label="2: Exit X::X \n " color=yellow style=filled] -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" [label="3: Constructor Init \n n$1=*&this:X* [line 11, column 8]\n *n$1.c:int=0 [line 11, column 8]\n " shape="box"] +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" [label="3: Constructor Init \n n$1=*&this:X* [line 11, column 8]\n " shape="box"] + + + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" [label="4: Constructor Init \n *n$1.c:int=0 [line 11, column 8]\n " shape="box"] + + + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_5" [label="5: Constructor Init \n n$2=*&this:X* [line 10, column 8]\n " shape="box"] + + + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_5" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_6" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_6" [label="6: Constructor Init \n *n$2.b:int=-2 [line 10, column 8]\n " shape="box"] - "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" [label="4: Constructor Init \n n$2=*&this:X* [line 10, column 8]\n *n$2.b:int=-2 [line 10, column 8]\n " shape="box"] + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_6" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_7" [label="7: Constructor Init \n n$3=*&this:X* [line 9, column 11]\n " shape="box"] - "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_5" [label="5: Constructor Init \n n$3=*&this:X* [line 9, column 11]\n *n$3.a:int=-1 [line 9, column 11]\n " shape="box"] + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_7" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_8" ; +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_8" [label="8: Constructor Init \n *n$3.a:int=-1 [line 9, column 11]\n " shape="box"] - "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_5" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" ; + "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_8" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_5" ; "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_1" [label="1: Start Y::Y\nFormals: this:Y*\nLocals: \n " color=yellow style=filled] - "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_1" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" ; + "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_1" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_7" ; "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_2" [label="2: Exit Y::Y \n " color=yellow style=filled] -"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" [label="3: Constructor Init \n n$1=*&this:Y* [line 17, column 8]\n n$2=_fun_X::X(n$1.x3:X*) [line 17, column 8]\n " shape="box"] +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" [label="3: Constructor Init \n n$1=*&this:Y* [line 17, column 8]\n " shape="box"] + + + "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" ; +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" [label="4: Constructor Init \n n$2=_fun_X::X(n$1.x3:X*) [line 17, column 8]\n " shape="box"] + + + "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_2" ; +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" [label="5: Constructor Init \n n$3=*&this:Y* [line 19, column 7]\n " shape="box"] + + + "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_6" ; +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_6" [label="6: Constructor Init \n n$4=_fun_X::X(n$3.x2:X*) [line 19, column 7]\n " shape="box"] - "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_2" ; -"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" [label="4: Constructor Init \n n$3=*&this:Y* [line 19, column 7]\n n$4=_fun_X::X(n$3.x2:X*) [line 19, column 7]\n " shape="box"] + "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_6" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" ; +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_7" [label="7: Constructor Init \n n$5=*&this:Y* [line 18, column 7]\n " shape="box"] - "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" ; -"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" [label="5: Constructor Init \n n$5=*&this:Y* [line 18, column 7]\n n$6=_fun_X::X(n$5.x1:X*,1:int,2:int) [line 18, column 7]\n " shape="box"] + "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_7" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_8" ; +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_8" [label="8: Constructor Init \n n$6=_fun_X::X(n$5.x1:X*,1:int,2:int) [line 18, column 7]\n " shape="box"] - "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" ; + "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_8" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot index 0abef6f6d..f4a042040 100644 --- a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot @@ -681,10 +681,14 @@ digraph cfg { "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_2" [label="2: Exit SomeStruct::SomeStruct \n " color=yellow style=filled] -"SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_3" [label="3: Constructor Init \n n$1=*&this:SomeStruct* [line 69, column 8]\n n$2=*&__param_0:SomeStruct const & [line 69, column 8]\n n$3=*n$2.f:int [line 69, column 8]\n *n$1.f:int=n$3 [line 69, column 8]\n " shape="box"] +"SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_3" [label="3: Constructor Init \n n$1=*&this:SomeStruct* [line 69, column 8]\n " shape="box"] - "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_3" -> "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_2" ; + "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_3" -> "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_4" ; +"SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_4" [label="4: Constructor Init \n n$2=*&__param_0:SomeStruct const & [line 69, column 8]\n n$3=*n$2.f:int [line 69, column 8]\n *n$1.f:int=n$3 [line 69, column 8]\n " shape="box"] + + + "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_4" -> "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_2" ; "SomeStruct#SomeStruct#{2573478938230069461}.1e11401e11e8aaa8f38010f41863587a_1" [label="1: Start SomeStruct::SomeStruct\nFormals: this:SomeStruct*\nLocals: \n " color=yellow style=filled] @@ -732,18 +736,26 @@ digraph cfg { "#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] - "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_1" -> "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_4" ; + "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_1" -> "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_5" ; "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_2" [label="2: Exit struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_3" [label="3: Constructor Init \n n$1=*&this:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12* [line 114, column 12]\n n$2=*&__param_0:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12& [line 114, column 12]\n n$3=_fun_SomeStruct::SomeStruct(n$1.__anon_field_1:SomeStruct*,n$2.__anon_field_1:SomeStruct&) [line 114, column 12]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_3" [label="3: Constructor Init \n n$1=*&this:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12* [line 114, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_3" -> "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_2" ; -"#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_4" [label="4: Constructor Init \n n$4=*&this:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12* [line 114, column 12]\n n$5=*&__param_0:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12& [line 114, column 12]\n n$6=_fun_SomeStruct::SomeStruct(n$4.__anon_field_0:SomeStruct*,n$5.__anon_field_0:SomeStruct&) [line 114, column 12]\n " shape="box"] + "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_3" -> "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_4" ; +"#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_4" [label="4: Constructor Init \n n$2=*&__param_0:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12& [line 114, column 12]\n n$3=_fun_SomeStruct::SomeStruct(n$1.__anon_field_1:SomeStruct*,n$2.__anon_field_1:SomeStruct&) [line 114, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_4" -> "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_3" ; + "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_4" -> "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_2" ; +"#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_5" [label="5: Constructor Init \n n$4=*&this:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12* [line 114, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_5" -> "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_6" ; +"#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_6" [label="6: Constructor Init \n n$5=*&__param_0:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12& [line 114, column 12]\n n$6=_fun_SomeStruct::SomeStruct(n$4.__anon_field_0:SomeStruct*,n$5.__anon_field_0:SomeStruct&) [line 114, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_6" -> "#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#{13645807577265137289|constexpr}.dba87605d9600d73831555b42c7a4abc_3" ; "__infer_inner_destructor_~#lambda_shared_lambda_lambda1.cpp:114:12#struct_capture_by_value#(11678491.545332b09abfd9c634eb359cdb55ab7a_1" [label="1: Start struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12::__infer_inner_destructor_~\nFormals: this:struct_capture_by_value::lambda_shared_lambda_lambda1.cpp:114:12*\nLocals: \n " color=yellow style=filled] @@ -788,18 +800,26 @@ digraph cfg { "#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] - "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_1" -> "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_4" ; + "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_1" -> "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_5" ; "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_2" [label="2: Exit struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_3" [label="3: Constructor Init \n n$1=*&this:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12* [line 121, column 12]\n n$2=*&__param_0:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12& [line 121, column 12]\n n$3=*n$2.__anon_field_1:SomeStruct& [line 121, column 12]\n *n$1.__anon_field_1:SomeStruct&=n$3 [line 121, column 12]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_3" [label="3: Constructor Init \n n$1=*&this:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12* [line 121, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_3" -> "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_4" ; +"#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_4" [label="4: Constructor Init \n n$2=*&__param_0:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12& [line 121, column 12]\n n$3=*n$2.__anon_field_1:SomeStruct& [line 121, column 12]\n *n$1.__anon_field_1:SomeStruct&=n$3 [line 121, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_3" -> "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_2" ; -"#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_4" [label="4: Constructor Init \n n$4=*&this:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12* [line 121, column 12]\n n$5=*&__param_0:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12& [line 121, column 12]\n n$6=*n$5.__anon_field_0:SomeStruct& [line 121, column 12]\n *n$4.__anon_field_0:SomeStruct&=n$6 [line 121, column 12]\n " shape="box"] + "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_4" -> "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_2" ; +"#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_5" [label="5: Constructor Init \n n$4=*&this:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12* [line 121, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_4" -> "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_3" ; + "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_5" -> "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_6" ; +"#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_6" [label="6: Constructor Init \n n$5=*&__param_0:struct_capture_by_ref::lambda_shared_lambda_lambda1.cpp:121:12& [line 121, column 12]\n n$6=*n$5.__anon_field_0:SomeStruct& [line 121, column 12]\n *n$4.__anon_field_0:SomeStruct&=n$6 [line 121, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_6" -> "#lambda_shared_lambda_lambda1.cpp:121:12#struct_capture_by_ref#{1974733024656549806|constexpr}.39e1512cd756edc92080d82b97a154c1_3" ; "operator()#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(6823593690086374986.1d7d285fdfd1a95971f481bea86bd0d2_1" [label="1: Start struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::operator()\nFormals: this:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12*\nLocals: \nCaptured: [by value]xlambda:SomeStruct& [by value]xreflambda:SomeStruct& \n " color=yellow style=filled] @@ -818,18 +838,26 @@ digraph cfg { "#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] - "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_1" -> "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_4" ; + "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_1" -> "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_5" ; "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_2" [label="2: Exit struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_3" [label="3: Constructor Init \n n$1=*&this:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12* [line 131, column 12]\n n$2=*&__param_0:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12& [line 131, column 12]\n n$3=_fun_SomeStruct::SomeStruct(n$1.__anon_field_1:SomeStruct*,n$2.__anon_field_1:SomeStruct&) [line 131, column 12]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_3" [label="3: Constructor Init \n n$1=*&this:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12* [line 131, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_3" -> "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_4" ; +"#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_4" [label="4: Constructor Init \n n$2=*&__param_0:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12& [line 131, column 12]\n n$3=_fun_SomeStruct::SomeStruct(n$1.__anon_field_1:SomeStruct*,n$2.__anon_field_1:SomeStruct&) [line 131, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_4" -> "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_2" ; +"#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_5" [label="5: Constructor Init \n n$4=*&this:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12* [line 131, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_3" -> "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_2" ; -"#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_4" [label="4: Constructor Init \n n$4=*&this:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12* [line 131, column 12]\n n$5=*&__param_0:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12& [line 131, column 12]\n n$6=_fun_SomeStruct::SomeStruct(n$4.__anon_field_0:SomeStruct*,n$5.__anon_field_0:SomeStruct&) [line 131, column 12]\n " shape="box"] + "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_5" -> "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_6" ; +"#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_6" [label="6: Constructor Init \n n$5=*&__param_0:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12& [line 131, column 12]\n n$6=_fun_SomeStruct::SomeStruct(n$4.__anon_field_0:SomeStruct*,n$5.__anon_field_0:SomeStruct&) [line 131, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_4" -> "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_3" ; + "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_6" -> "#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#{15789958879022209719|constexp.3555741fc1c429408aff0dd2c29de8a1_3" ; "__infer_inner_destructor_~#lambda_shared_lambda_lambda1.cpp:131:12#struct_init_capture_by_value#(690.18a0992c6f44dece1391733b4d2504dd_1" [label="1: Start struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12::__infer_inner_destructor_~\nFormals: this:struct_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:131:12*\nLocals: \n " color=yellow style=filled] @@ -874,18 +902,26 @@ digraph cfg { "#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] - "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_1" -> "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_4" ; + "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_1" -> "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_5" ; "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_2" [label="2: Exit struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_3" [label="3: Constructor Init \n n$1=*&this:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12* [line 140, column 12]\n n$2=*&__param_0:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12& [line 140, column 12]\n n$3=*n$2.__anon_field_1:SomeStruct& [line 140, column 12]\n *n$1.__anon_field_1:SomeStruct&=n$3 [line 140, column 12]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_3" [label="3: Constructor Init \n n$1=*&this:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12* [line 140, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_3" -> "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_4" ; +"#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_4" [label="4: Constructor Init \n n$2=*&__param_0:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12& [line 140, column 12]\n n$3=*n$2.__anon_field_1:SomeStruct& [line 140, column 12]\n *n$1.__anon_field_1:SomeStruct&=n$3 [line 140, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_4" -> "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_2" ; +"#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_5" [label="5: Constructor Init \n n$4=*&this:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12* [line 140, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_3" -> "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_2" ; -"#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_4" [label="4: Constructor Init \n n$4=*&this:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12* [line 140, column 12]\n n$5=*&__param_0:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12& [line 140, column 12]\n n$6=*n$5.__anon_field_0:SomeStruct& [line 140, column 12]\n *n$4.__anon_field_0:SomeStruct&=n$6 [line 140, column 12]\n " shape="box"] + "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_5" -> "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_6" ; +"#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_6" [label="6: Constructor Init \n n$5=*&__param_0:struct_init_capture_by_ref::lambda_shared_lambda_lambda1.cpp:140:12& [line 140, column 12]\n n$6=*n$5.__anon_field_0:SomeStruct& [line 140, column 12]\n *n$4.__anon_field_0:SomeStruct&=n$6 [line 140, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_4" -> "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_3" ; + "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_6" -> "#lambda_shared_lambda_lambda1.cpp:140:12#struct_init_capture_by_ref#{16372812745381643860|constexpr}.7a71c7a8c4c589c871bec44759f66533_3" ; "operator()#lambda_shared_lambda_lambda1.cpp:17:17#foo#(10761403337571939980).fc34b2fdd4414d044515387308a2caa2_1" [label="1: Start foo::lambda_shared_lambda_lambda1.cpp:17:17::operator()\nFormals: this:foo::lambda_shared_lambda_lambda1.cpp:17:17*\nLocals: \n " color=yellow style=filled] @@ -1026,10 +1062,14 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_2" [label="2: Exit Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19* [line 51, column 19]\n n$2=*&__param_0:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19& [line 51, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 51, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 51, column 19]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19* [line 51, column 19]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" -> "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_4" ; +"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_4" [label="4: Constructor Init \n n$2=*&__param_0:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19& [line 51, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 51, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 51, column 19]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" -> "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_2" ; + "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_4" -> "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#(11891233366713773989).2f1caaa7509ffca98027857cb192891f_1" [label="1: Start Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::operator()\nFormals: this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*\nLocals: \nCaptured: [by value]this:Capture* \n " color=yellow style=filled] @@ -1044,10 +1084,14 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_2" [label="2: Exit Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19* [line 55, column 19]\n n$2=*&__param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19& [line 55, column 19]\n n$3=_fun_Capture::Capture(n$1.__anon_field_0:Capture*,n$2.__anon_field_0:Capture&) [line 55, column 19]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19* [line 55, column 19]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" -> "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_4" ; +"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_4" [label="4: Constructor Init \n n$2=*&__param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19& [line 55, column 19]\n n$3=_fun_Capture::Capture(n$1.__anon_field_0:Capture*,n$2.__anon_field_0:Capture&) [line 55, column 19]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" -> "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_2" ; + "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_4" -> "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_1" [label="1: Start Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::operator()\nFormals: this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*\nLocals: \nCaptured: [by ref]this:Capture* \n " color=yellow style=filled] @@ -1070,10 +1114,14 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_2" [label="2: Exit Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19* [line 61, column 19]\n n$2=*&__param_0:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19& [line 61, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 61, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 61, column 19]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19* [line 61, column 19]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" -> "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_2" ; + "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" -> "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_4" ; +"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_4" [label="4: Constructor Init \n n$2=*&__param_0:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19& [line 61, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 61, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 61, column 19]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_4" -> "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_1" [label="1: Start Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::operator()\nFormals: this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*\nLocals: \nCaptured: [by ref]this:Capture* \n " color=yellow style=filled] @@ -1096,10 +1144,14 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_2" [label="2: Exit Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19* [line 65, column 19]\n n$2=*&__param_0:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19& [line 65, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 65, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 65, column 19]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19* [line 65, column 19]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" -> "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_4" ; +"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_4" [label="4: Constructor Init \n n$2=*&__param_0:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19& [line 65, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 65, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 65, column 19]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" -> "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_2" ; + "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_4" -> "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_1" [label="1: Start struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator()\nFormals: this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*\nLocals: \nCaptured: [by value]x:SomeStruct& [by value]y:SomeStruct& \n " color=yellow style=filled] @@ -1118,18 +1170,26 @@ digraph cfg { "#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] - "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_1" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_4" ; + "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_1" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_5" ; "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_2" [label="2: Exit struct_capture::lambda_shared_lambda_lambda1.cpp:77:12:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" [label="3: Constructor Init \n n$1=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n n$2=*&__param_0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12& [line 77, column 12]\n n$3=_fun_SomeStruct::SomeStruct(n$1.__anon_field_1:SomeStruct*,n$2.__anon_field_1:SomeStruct&) [line 77, column 12]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" [label="3: Constructor Init \n n$1=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_2" ; -"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_4" [label="4: Constructor Init \n n$4=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n n$5=*&__param_0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12& [line 77, column 12]\n n$6=_fun_SomeStruct::SomeStruct(n$4.__anon_field_0:SomeStruct*,n$5.__anon_field_0:SomeStruct&) [line 77, column 12]\n " shape="box"] + "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_4" ; +"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_4" [label="4: Constructor Init \n n$2=*&__param_0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12& [line 77, column 12]\n n$3=_fun_SomeStruct::SomeStruct(n$1.__anon_field_1:SomeStruct*,n$2.__anon_field_1:SomeStruct&) [line 77, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_4" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" ; + "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_4" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_2" ; +"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_5" [label="5: Constructor Init \n n$4=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_5" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_6" ; +"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_6" [label="6: Constructor Init \n n$5=*&__param_0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12& [line 77, column 12]\n n$6=_fun_SomeStruct::SomeStruct(n$4.__anon_field_0:SomeStruct*,n$5.__anon_field_0:SomeStruct&) [line 77, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_6" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" ; "__infer_inner_destructor_~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(138105074354565016.e6c800e9d586d901864d79972d303d01_1" [label="1: Start struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::__infer_inner_destructor_~\nFormals: this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*\nLocals: \n " color=yellow style=filled] @@ -1174,10 +1234,14 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_2" [label="2: Exit ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_3" [label="3: Constructor Init \n n$1=*&this:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12* [line 84, column 12]\n n$2=*&__param_0:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12& [line 84, column 12]\n n$3=*n$2.__anon_field_0:int [line 84, column 12]\n *n$1.__anon_field_0:int=n$3 [line 84, column 12]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_3" [label="3: Constructor Init \n n$1=*&this:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12* [line 84, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_3" -> "#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_2" ; + "#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_3" -> "#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_4" ; +"#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_4" [label="4: Constructor Init \n n$2=*&__param_0:ref_capture_by_value::lambda_shared_lambda_lambda1.cpp:84:12& [line 84, column 12]\n n$3=*n$2.__anon_field_0:int [line 84, column 12]\n *n$1.__anon_field_0:int=n$3 [line 84, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_4" -> "#lambda_shared_lambda_lambda1.cpp:84:12#ref_capture_by_value#{9636873517431573150|constexpr}.6335158802ad0302cb9055e0cf24540f_2" ; "operator()#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#(9014001382350406746).a424a73ac953b9703b7563c75705009f_1" [label="1: Start ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12::operator()\nFormals: this:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12*\nLocals: \nCaptured: [by value]xlambda:int \n " color=yellow style=filled] @@ -1200,10 +1264,14 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_2" [label="2: Exit ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_3" [label="3: Constructor Init \n n$1=*&this:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12* [line 92, column 12]\n n$2=*&__param_0:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12& [line 92, column 12]\n n$3=*n$2.__anon_field_0:int [line 92, column 12]\n *n$1.__anon_field_0:int=n$3 [line 92, column 12]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_3" [label="3: Constructor Init \n n$1=*&this:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12* [line 92, column 12]\n " shape="box"] + + + "#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_3" -> "#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_4" ; +"#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_4" [label="4: Constructor Init \n n$2=*&__param_0:ref_init_capture_by_value::lambda_shared_lambda_lambda1.cpp:92:12& [line 92, column 12]\n n$3=*n$2.__anon_field_0:int [line 92, column 12]\n *n$1.__anon_field_0:int=n$3 [line 92, column 12]\n " shape="box"] - "#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_3" -> "#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_2" ; + "#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_4" -> "#lambda_shared_lambda_lambda1.cpp:92:12#ref_init_capture_by_value#{4804792769364157561|constexpr}.9f4f510fa978966a53da904e9d3ffd6b_2" ; "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] diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot index 03ea89237..9059e6f31 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot @@ -270,16 +270,24 @@ digraph cfg { "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_1" [label="1: Start pass_by_val::PlainStruct::PlainStruct\nFormals: this:pass_by_val::PlainStruct* __param_0:pass_by_val::PlainStruct const &\nLocals: \n " color=yellow style=filled] - "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_1" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" ; + "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_1" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_5" ; "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_2" [label="2: Exit pass_by_val::PlainStruct::PlainStruct \n " color=yellow style=filled] -"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" [label="3: Constructor Init \n n$1=*&this:pass_by_val::PlainStruct* [line 11, column 8]\n n$2=*&__param_0:pass_by_val::PlainStruct const & [line 11, column 8]\n n$3=*n$2.y:int* [line 11, column 8]\n *n$1.y:int*=n$3 [line 11, column 8]\n " shape="box"] +"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" [label="3: Constructor Init \n n$1=*&this:pass_by_val::PlainStruct* [line 11, column 8]\n " shape="box"] - "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_2" ; -"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" [label="4: Constructor Init \n n$4=*&this:pass_by_val::PlainStruct* [line 11, column 8]\n n$5=*&__param_0:pass_by_val::PlainStruct const & [line 11, column 8]\n n$6=*n$5.x:int [line 11, column 8]\n *n$4.x:int=n$6 [line 11, column 8]\n " shape="box"] + "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" ; +"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" [label="4: Constructor Init \n n$2=*&__param_0:pass_by_val::PlainStruct const & [line 11, column 8]\n n$3=*n$2.y:int* [line 11, column 8]\n *n$1.y:int*=n$3 [line 11, column 8]\n " shape="box"] - "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" ; + "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_2" ; +"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_5" [label="5: Constructor Init \n n$4=*&this:pass_by_val::PlainStruct* [line 11, column 8]\n " shape="box"] + + + "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_5" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_6" ; +"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_6" [label="6: Constructor Init \n n$5=*&__param_0:pass_by_val::PlainStruct const & [line 11, column 8]\n n$6=*n$5.x:int [line 11, column 8]\n *n$4.x:int=n$6 [line 11, column 8]\n " shape="box"] + + + "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_6" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot index f5f67e712..5b44680df 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot @@ -57,10 +57,14 @@ digraph cfg { "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_2" [label="2: Exit X::X \n " color=yellow style=filled] -"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" [label="3: Constructor Init \n n$1=*&this:X* [line 8, column 8]\n n$2=*&__param_0:X& [line 8, column 8]\n n$3=*n$2.f:int [line 8, column 8]\n *n$1.f:int=n$3 [line 8, column 8]\n " shape="box"] +"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" [label="3: Constructor Init \n n$1=*&this:X* [line 8, column 8]\n " shape="box"] - "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" -> "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_2" ; + "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" -> "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_4" ; +"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_4" [label="4: Constructor Init \n n$2=*&__param_0:X& [line 8, column 8]\n n$3=*n$2.f:int [line 8, column 8]\n *n$1.f:int=n$3 [line 8, column 8]\n " shape="box"] + + + "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_4" -> "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_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/methods/virtual_methods.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot index 08e1e3f3e..f0e3b0dcb 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot @@ -194,10 +194,14 @@ digraph cfg { "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" [label="2: Exit Rectangle::Rectangle \n " color=yellow style=filled] -"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" [label="3: Constructor Init \n n$1=*&this:Rectangle* [line 21, column 7]\n n$2=_fun_Polygon::Polygon(n$1:Rectangle*) [line 21, column 7]\n " shape="box"] +"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" [label="3: Constructor Init \n n$1=*&this:Rectangle* [line 21, column 7]\n " shape="box"] - "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" -> "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" ; + "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" -> "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_4" ; +"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_4" [label="4: Constructor Init \n n$2=_fun_Polygon::Polygon(n$1:Rectangle*) [line 21, column 7]\n " shape="box"] + + + "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_4" -> "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" ; "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_1" [label="1: Start Triangle::area\nFormals: this:Triangle*\nLocals: x:int \n " color=yellow style=filled] @@ -224,10 +228,14 @@ digraph cfg { "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" [label="2: Exit Triangle::Triangle \n " color=yellow style=filled] -"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" [label="3: Constructor Init \n n$1=*&this:Triangle* [line 27, column 7]\n n$2=_fun_Polygon::Polygon(n$1:Triangle*) [line 27, column 7]\n " shape="box"] +"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" [label="3: Constructor Init \n n$1=*&this:Triangle* [line 27, column 7]\n " shape="box"] + + + "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" -> "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_4" ; +"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_4" [label="4: Constructor Init \n n$2=_fun_Polygon::Polygon(n$1:Triangle*) [line 27, column 7]\n " shape="box"] - "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" -> "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" ; + "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_4" -> "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" ; "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_1" [label="1: Start Triangle::__infer_inner_destructor_~Triangle\nFormals: this:Triangle*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot index 018948878..d0efaab5d 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot @@ -22,18 +22,26 @@ digraph cfg { "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_1" [label="1: Start List::List\nFormals: this:List* next_ptr:void\nLocals: \n " color=yellow style=filled] - "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_1" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_4" ; + "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_1" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_5" ; "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_2" [label="2: Exit List::List \n " color=yellow style=filled] -"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" [label="3: Constructor Init \n n$1=*&this:List* [line 14, column 42]\n n$2=*&next_ptr:void [line 14, column 51]\n *n$1.next_ptr:void=n$2 [line 14, column 42]\n " shape="box"] +"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" [label="3: Constructor Init \n n$1=*&this:List* [line 14, column 42]\n " shape="box"] - "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_2" ; -"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_4" [label="4: Constructor Init \n n$3=*&this:List* [line 14, column 27]\n *n$3.head:item*=null [line 14, column 27]\n " shape="box"] + "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_4" ; +"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_4" [label="4: Constructor Init \n n$2=*&next_ptr:void [line 14, column 51]\n *n$1.next_ptr:void=n$2 [line 14, column 42]\n " shape="box"] - "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_4" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" ; + "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_4" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_2" ; +"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_5" [label="5: Constructor Init \n n$3=*&this:List* [line 14, column 27]\n " shape="box"] + + + "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_5" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_6" ; +"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_6" [label="6: Constructor Init \n *n$3.head:item*=null [line 14, column 27]\n " shape="box"] + + + "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_6" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" ; "item#item#{8704603758565933158}.444c1f007931991a5b2dfd25b7b090f5_1" [label="1: Start item::item\nFormals: this:item*\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 ec2b78a17..1ef1be37d 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot @@ -405,18 +405,26 @@ digraph cfg { "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] - "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_1" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" ; + "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_1" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_5" ; "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_2" [label="2: Exit reference_field::Ptr::Ptr \n " color=yellow style=filled] -"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Ptr* [line 32, column 24]\n n$2=*&this:reference_field::Ptr* [line 32, column 27]\n n$3=*n$2.x:reference_field::X* [line 32, column 27]\n *n$1.i:int*=n$3.f [line 32, column 24]\n " shape="box"] +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Ptr* [line 32, column 24]\n " shape="box"] - "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_2" ; -"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" [label="4: Constructor Init \n n$4=*&this:reference_field::Ptr* [line 32, column 16]\n n$5=*&r_:reference_field::X& [line 32, column 19]\n *n$4.x:reference_field::X*=n$5 [line 32, column 16]\n " shape="box"] + "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" ; +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" [label="4: Constructor Init \n n$2=*&this:reference_field::Ptr* [line 32, column 27]\n n$3=*n$2.x:reference_field::X* [line 32, column 27]\n *n$1.i:int*=n$3.f [line 32, column 24]\n " shape="box"] - "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" ; + "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_2" ; +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_5" [label="5: Constructor Init \n n$4=*&this:reference_field::Ptr* [line 32, column 16]\n " shape="box"] + + + "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_5" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_6" ; +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_6" [label="6: Constructor Init \n n$5=*&r_:reference_field::X& [line 32, column 19]\n *n$4.x:reference_field::X*=n$5 [line 32, column 16]\n " shape="box"] + + + "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_6" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" ; "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_1" [label="1: Start reference_field::Ref::getI\nFormals: this:reference_field::Ref*\nLocals: \n " color=yellow style=filled] @@ -450,18 +458,26 @@ digraph cfg { "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] - "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_1" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" ; + "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_1" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_5" ; "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_2" [label="2: Exit reference_field::Ref::Ref \n " color=yellow style=filled] -"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Ref* [line 24, column 23]\n n$2=*&this:reference_field::Ref* [line 24, column 25]\n n$3=*n$2.x:reference_field::X& [line 24, column 25]\n *n$1.i:int&=n$3.f [line 24, column 23]\n " shape="box"] +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Ref* [line 24, column 23]\n " shape="box"] + + + "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" ; +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" [label="4: Constructor Init \n n$2=*&this:reference_field::Ref* [line 24, column 25]\n n$3=*n$2.x:reference_field::X& [line 24, column 25]\n *n$1.i:int&=n$3.f [line 24, column 23]\n " shape="box"] + + + "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_2" ; +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_5" [label="5: Constructor Init \n n$4=*&this:reference_field::Ref* [line 24, column 16]\n " shape="box"] - "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_2" ; -"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" [label="4: Constructor Init \n n$4=*&this:reference_field::Ref* [line 24, column 16]\n n$5=*&r_:reference_field::X& [line 24, column 18]\n *n$4.x:reference_field::X&=n$5 [line 24, column 16]\n " shape="box"] + "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_5" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_6" ; +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_6" [label="6: Constructor Init \n n$5=*&r_:reference_field::X& [line 24, column 18]\n *n$4.x:reference_field::X&=n$5 [line 24, column 16]\n " shape="box"] - "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" ; + "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_6" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" ; "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_1" [label="1: Start reference_field::Val::getI\nFormals: this:reference_field::Val*\nLocals: \n " color=yellow style=filled] @@ -495,18 +511,26 @@ digraph cfg { "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] - "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_1" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" ; + "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_1" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_5" ; "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" [label="2: Exit reference_field::Val::Val \n " color=yellow style=filled] -"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Val* [line 40, column 23]\n n$2=*&this:reference_field::Val* [line 40, column 25]\n n$3=*n$2.x.f:int [line 40, column 25]\n *n$1.i:int=n$3 [line 40, column 23]\n " shape="box"] +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Val* [line 40, column 23]\n " shape="box"] + + + "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" ; +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" [label="4: Constructor Init \n n$2=*&this:reference_field::Val* [line 40, column 25]\n n$3=*n$2.x.f:int [line 40, column 25]\n *n$1.i:int=n$3 [line 40, column 23]\n " shape="box"] - "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" ; -"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" [label="4: Constructor Init \n n$4=*&this:reference_field::Val* [line 40, column 16]\n n$5=*&r_:reference_field::X& [line 40, column 18]\n n$6=_fun_reference_field::X::X(n$4.x:reference_field::X*,n$5:reference_field::X&) [line 40, column 16]\n " shape="box"] + "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" ; +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_5" [label="5: Constructor Init \n n$4=*&this:reference_field::Val* [line 40, column 16]\n " shape="box"] - "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" ; + "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_5" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_6" ; +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_6" [label="6: Constructor Init \n n$5=*&r_:reference_field::X& [line 40, column 18]\n n$6=_fun_reference_field::X::X(n$4.x:reference_field::X*,n$5:reference_field::X&) [line 40, column 16]\n " shape="box"] + + + "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_6" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" ; "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_1" [label="1: Start reference_field::X::X\nFormals: this:reference_field::X* __param_0:reference_field::X const &\nLocals: \n " color=yellow style=filled] @@ -514,10 +538,14 @@ digraph cfg { "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_2" [label="2: Exit reference_field::X::X \n " color=yellow style=filled] -"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" [label="3: Constructor Init \n n$1=*&this:reference_field::X* [line 10, column 8]\n n$2=*&__param_0:reference_field::X const & [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n " shape="box"] +"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" [label="3: Constructor Init \n n$1=*&this:reference_field::X* [line 10, column 8]\n " shape="box"] + + + "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" -> "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_4" ; +"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_4" [label="4: Constructor Init \n n$2=*&__param_0:reference_field::X const & [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n " shape="box"] - "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" -> "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_2" ; + "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_4" -> "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_2" ; "X#X#reference_field#{2751762285772383996}.b7c8700d1b15a5db2c677bfc2eb37a5f_1" [label="1: Start reference_field::X::X\nFormals: this:reference_field::X*\nLocals: \n " color=yellow style=filled] diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot index 474d416c7..feffbcf03 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot @@ -70,10 +70,14 @@ digraph cfg { "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" [label="2: Exit class_specialization::Derived::Derived \n " color=yellow style=filled] -"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" [label="3: Constructor Init \n n$1=*&this:class_specialization::Derived* [line 20, column 8]\n n$2=_fun_class_specialization::Base::Base(n$1:class_specialization::Derived*) [line 20, column 8]\n " shape="box"] +"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" [label="3: Constructor Init \n n$1=*&this:class_specialization::Derived* [line 20, column 8]\n " shape="box"] - "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" -> "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" ; + "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" -> "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_4" ; +"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_4" [label="4: Constructor Init \n n$2=_fun_class_specialization::Base::Base(n$1:class_specialization::Derived*) [line 20, column 8]\n " shape="box"] + + + "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_4" -> "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" ; "foo#Derived#class_specialization#(3691368771332090182).157c4cba925bdfdc131986d2b52af05d_1" [label="1: Start class_specialization::Derived::foo\nFormals: this:class_specialization::Derived* t:int\nLocals: \n " color=yellow style=filled] @@ -92,8 +96,12 @@ digraph cfg { "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" [label="2: Exit class_specialization::Derived::Derived \n " color=yellow style=filled] -"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" [label="3: Constructor Init \n n$1=*&this:class_specialization::Derived* [line 15, column 8]\n n$2=_fun_class_specialization::Base::Base(n$1:class_specialization::Derived*) [line 15, column 8]\n " shape="box"] +"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" [label="3: Constructor Init \n n$1=*&this:class_specialization::Derived* [line 15, column 8]\n " shape="box"] + + + "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" -> "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_4" ; +"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_4" [label="4: Constructor Init \n n$2=_fun_class_specialization::Base::Base(n$1:class_specialization::Derived*) [line 15, column 8]\n " shape="box"] - "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" -> "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" ; + "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_4" -> "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot index 5c247c491..871548840 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot @@ -126,8 +126,12 @@ digraph cfg { "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" [label="2: Exit Sub::Sub \n " color=yellow style=filled] -"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" [label="3: Constructor Init \n n$1=*&this:Sub* [line 14, column 7]\n n$2=_fun_Base::Base(n$1:Sub*) [line 14, column 7]\n " shape="box"] +"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" [label="3: Constructor Init \n n$1=*&this:Sub* [line 14, column 7]\n " shape="box"] - "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" -> "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" ; + "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" -> "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_4" ; +"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_4" [label="4: Constructor Init \n n$2=_fun_Base::Base(n$1:Sub*) [line 14, column 7]\n " shape="box"] + + + "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_4" -> "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot index acaad7854..32386b1bb 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot @@ -152,10 +152,14 @@ digraph cfg { "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_2" [label="2: Exit inheritance_casts::A::A \n " color=yellow style=filled] -"A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::A* [line 8, column 8]\n n$2=*&__param_0:inheritance_casts::A& [line 8, column 8]\n n$3=*n$2.f:int [line 8, column 8]\n *n$1.f:int=n$3 [line 8, column 8]\n " shape="box"] +"A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::A* [line 8, column 8]\n " shape="box"] - "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_3" -> "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_2" ; + "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_3" -> "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_4" ; +"A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_4" [label="4: Constructor Init \n n$2=*&__param_0:inheritance_casts::A& [line 8, column 8]\n n$3=*n$2.f:int [line 8, column 8]\n *n$1.f:int=n$3 [line 8, column 8]\n " shape="box"] + + + "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_4" -> "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_2" ; "A#A#inheritance_casts#{6737151014147281904}.09f433918891d7b3e607a370cf5bfca4_1" [label="1: Start inheritance_casts::A::A\nFormals: this:inheritance_casts::A*\nLocals: \n " color=yellow style=filled] @@ -170,10 +174,14 @@ digraph cfg { "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_2" [label="2: Exit inheritance_casts::B::B \n " color=yellow style=filled] -"B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::B* [line 11, column 8]\n n$2=*&__param_0:inheritance_casts::B& [line 11, column 8]\n n$3=_fun_inheritance_casts::A::A(n$1:inheritance_casts::B*,n$2:inheritance_casts::B&) [line 11, column 8]\n " shape="box"] +"B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::B* [line 11, column 8]\n " shape="box"] + + + "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" -> "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_4" ; +"B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_4" [label="4: Constructor Init \n n$2=*&__param_0:inheritance_casts::B& [line 11, column 8]\n n$3=_fun_inheritance_casts::A::A(n$1:inheritance_casts::B*,n$2:inheritance_casts::B&) [line 11, column 8]\n " shape="box"] - "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" -> "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_2" ; + "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_4" -> "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_2" ; "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_1" [label="1: Start inheritance_casts::B::B\nFormals: this:inheritance_casts::B*\nLocals: \n " color=yellow style=filled] @@ -181,8 +189,12 @@ digraph cfg { "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_2" [label="2: Exit inheritance_casts::B::B \n " color=yellow style=filled] -"B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::B* [line 11, column 8]\n n$2=_fun_inheritance_casts::A::A(n$1:inheritance_casts::B*) [line 11, column 8]\n " shape="box"] +"B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::B* [line 11, column 8]\n " shape="box"] + + + "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" -> "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_4" ; +"B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_4" [label="4: Constructor Init \n n$2=_fun_inheritance_casts::A::A(n$1:inheritance_casts::B*) [line 11, column 8]\n " shape="box"] - "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" -> "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_2" ; + "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_4" -> "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_2" ; } diff --git a/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot index 2702eb22e..e3cfa5b91 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 @@ -178,10 +178,14 @@ digraph cfg { "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_2" [label="2: Exit struct_pass_by_value::X::X \n " color=yellow style=filled] -"X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 12, column 14]\n n$2=*&f:int [line 12, column 16]\n *n$1.f:int=n$2 [line 12, column 14]\n " shape="box"] +"X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 12, column 14]\n " shape="box"] - "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_3" -> "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_2" ; + "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_3" -> "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_4" ; +"X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_4" [label="4: Constructor Init \n n$2=*&f:int [line 12, column 16]\n *n$1.f:int=n$2 [line 12, column 14]\n " shape="box"] + + + "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_4" -> "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_2" ; "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_1" [label="1: Start struct_pass_by_value::X::X\nFormals: this:struct_pass_by_value::X* __param_0:struct_pass_by_value::X&\nLocals: \n " color=yellow style=filled] @@ -189,10 +193,14 @@ digraph cfg { "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_2" [label="2: Exit struct_pass_by_value::X::X \n " color=yellow style=filled] -"X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 10, column 8]\n n$2=*&__param_0:struct_pass_by_value::X& [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n " shape="box"] +"X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 10, column 8]\n " shape="box"] + + + "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_3" -> "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_4" ; +"X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_4" [label="4: Constructor Init \n n$2=*&__param_0:struct_pass_by_value::X& [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n " shape="box"] - "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_3" -> "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_2" ; + "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_4" -> "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_2" ; "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_1" [label="1: Start struct_pass_by_value::X::X\nFormals: this:struct_pass_by_value::X* __param_0:struct_pass_by_value::X const &\nLocals: \n " color=yellow style=filled] @@ -200,10 +208,14 @@ digraph cfg { "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_2" [label="2: Exit struct_pass_by_value::X::X \n " color=yellow style=filled] -"X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 10, column 8]\n n$2=*&__param_0:struct_pass_by_value::X const & [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n " shape="box"] +"X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 10, column 8]\n " shape="box"] - "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_3" -> "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_2" ; + "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_3" -> "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_4" ; +"X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_4" [label="4: Constructor Init \n n$2=*&__param_0:struct_pass_by_value::X const & [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n " shape="box"] + + + "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_4" -> "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_2" ; "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_1" [label="1: Start struct_pass_by_value::Y::Y\nFormals: this:struct_pass_by_value::Y* x:struct_pass_by_value::X const &\nLocals: \n " color=yellow style=filled] @@ -211,8 +223,12 @@ digraph cfg { "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_2" [label="2: Exit struct_pass_by_value::Y::Y \n " color=yellow style=filled] -"Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::Y* [line 16, column 19]\n n$2=*&x:struct_pass_by_value::X const & [line 16, column 21]\n n$3=_fun_struct_pass_by_value::X::X(n$1.x:struct_pass_by_value::X*,n$2:struct_pass_by_value::X const &) [line 16, column 19]\n " shape="box"] +"Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::Y* [line 16, column 19]\n " shape="box"] + + + "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" -> "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_4" ; +"Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_4" [label="4: Constructor Init \n n$2=*&x:struct_pass_by_value::X const & [line 16, column 21]\n n$3=_fun_struct_pass_by_value::X::X(n$1.x:struct_pass_by_value::X*,n$2:struct_pass_by_value::X const &) [line 16, column 19]\n " shape="box"] - "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" -> "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_2" ; + "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_4" -> "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_2" ; } 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 8c5c204b7..25cb14e03 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 @@ -33,20 +33,32 @@ digraph cfg { "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_1" [label="1: Start Fields::\nFormals: this:Fields* __param_0:Fields const &\nLocals: \n " color=yellow style=filled] - "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_1" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_5" ; + "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_1" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_7" ; "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_2" [label="2: Exit Fields:: \n " color=yellow style=filled] -"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" [label="3: Constructor Init \n n$1=*&this:Fields* [line 8, column 9]\n n$2=*&__param_0:Fields const & [line 8, column 9]\n n$3=*n$2.field3:float [line 8, column 9]\n *n$1.field3:float=n$3 [line 8, column 9]\n " shape="box"] +"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" [label="3: Constructor Init \n n$1=*&this:Fields* [line 8, column 9]\n " shape="box"] - "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_2" ; -"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" [label="4: Constructor Init \n n$4=*&this:Fields* [line 8, column 9]\n n$5=*&__param_0:Fields const & [line 8, column 9]\n n$6=*n$5.field2:float [line 8, column 9]\n *n$4.field2:float=n$6 [line 8, column 9]\n " shape="box"] + "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" ; +"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" [label="4: Constructor Init \n n$2=*&__param_0:Fields const & [line 8, column 9]\n n$3=*n$2.field3:float [line 8, column 9]\n *n$1.field3:float=n$3 [line 8, column 9]\n " shape="box"] - "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" ; -"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_5" [label="5: Constructor Init \n n$7=*&this:Fields* [line 8, column 9]\n n$8=*&__param_0:Fields const & [line 8, column 9]\n n$9=*n$8.field1:float [line 8, column 9]\n *n$7.field1:float=n$9 [line 8, column 9]\n " shape="box"] + "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_2" ; +"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_5" [label="5: Constructor Init \n n$4=*&this:Fields* [line 8, column 9]\n " shape="box"] - "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_5" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" ; + "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_5" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_6" ; +"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_6" [label="6: Constructor Init \n n$5=*&__param_0:Fields const & [line 8, column 9]\n n$6=*n$5.field2:float [line 8, column 9]\n *n$4.field2:float=n$6 [line 8, column 9]\n " shape="box"] + + + "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_6" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" ; +"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_7" [label="7: Constructor Init \n n$7=*&this:Fields* [line 8, column 9]\n " shape="box"] + + + "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_7" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_8" ; +"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_8" [label="8: Constructor Init \n n$8=*&__param_0:Fields const & [line 8, column 9]\n n$9=*n$8.field1:float [line 8, column 9]\n *n$7.field1:float=n$9 [line 8, column 9]\n " shape="box"] + + + "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_8" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_5" ; }