[clang frontend] placement new

Summary:
This diff fixes the translation of `new` and `placement new` with one argument. If `placement new` has more than one argument it means that it is user-defined (this will be addressed in another diff).

update-submodule: facebook-clang-plugins

Reviewed By: sblackshear, mbouaziz

Differential Revision: D6807751

fbshipit-source-id: 7cf0290
master
Daiva Naudziuniene 7 years ago committed by Facebook Github Bot
parent db078459b4
commit ec263afe58

@ -1 +1 @@
Subproject commit bda48308b880a006a36fb0576b0245d781e88625 Subproject commit 8d4673e1dac75a63b032f367256e74fad919fbdd

@ -20,6 +20,8 @@ val get_decl : Clang_ast_t.pointer -> Clang_ast_t.decl option
val get_decl_opt : Clang_ast_t.pointer option -> Clang_ast_t.decl option val get_decl_opt : Clang_ast_t.pointer option -> Clang_ast_t.decl option
val get_stmt : Clang_ast_t.pointer -> Clang_ast_t.stmt option
val get_stmt_opt : Clang_ast_t.pointer option -> Clang_ast_t.stmt option val get_stmt_opt : Clang_ast_t.pointer option -> Clang_ast_t.stmt option
val get_decl_opt_with_decl_ref : Clang_ast_t.decl_ref option -> Clang_ast_t.decl option val get_decl_opt_with_decl_ref : Clang_ast_t.decl_ref option -> Clang_ast_t.decl option

@ -2666,8 +2666,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s
{final_trans_result with exps= [(closure, typ)]} {final_trans_result with exps= [(closure, typ)]}
and cxxNewExpr_trans trans_state stmt_info stmt_list expr_info cxx_new_expr_info = and cxxNewExpr_trans trans_state stmt_info expr_info cxx_new_expr_info =
let instructions_trans_result = instructions trans_state stmt_list in
let context = trans_state.context in let context = trans_state.context in
let typ = CType_decl.get_type_from_expr_info expr_info context.tenv in let typ = CType_decl.get_type_from_expr_info expr_info context.tenv in
let sil_loc = CLocation.get_sil_location stmt_info context in let sil_loc = CLocation.get_sil_location stmt_info context in
@ -2689,7 +2688,12 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s
(Some (Exp.Const (Const.Cint IntLit.minus_one)), empty_res_trans) (Some (Exp.Const (Const.Cint IntLit.minus_one)), empty_res_trans)
else (None, empty_res_trans) else (None, empty_res_trans)
in in
let res_trans_new = cpp_new_trans sil_loc typ size_exp_opt in let placement_args =
List.filter_map ~f:CAst_utils.get_stmt cxx_new_expr_info.Clang_ast_t.xnei_placement_args
in
let trans_state_placement = {trans_state_pri with succ_nodes= []} in
let res_trans_placement = instructions trans_state_placement placement_args in
let res_trans_new = cpp_new_trans sil_loc typ size_exp_opt res_trans_placement.exps in
let stmt_opt = CAst_utils.get_stmt_opt cxx_new_expr_info.Clang_ast_t.xnei_initializer_expr in let stmt_opt = CAst_utils.get_stmt_opt cxx_new_expr_info.Clang_ast_t.xnei_initializer_expr in
let trans_state_init = {trans_state_pri with succ_nodes= []} in let trans_state_init = {trans_state_pri with succ_nodes= []} in
let var_exp_typ = let var_exp_typ =
@ -2728,13 +2732,12 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s
| _ -> | _ ->
[init_expr_trans trans_state_init var_exp_typ init_stmt_info stmt_opt] [init_expr_trans trans_state_init var_exp_typ init_stmt_info stmt_opt]
in in
let all_res_trans = [res_trans_size; res_trans_new] @ res_trans_init in let all_res_trans = [res_trans_size; res_trans_placement; res_trans_new] @ res_trans_init in
let nname = "CXXNewExpr" in let nname = "CXXNewExpr" in
let result_trans_to_parent = let result_trans_to_parent =
PriorityNode.compute_results_to_parent trans_state_pri sil_loc nname stmt_info all_res_trans PriorityNode.compute_results_to_parent trans_state_pri sil_loc nname stmt_info all_res_trans
in in
collect_res_trans context.CContext.procdesc {result_trans_to_parent with exps= res_trans_new.exps}
[instructions_trans_result; {result_trans_to_parent with exps= res_trans_new.exps}]
and cxxDeleteExpr_trans trans_state stmt_info stmt_list delete_expr_info = and cxxDeleteExpr_trans trans_state stmt_info stmt_list delete_expr_info =
@ -3179,8 +3182,8 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s
stringLiteral_trans trans_state expr_info "" stringLiteral_trans trans_state expr_info ""
| BinaryConditionalOperator (stmt_info, stmts, expr_info) -> | BinaryConditionalOperator (stmt_info, stmts, expr_info) ->
binaryConditionalOperator_trans trans_state stmt_info stmts expr_info binaryConditionalOperator_trans trans_state stmt_info stmts expr_info
| CXXNewExpr (stmt_info, stmt_list, expr_info, cxx_new_expr_info) -> | CXXNewExpr (stmt_info, _, expr_info, cxx_new_expr_info) ->
cxxNewExpr_trans trans_state stmt_info stmt_list expr_info cxx_new_expr_info cxxNewExpr_trans trans_state stmt_info expr_info cxx_new_expr_info
| CXXDeleteExpr (stmt_info, stmt_list, _, delete_expr_info) -> | CXXDeleteExpr (stmt_info, stmt_list, _, delete_expr_info) ->
cxxDeleteExpr_trans trans_state stmt_info stmt_list delete_expr_info cxxDeleteExpr_trans trans_state stmt_info stmt_list delete_expr_info
| MaterializeTemporaryExpr (stmt_info, stmt_list, expr_info, _) -> | MaterializeTemporaryExpr (stmt_info, stmt_list, expr_info, _) ->

@ -328,7 +328,7 @@ module Scope = struct
end end
(** This function handles ObjC new/alloc and C++ new calls *) (** This function handles ObjC new/alloc and C++ new calls *)
let create_alloc_instrs ~alloc_builtin ?size_exp sil_loc function_type = let create_alloc_instrs ~alloc_builtin ?size_exp ?placement_args_exps sil_loc function_type =
let function_type, function_type_np = let function_type, function_type_np =
match function_type.Typ.desc with match function_type.Typ.desc with
| Tptr (styp, Typ.Pk_pointer) | Tptr (styp, Typ.Pk_pointer)
@ -352,7 +352,7 @@ let create_alloc_instrs ~alloc_builtin ?size_exp sil_loc function_type =
sizeof_exp_ sizeof_exp_
in in
let exp = (sizeof_exp, Typ.mk (Tint Typ.IULong)) in let exp = (sizeof_exp, Typ.mk (Tint Typ.IULong)) in
[exp] match placement_args_exps with Some args -> exp :: args | None -> [exp]
in in
let ret_id_typ = Some (ret_id, function_type) in let ret_id_typ = Some (ret_id, function_type) in
let stmt_call = let stmt_call =
@ -416,12 +416,17 @@ let new_or_alloc_trans trans_state loc stmt_info qual_type class_name_opt select
else Logging.die InternalError "Expected selector new or alloc but got, %s" selector else Logging.die InternalError "Expected selector new or alloc but got, %s" selector
let cpp_new_trans sil_loc function_type size_exp = let cpp_new_trans sil_loc function_type size_exp placement_args_exps =
let alloc_builtin = let alloc_builtin =
match size_exp with Some _ -> BuiltinDecl.__new_array | None -> BuiltinDecl.__new match placement_args_exps with
| [] -> (
match size_exp with Some _ -> BuiltinDecl.__new_array | None -> BuiltinDecl.__new )
| _ ->
(* TODO: call user defined `new` when there is more than one placement argument *)
BuiltinDecl.__placement_new
in in
let function_type, stmt_call, exp = let function_type, stmt_call, exp =
create_alloc_instrs ~alloc_builtin ?size_exp sil_loc function_type create_alloc_instrs ~alloc_builtin ?size_exp ~placement_args_exps sil_loc function_type
in in
{empty_res_trans with instrs= stmt_call; exps= [(exp, function_type)]} {empty_res_trans with instrs= stmt_call; exps= [(exp, function_type)]}

@ -77,7 +77,7 @@ val new_or_alloc_trans :
trans_state -> Location.t -> Clang_ast_t.stmt_info -> Clang_ast_t.qual_type -> Typ.Name.t option trans_state -> Location.t -> Clang_ast_t.stmt_info -> Clang_ast_t.qual_type -> Typ.Name.t option
-> string -> trans_result -> string -> trans_result
val cpp_new_trans : Location.t -> Typ.t -> Exp.t option -> trans_result val cpp_new_trans : Location.t -> Typ.t -> Exp.t option -> (Exp.t * Typ.typ) list -> trans_result
(** Module for creating cfg nodes and other utility functions related to them. *) (** Module for creating cfg nodes and other utility functions related to them. *)
module Nodes : sig module Nodes : sig

@ -1,4 +1,3 @@
INFER_MODEL/cpp/include/infer_model/shared_ptr.h, std::make_shared<lol>, 1, MEMORY_LEAK, [start of procedure std::make_shared<lol>(),Skipping lol: function or method not found]
INFER_MODEL/cpp/include/infer_model/unique_ptr.h, std::operator!=<65d659492edc5cb5>, 1, Abduction_case_not_implemented, [start of procedure std::operator!=<65d659492edc5cb5>()] INFER_MODEL/cpp/include/infer_model/unique_ptr.h, std::operator!=<65d659492edc5cb5>, 1, Abduction_case_not_implemented, [start of procedure std::operator!=<65d659492edc5cb5>()]
codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_fgetc, 4, NULL_DEREFERENCE, [start of procedure crash_fgetc()] codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_fgetc, 4, NULL_DEREFERENCE, [start of procedure crash_fgetc()]
codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_getc, 4, NULL_DEREFERENCE, [start of procedure crash_getc()] codetoanalyze/cpp/errors/c_tests/c_bugs.cpp, crash_getc, 4, NULL_DEREFERENCE, [start of procedure crash_getc()]
@ -10,11 +9,8 @@ codetoanalyze/cpp/errors/include_header/header.h, header::A_div0, 0, DIVIDE_BY_Z
codetoanalyze/cpp/errors/include_header/header.h, header::div0_fun, 0, DIVIDE_BY_ZERO, [start of procedure header::div0_fun()] codetoanalyze/cpp/errors/include_header/header.h, header::div0_fun, 0, DIVIDE_BY_ZERO, [start of procedure header::div0_fun()]
codetoanalyze/cpp/errors/include_header/header2.h, header2::B<header2::A>_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0] codetoanalyze/cpp/errors/include_header/header2.h, header2::B<header2::A>_div0, 0, DIVIDE_BY_ZERO, [start of procedure div0]
codetoanalyze/cpp/errors/include_header/header2.h, header2::div0_templ<header2::A>, 1, DIVIDE_BY_ZERO, [start of procedure header2::div0_templ<header2::A>()] codetoanalyze/cpp/errors/include_header/header2.h, header2::div0_templ<header2::A>, 1, DIVIDE_BY_ZERO, [start of procedure header2::div0_templ<header2::A>()]
codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, leak, 1, MEMORY_LEAK, [start of procedure leak()] codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, leak, 4, MEMORY_LEAK, [start of procedure leak()]
codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, leak, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure leak()] codetoanalyze/cpp/errors/memory_leaks/object_leak.cpp, object_leak, 0, MEMORY_LEAK, [start of procedure object_leak(),start of procedure Rectangle,return from a call to Rectangle_Rectangle]
codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, no_leak, 1, MEMORY_LEAK, [start of procedure no_leak()]
codetoanalyze/cpp/errors/memory_leaks/array_leak.cpp, no_leak, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure no_leak()]
codetoanalyze/cpp/errors/memory_leaks/object_leak.cpp, object_leak, 0, MEMORY_LEAK, [start of procedure object_leak(),start of procedure Rectangle,return from a call to Rectangle_Rectangle,start of procedure Rectangle,return from a call to Rectangle_Rectangle]
codetoanalyze/cpp/errors/memory_leaks/raii_malloc.cpp, memory_leak, 0, MEMORY_LEAK, [start of procedure memory_leak()] codetoanalyze/cpp/errors/memory_leaks/raii_malloc.cpp, memory_leak, 0, MEMORY_LEAK, [start of procedure memory_leak()]
codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe1_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::compare_exchange_strong_possible_npe1_bad(),Condition is true,Condition is true,Condition is true] codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe1_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::compare_exchange_strong_possible_npe1_bad(),Condition is true,Condition is true,Condition is true]
codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe2_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::compare_exchange_strong_possible_npe2_bad(),Condition is true,Condition is true,Condition is true] codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe2_bad, 6, NULL_DEREFERENCE, [start of procedure atomic_test::compare_exchange_strong_possible_npe2_bad(),Condition is true,Condition is true,Condition is true]
@ -70,21 +66,19 @@ codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe, 2
codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe_person, 2, NULL_DEREFERENCE, [start of procedure npe_added_to_b1::causes_npe_person(),start of procedure Person,return from a call to npe_added_to_b1::Person_Person,start of procedure npe_added_to_b1::deref_person()] codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe_person, 2, NULL_DEREFERENCE, [start of procedure npe_added_to_b1::causes_npe_person(),start of procedure Person,return from a call to npe_added_to_b1::Person_Person,start of procedure npe_added_to_b1::deref_person()]
codetoanalyze/cpp/errors/npe/null_returned_by_method.cpp, testNullDeref, 3, NULL_DEREFERENCE, [start of procedure testNullDeref(),Condition is true,start of procedure getNull,return from a call to XFactory_getNull] codetoanalyze/cpp/errors/npe/null_returned_by_method.cpp, testNullDeref, 3, NULL_DEREFERENCE, [start of procedure testNullDeref(),Condition is true,start of procedure getNull,return from a call to XFactory_getNull]
codetoanalyze/cpp/errors/npe/object_deref.cpp, object_deref::derefNullField, 2, NULL_DEREFERENCE, [start of procedure object_deref::derefNullField(),start of procedure object_deref::getNull(),return from a call to object_deref::getNull] codetoanalyze/cpp/errors/npe/object_deref.cpp, object_deref::derefNullField, 2, NULL_DEREFERENCE, [start of procedure object_deref::derefNullField(),start of procedure object_deref::getNull(),return from a call to object_deref::getNull]
codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_const_skip2_then_split_case_ok, 4, NULL_DEREFERENCE, [start of procedure FP_const_skip2_then_split_case_ok(),Skipping std::make_shared<lol>(): function or method not found,Skipping skip_const2(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer] codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_const_skip2_then_split_case_ok, 5, MEMORY_LEAK, [start of procedure FP_const_skip2_then_split_case_ok(),Skipping skip_const2(): function or method not found,start of procedure test_pointer(),Condition is true,return from a call to test_pointer]
codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_const_skip_then_split_case_ok, 5, NULL_DEREFERENCE, [start of procedure FP_const_skip_then_split_case_ok(),Skipping std::make_shared<lol>(): function or method not found,Skipping skip_const(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer] codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_const_skip_then_split_case_ok, 6, MEMORY_LEAK, [start of procedure FP_const_skip_then_split_case_ok(),Skipping skip_const(): function or method not found,start of procedure test_pointer(),Condition is true,return from a call to test_pointer]
codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_typedef_skip_then_split_case_ok, 4, NULL_DEREFERENCE, [start of procedure FP_typedef_skip_then_split_case_ok(),Skipping std::make_shared<lol>(): function or method not found,Skipping skip_typedef(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer] codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_typedef_skip_then_split_case_ok, 2, MEMORY_LEAK, [start of procedure FP_typedef_skip_then_split_case_ok(),Skipping skip_typedef(): function or method not found]
codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, skip_then_split_case_bad, 5, NULL_DEREFERENCE, [start of procedure skip_then_split_case_bad(),Skipping std::make_shared<lol>(): function or method not found,Skipping skip_no_const(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer] codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, FP_typedef_skip_then_split_case_ok, 4, NULL_DEREFERENCE, [start of procedure FP_typedef_skip_then_split_case_ok(),Skipping skip_typedef(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer]
codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, skip_then_split_case_bad, 2, MEMORY_LEAK, [start of procedure skip_then_split_case_bad(),Skipping skip_no_const(): function or method not found]
codetoanalyze/cpp/errors/npe/skip_function_with_const_formals.cpp, skip_then_split_case_bad, 5, NULL_DEREFERENCE, [start of procedure skip_then_split_case_bad(),Skipping skip_no_const(): function or method not found,start of procedure test_pointer(),Condition is false,return from a call to test_pointer]
codetoanalyze/cpp/errors/numeric/min_max.cpp, max_X_inv_div0, 2, DIVIDE_BY_ZERO, [start of procedure max_X_inv_div0(),start of procedure X_inv,return from a call to X_inv_X_inv,start of procedure X_inv,return from a call to X_inv_X_inv] codetoanalyze/cpp/errors/numeric/min_max.cpp, max_X_inv_div0, 2, DIVIDE_BY_ZERO, [start of procedure max_X_inv_div0(),start of procedure X_inv,return from a call to X_inv_X_inv,start of procedure X_inv,return from a call to X_inv_X_inv]
codetoanalyze/cpp/errors/numeric/min_max.cpp, max_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure max_int_div0()] codetoanalyze/cpp/errors/numeric/min_max.cpp, max_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure max_int_div0()]
codetoanalyze/cpp/errors/numeric/min_max.cpp, min_X_div0, 2, DIVIDE_BY_ZERO, [start of procedure min_X_div0(),start of procedure X,return from a call to X_X,start of procedure X,return from a call to X_X] codetoanalyze/cpp/errors/numeric/min_max.cpp, min_X_div0, 2, DIVIDE_BY_ZERO, [start of procedure min_X_div0(),start of procedure X,return from a call to X_X,start of procedure X,return from a call to X_X]
codetoanalyze/cpp/errors/numeric/min_max.cpp, min_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure min_int_div0()] codetoanalyze/cpp/errors/numeric/min_max.cpp, min_int_div0, 0, DIVIDE_BY_ZERO, [start of procedure min_int_div0()]
codetoanalyze/cpp/errors/overwrite_attribute/main.cpp, testSetIntValue, 3, DIVIDE_BY_ZERO, [start of procedure testSetIntValue(),start of procedure setIntValue(),return from a call to setIntValue] codetoanalyze/cpp/errors/overwrite_attribute/main.cpp, testSetIntValue, 3, DIVIDE_BY_ZERO, [start of procedure testSetIntValue(),start of procedure setIntValue(),return from a call to setIntValue]
codetoanalyze/cpp/errors/pointers/unintialized.cpp, initialized_no_dangling_ok, 1, MEMORY_LEAK, [start of procedure initialized_no_dangling_ok()] codetoanalyze/cpp/errors/pointers/unintialized.cpp, known_ctor_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure known_ctor_dangling_bad(),start of procedure TestDangling,return from a call to TestDangling_TestDangling]
codetoanalyze/cpp/errors/pointers/unintialized.cpp, initialized_no_dangling_ok, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure initialized_no_dangling_ok()]
codetoanalyze/cpp/errors/pointers/unintialized.cpp, known_ctor_dangling_bad, 1, MEMORY_LEAK, [start of procedure known_ctor_dangling_bad(),start of procedure TestDangling,return from a call to TestDangling_TestDangling,start of procedure TestDangling,return from a call to TestDangling_TestDangling]
codetoanalyze/cpp/errors/pointers/unintialized.cpp, known_ctor_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure known_ctor_dangling_bad(),start of procedure TestDangling,return from a call to TestDangling_TestDangling,start of procedure TestDangling,return from a call to TestDangling_TestDangling]
codetoanalyze/cpp/errors/pointers/unintialized.cpp, uninitialized_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure uninitialized_dangling_bad()] codetoanalyze/cpp/errors/pointers/unintialized.cpp, uninitialized_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure uninitialized_dangling_bad()]
codetoanalyze/cpp/errors/pointers/unintialized.cpp, unknown_ctor_assume_no_dangling_ok, 1, MEMORY_LEAK, [start of procedure unknown_ctor_assume_no_dangling_ok(),Skipping TestDangling: function or method not found]
codetoanalyze/cpp/errors/resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, [start of procedure resource_leak(),Condition is false] codetoanalyze/cpp/errors/resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, [start of procedure resource_leak(),Condition is false]
codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const1, 3, NULL_DEREFERENCE, [start of procedure test_const1()] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const1, 3, NULL_DEREFERENCE, [start of procedure test_const1()]
codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const2, 2, NULL_DEREFERENCE, [start of procedure test_const2()] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const2, 2, NULL_DEREFERENCE, [start of procedure test_const2()]
@ -94,8 +88,9 @@ codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile1, 3, N
codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile2, 2, NULL_DEREFERENCE, [start of procedure test_volatile2()] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile2, 2, NULL_DEREFERENCE, [start of procedure test_volatile2()]
codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile3, 3, NULL_DEREFERENCE, [start of procedure test_volatile3()] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile3, 3, NULL_DEREFERENCE, [start of procedure test_volatile3()]
codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile4, 2, NULL_DEREFERENCE, [start of procedure test_volatile4()] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile4, 2, NULL_DEREFERENCE, [start of procedure test_volatile4()]
codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::Person_Person, 1, MEMORY_LEAK, [start of procedure Person] codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_crash, 4, NULL_DEREFERENCE, [start of procedure deref_after_mode_example::deref_after_move_crash(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,start of procedure access_age]
codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_crash, 4, NULL_DEREFERENCE, [start of procedure deref_after_mode_example::deref_after_move_crash(),Skipping Person: function or method not found,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,start of procedure access_age] codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_ok, 3, MEMORY_LEAK, [start of procedure deref_after_mode_example::deref_after_move_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure move_age,return from a call to deref_after_mode_example::Person_move_age,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person___infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person_~Person]
codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_ok, 2, MEMORY_LEAK, [start of procedure deref_after_mode_example::deref_ok(),start of procedure Person,return from a call to deref_after_mode_example::Person_Person,start of procedure access_age,return from a call to deref_after_mode_example::Person_access_age,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person___infer_inner_destructor_~Person,return from a call to deref_after_mode_example::Person_~Person]
codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::aliasing_member_null_bad, 4, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::aliasing_member_null_bad(),start of procedure shared_ptr_constructors::aliasing_construct_from_internal(),start of procedure shared_ptr_constructors::internal_null_def(),Skipping shared_ptr_constructors::external_def(): function or method not found,return from a call to shared_ptr_constructors::internal_null_def,Condition is false,return from a call to shared_ptr_constructors::aliasing_construct_from_internal] codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::aliasing_member_null_bad, 4, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::aliasing_member_null_bad(),start of procedure shared_ptr_constructors::aliasing_construct_from_internal(),start of procedure shared_ptr_constructors::internal_null_def(),Skipping shared_ptr_constructors::external_def(): function or method not found,return from a call to shared_ptr_constructors::internal_null_def,Condition is false,return from a call to shared_ptr_constructors::aliasing_construct_from_internal]
codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_null_f1_deref, 6, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1]
codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1] codetoanalyze/cpp/errors/smart_ptr/shared_ptr_constructors.cpp, shared_ptr_constructors::get_from_base1_nullptr_deref, 0, NULL_DEREFERENCE, [start of procedure shared_ptr_constructors::get_from_base1_nullptr_deref(),start of procedure shared_ptr_constructors::getFromBase1(),return from a call to shared_ptr_constructors::getFromBase1]
@ -145,22 +140,22 @@ codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_
codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_copy_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_copy_null_deref()] codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_copy_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_copy_null_deref()]
codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_move_null_deref()] codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_null_deref, 3, NULL_DEREFERENCE, [start of procedure unique_ptr::unique_ptr_move_null_deref()]
codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 3, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_move_ok_deref()] codetoanalyze/cpp/errors/smart_ptr/unique_ptr_deref.cpp, unique_ptr::unique_ptr_move_ok_deref, 3, MEMORY_LEAK, [start of procedure unique_ptr::unique_ptr_move_ok_deref()]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedBaseAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedBaseAssign_bad(),Skipping std::make_shared<weak_ptr_constructors::Base,_int_*>(): function or method not found,start of procedure weak_ptr_constructors::fromSharedBaseAssign(),return from a call to weak_ptr_constructors::fromSharedBaseAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedBaseAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedBaseAssign_bad(),start of procedure weak_ptr_constructors::fromSharedBaseAssign(),return from a call to weak_ptr_constructors::fromSharedBaseAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedBaseConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedBaseConstr_bad(),Skipping std::make_shared<weak_ptr_constructors::Base,_int_*>(): function or method not found,start of procedure weak_ptr_constructors::fromSharedBaseConstr(),return from a call to weak_ptr_constructors::fromSharedBaseConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedBaseConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedBaseConstr_bad(),start of procedure weak_ptr_constructors::fromSharedBaseConstr(),return from a call to weak_ptr_constructors::fromSharedBaseConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedAssign_bad(),Skipping std::make_shared<weak_ptr_constructors::Derived,_int_*>(): function or method not found,start of procedure weak_ptr_constructors::fromSharedDerivedAssign(),return from a call to weak_ptr_constructors::fromSharedDerivedAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedAssign_bad(),start of procedure weak_ptr_constructors::fromSharedDerivedAssign(),return from a call to weak_ptr_constructors::fromSharedDerivedAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedConstr2_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedConstr2_bad(),Skipping std::make_shared<weak_ptr_constructors::Derived,_int_*>(): function or method not found,start of procedure weak_ptr_constructors::fromSharedDerivedConstr2(),return from a call to weak_ptr_constructors::fromSharedDerivedConstr2,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedConstr2_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedConstr2_bad(),start of procedure weak_ptr_constructors::fromSharedDerivedConstr2(),return from a call to weak_ptr_constructors::fromSharedDerivedConstr2,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedConstr_bad(),Skipping std::make_shared<weak_ptr_constructors::Derived,_int_*>(): function or method not found,start of procedure weak_ptr_constructors::fromSharedDerivedConstr(),return from a call to weak_ptr_constructors::fromSharedDerivedConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromSharedDerivedConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromSharedDerivedConstr_bad(),start of procedure weak_ptr_constructors::fromSharedDerivedConstr(),return from a call to weak_ptr_constructors::fromSharedDerivedConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakBaseAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakBaseAssign_bad(),Skipping std::make_shared<weak_ptr_constructors::Base,_int_*>(): function or method not found,start of procedure weak_ptr_constructors::fromWeakBaseAssign(),return from a call to weak_ptr_constructors::fromWeakBaseAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakBaseAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakBaseAssign_bad(),start of procedure weak_ptr_constructors::fromWeakBaseAssign(),return from a call to weak_ptr_constructors::fromWeakBaseAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakBaseConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakBaseConstr_bad(),Skipping std::make_shared<weak_ptr_constructors::Base,_int_*>(): function or method not found,start of procedure weak_ptr_constructors::fromWeakBaseConstr(),return from a call to weak_ptr_constructors::fromWeakBaseConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakBaseConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakBaseConstr_bad(),start of procedure weak_ptr_constructors::fromWeakBaseConstr(),return from a call to weak_ptr_constructors::fromWeakBaseConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakDerivedAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakDerivedAssign_bad(),Skipping std::make_shared<weak_ptr_constructors::Derived,_int_*>(): function or method not found,start of procedure weak_ptr_constructors::fromWeakDerivedAssign(),return from a call to weak_ptr_constructors::fromWeakDerivedAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakDerivedAssign_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakDerivedAssign_bad(),start of procedure weak_ptr_constructors::fromWeakDerivedAssign(),return from a call to weak_ptr_constructors::fromWeakDerivedAssign,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakDerivedConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakDerivedConstr_bad(),Skipping std::make_shared<weak_ptr_constructors::Derived,_int_*>(): function or method not found,start of procedure weak_ptr_constructors::fromWeakDerivedConstr(),return from a call to weak_ptr_constructors::fromWeakDerivedConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_derefs::safeGetFromWeakDerivedConstr_bad, 4, NULL_DEREFERENCE, [start of procedure weak_ptr_derefs::safeGetFromWeakDerivedConstr_bad(),start of procedure weak_ptr_constructors::fromWeakDerivedConstr(),return from a call to weak_ptr_constructors::fromWeakDerivedConstr,start of procedure weak_ptr_derefs::safeGet(),Condition is false,return from a call to weak_ptr_derefs::safeGet]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::empty_weak_lock_returns_null_bad, 3, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::empty_weak_lock_returns_null_bad()] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::empty_weak_lock_returns_null_bad, 3, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::empty_weak_lock_returns_null_bad()]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_after_reset_bad, 5, expired after weak_ptr reset is true, [start of procedure weak_ptr_observers::expired_after_reset_bad(),Condition is true,return from a call to weak_ptr_observers::expired_after_reset_bad] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_after_reset_bad, 5, expired after weak_ptr reset is true, [start of procedure weak_ptr_observers::expired_after_reset_bad(),Condition is true,return from a call to weak_ptr_observers::expired_after_reset_bad]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_after_swap_bad, 6, expired after weak_ptr swap with empty is true, [start of procedure weak_ptr_observers::expired_after_swap_bad(),Condition is true,return from a call to weak_ptr_observers::expired_after_swap_bad] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_after_swap_bad, 6, expired after weak_ptr swap with empty is true, [start of procedure weak_ptr_observers::expired_after_swap_bad(),Condition is true,return from a call to weak_ptr_observers::expired_after_swap_bad]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_empty_bad, 5, expired on empty weak_ptr is true, [start of procedure weak_ptr_observers::expired_empty_bad(),Condition is true,return from a call to weak_ptr_observers::expired_empty_bad] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_empty_bad, 5, expired on empty weak_ptr is true, [start of procedure weak_ptr_observers::expired_empty_bad(),Condition is true,return from a call to weak_ptr_observers::expired_empty_bad]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_means_null_bad, 3, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::expired_means_null_bad(),Condition is true] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::expired_means_null_bad, 3, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::expired_means_null_bad(),Condition is true]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::lock_can_be_null_bad, 2, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::lock_can_be_null_bad()] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::lock_can_be_null_bad, 2, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::lock_can_be_null_bad()]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::shared_still_in_scope_good_FP, 6, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::shared_still_in_scope_good_FP(),Skipping std::make_shared<int>(): function or method not found] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::shared_still_in_scope_good_FP, 6, NULL_DEREFERENCE, [start of procedure weak_ptr_observers::shared_still_in_scope_good_FP()]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::use_count_after_reset_bad, 5, use_count after weak_ptr reset is 0, [start of procedure weak_ptr_observers::use_count_after_reset_bad(),Condition is true,return from a call to weak_ptr_observers::use_count_after_reset_bad] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::use_count_after_reset_bad, 5, use_count after weak_ptr reset is 0, [start of procedure weak_ptr_observers::use_count_after_reset_bad(),Condition is true,return from a call to weak_ptr_observers::use_count_after_reset_bad]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::use_count_empty_bad, 5, use_count on empty weak_ptr is 0, [start of procedure weak_ptr_observers::use_count_empty_bad(),Condition is true,return from a call to weak_ptr_observers::use_count_empty_bad] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::use_count_empty_bad, 5, use_count on empty weak_ptr is 0, [start of procedure weak_ptr_observers::use_count_empty_bad(),Condition is true,return from a call to weak_ptr_observers::use_count_empty_bad]
codetoanalyze/cpp/errors/smart_ptr/weak_ptr_compil.cpp, weak_ptr_lock_repro_large::RDC::create::lambda_smart_ptr_weak_ptr_compil.cpp:62:7_operator(), 2, Cannot_star, [start of procedure operator(),Condition is true,Skipping function: function or method not found] codetoanalyze/cpp/errors/smart_ptr/weak_ptr_compil.cpp, weak_ptr_lock_repro_large::RDC::create::lambda_smart_ptr_weak_ptr_compil.cpp:62:7_operator(), 2, Cannot_star, [start of procedure operator(),Condition is true,Skipping function: function or method not found]
@ -171,15 +166,15 @@ codetoanalyze/cpp/errors/stack_escape/basic.cpp, escape_local_struct_member_bad,
codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_bad, 3, STACK_VARIABLE_ADDRESS_ESCAPE, [start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad] codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_bad, 3, STACK_VARIABLE_ADDRESS_ESCAPE, [start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad]
codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_caller, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure nonstatic_local_caller(),start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad] codetoanalyze/cpp/errors/static_local/nonstatic_local_bad.cpp, nonstatic_local_caller, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure nonstatic_local_caller(),start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad]
codetoanalyze/cpp/errors/subtyping/cast_with_enforce.cpp, cast_with_enforce::cast_with_npe, 3, NULL_DEREFERENCE, [start of procedure cast_with_enforce::cast_with_npe(),start of procedure Base,return from a call to cast_with_enforce::Base_Base] codetoanalyze/cpp/errors/subtyping/cast_with_enforce.cpp, cast_with_enforce::cast_with_npe, 3, NULL_DEREFERENCE, [start of procedure cast_with_enforce::cast_with_npe(),start of procedure Base,return from a call to cast_with_enforce::Base_Base]
codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 1, MEMORY_LEAK, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true]
codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, MEMORY_LEAK, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true]
codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightReferenceCast, 1, MEMORY_LEAK, [start of procedure dynamic__cast::rightReferenceCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightReferenceCast, 2, MEMORY_LEAK, [start of procedure dynamic__cast::rightReferenceCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived]
codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentPointer, 2, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongCastOfArgumentPointer(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure dynamic__cast::castOfArgumentPointer(),Condition is false,return from a call to dynamic__cast::castOfArgumentPointer] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentPointer, 2, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongCastOfArgumentPointer(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure dynamic__cast::castOfArgumentPointer(),Condition is false,return from a call to dynamic__cast::castOfArgumentPointer]
codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentReference, 2, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongCastOfArgumentReference(),start of procedure Base,return from a call to dynamic__cast::Base_Base] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentReference, 2, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongCastOfArgumentReference(),start of procedure Base,return from a call to dynamic__cast::Base_Base]
codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 1, MEMORY_LEAK, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure Base,return from a call to dynamic__cast::Base_Base] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 2, MEMORY_LEAK, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base]
codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 6, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure Base,return from a call to dynamic__cast::Base_Base,Condition is false] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 6, DIVIDE_BY_ZERO, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base,Condition is false]
codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCast, 1, MEMORY_LEAK, [start of procedure dynamic__cast::wrongReferenceCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure Base,return from a call to dynamic__cast::Base_Base] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCast, 3, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongReferenceCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base]
codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCastNotAssigned, 1, MEMORY_LEAK, [start of procedure dynamic__cast::wrongReferenceCastNotAssigned(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure Base,return from a call to dynamic__cast::Base_Base] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCastNotAssigned, 3, CLASS_CAST_EXCEPTION, [start of procedure dynamic__cast::wrongReferenceCastNotAssigned(),start of procedure Base,return from a call to dynamic__cast::Base_Base]
codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::BaseDerefNPE, 2, NULL_DEREFERENCE, [start of procedure implicit_cast_with_const::BaseDerefNPE(),start of procedure Base,return from a call to implicit_cast_with_const::Base_Base,start of procedure implicit_cast_with_const::deref()] codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::BaseDerefNPE, 2, NULL_DEREFERENCE, [start of procedure implicit_cast_with_const::BaseDerefNPE(),start of procedure Base,return from a call to implicit_cast_with_const::Base_Base,start of procedure implicit_cast_with_const::deref()]
codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::DerivedDerefNPE, 2, NULL_DEREFERENCE, [start of procedure implicit_cast_with_const::DerivedDerefNPE(),start of procedure Derived,start of procedure Base,return from a call to implicit_cast_with_const::Base_Base,return from a call to implicit_cast_with_const::Derived_Derived,start of procedure implicit_cast_with_const::deref()] codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::DerivedDerefNPE, 2, NULL_DEREFERENCE, [start of procedure implicit_cast_with_const::DerivedDerefNPE(),start of procedure Derived,start of procedure Base,return from a call to implicit_cast_with_const::Base_Base,return from a call to implicit_cast_with_const::Derived_Derived,start of procedure implicit_cast_with_const::deref()]
codetoanalyze/cpp/errors/subtyping/subtyping_check.cpp, B_setFG, 4, DIVIDE_BY_ZERO, [start of procedure setFG,start of procedure setF,return from a call to A_setF,Condition is true] codetoanalyze/cpp/errors/subtyping/subtyping_check.cpp, B_setFG, 4, DIVIDE_BY_ZERO, [start of procedure setFG,start of procedure setF,return from a call to A_setF,Condition is true]
@ -241,25 +236,31 @@ codetoanalyze/cpp/shared/constructors/constructor_init.cpp, delegate_constr_f_di
codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f2_div0, 2, DIVIDE_BY_ZERO, [start of procedure f2_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f2_div0, 2, DIVIDE_BY_ZERO, [start of procedure f2_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B]
codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f_div0, 2, DIVIDE_BY_ZERO, [start of procedure f_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] codetoanalyze/cpp/shared/constructors/constructor_init.cpp, f_div0, 2, DIVIDE_BY_ZERO, [start of procedure f_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B]
codetoanalyze/cpp/shared/constructors/constructor_init.cpp, t_div0, 2, DIVIDE_BY_ZERO, [start of procedure t_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B] codetoanalyze/cpp/shared/constructors/constructor_init.cpp, t_div0, 2, DIVIDE_BY_ZERO, [start of procedure t_div0(),start of procedure B,start of procedure A,return from a call to A_A,start of procedure T,return from a call to B::T_T,return from a call to B_B]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_person_with_constant_size, 0, MEMORY_LEAK, [start of procedure constructor_new::array_of_person_with_constant_size(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_class_with_not_constant_size, 1, MEMORY_LEAK, [start of procedure constructor_new::array_of_class_with_not_constant_size(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 1, MEMORY_LEAK, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::array_of_person_with_constant_size, 0, MEMORY_LEAK, [start of procedure constructor_new::array_of_person_with_constant_size(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 1, MEMORY_LEAK, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 2, MEMORY_LEAK, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_1_arg_new_div0, 2, MEMORY_LEAK, [start of procedure constructor_new::constructor_1_arg_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 1, MEMORY_LEAK, [start of procedure constructor_new::float_init_number()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure constructor_new::float_init_number()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_3_args_new_div0, 2, MEMORY_LEAK, [start of procedure constructor_new::constructor_3_args_new_div0(),start of procedure Person,return from a call to constructor_new::Person_Person]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 1, MEMORY_LEAK, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, DIVIDE_BY_ZERO, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::constructor_nodes, 3, MEMORY_LEAK, [start of procedure constructor_new::constructor_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false,start of procedure Person,return from a call to constructor_new::Person_Person]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 1, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::float_init_number()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, NULL_DEREFERENCE, [start of procedure constructor_new::int_init_empty()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::float_init_number, 2, MEMORY_LEAK, [start of procedure constructor_new::float_init_number()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array, 4, MEMORY_LEAK, [start of procedure constructor_new::int_array(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is true,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_array_init()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_array_init, 2, MEMORY_LEAK, [start of procedure constructor_new::int_array_init()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty_list()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty_list()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 1, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty_list_new()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_empty_list_new()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure constructor_new::int_init_empty_list_new()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_empty_list_new, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_empty_list_new()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 3, MEMORY_LEAK, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 3, DANGLING_POINTER_DEREFERENCE, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 1, MEMORY_LEAK, [start of procedure constructor_new::int_init_number()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_nodes, 4, MEMORY_LEAK, [start of procedure constructor_new::int_init_nodes(),start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,start of procedure constructor_new::getValue(),return from a call to constructor_new::getValue,Condition is false]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure constructor_new::int_init_number()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, DIVIDE_BY_ZERO, [start of procedure constructor_new::int_init_number()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::matrix_of_person, 1, MEMORY_LEAK, [start of procedure constructor_new::matrix_of_person()] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::int_init_number, 2, MEMORY_LEAK, [start of procedure constructor_new::int_init_number()]
codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::matrix_of_person, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure constructor_new::matrix_of_person(),start of procedure Person,return from a call to constructor_new::Person_Person] codetoanalyze/cpp/shared/constructors/constructor_new.cpp, constructor_new::matrix_of_person, 2, MEMORY_LEAK, [start of procedure constructor_new::matrix_of_person(),start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person,start of procedure Person,return from a call to constructor_new::Person_Person]
codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div]
codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0_default_constructor, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0_default_constructor(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div] codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp, constructor_with_body::test_div0_default_constructor, 2, DIVIDE_BY_ZERO, [start of procedure constructor_with_body::test_div0_default_constructor(),start of procedure X,start of procedure init,return from a call to constructor_with_body::X_init,return from a call to constructor_with_body::X_X,start of procedure div]
codetoanalyze/cpp/shared/constructors/copy_array_field.cpp, copy_array_field::npe, 4, NULL_DEREFERENCE, [start of procedure copy_array_field::npe(),start of procedure X,return from a call to copy_array_field::X_X,start of procedure X,return from a call to copy_array_field::X_X] codetoanalyze/cpp/shared/constructors/copy_array_field.cpp, copy_array_field::npe, 4, NULL_DEREFERENCE, [start of procedure copy_array_field::npe(),start of procedure X,return from a call to copy_array_field::X_X,start of procedure X,return from a call to copy_array_field::X_X]
@ -282,8 +283,6 @@ codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::b
codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::y_branch_div0, 6, DIVIDE_BY_ZERO, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y_Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::y_branch_div0, 6, DIVIDE_BY_ZERO, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y_Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_int,return from a call to conversion_operator::X_operator_int]
codetoanalyze/cpp/shared/methods/static.cpp, div0_class, 0, DIVIDE_BY_ZERO, [start of procedure div0_class(),start of procedure fun] codetoanalyze/cpp/shared/methods/static.cpp, div0_class, 0, DIVIDE_BY_ZERO, [start of procedure div0_class(),start of procedure fun]
codetoanalyze/cpp/shared/methods/static.cpp, div0_instance, 2, DIVIDE_BY_ZERO, [start of procedure div0_instance(),start of procedure fun] codetoanalyze/cpp/shared/methods/static.cpp, div0_instance, 2, DIVIDE_BY_ZERO, [start of procedure div0_instance(),start of procedure fun]
codetoanalyze/cpp/shared/methods/virtual_methods.cpp, call_virtual_destructor, 1, MEMORY_LEAK, [start of procedure call_virtual_destructor(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle]
codetoanalyze/cpp/shared/methods/virtual_methods.cpp, call_virtual_destructor, 2, DANGLING_POINTER_DEREFERENCE, [start of procedure call_virtual_destructor(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle]
codetoanalyze/cpp/shared/methods/virtual_methods.cpp, poly_area, 3, DIVIDE_BY_ZERO, [start of procedure poly_area(),start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure area,return from a call to Polygon_area] codetoanalyze/cpp/shared/methods/virtual_methods.cpp, poly_area, 3, DIVIDE_BY_ZERO, [start of procedure poly_area(),start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure area,return from a call to Polygon_area]
codetoanalyze/cpp/shared/methods/virtual_methods.cpp, rect_area, 4, DIVIDE_BY_ZERO, [start of procedure rect_area(),start of procedure Rectangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Rectangle_Rectangle,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Rectangle_area] codetoanalyze/cpp/shared/methods/virtual_methods.cpp, rect_area, 4, DIVIDE_BY_ZERO, [start of procedure rect_area(),start of procedure Rectangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Rectangle_Rectangle,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Rectangle_area]
codetoanalyze/cpp/shared/methods/virtual_methods.cpp, tri_area, 5, DIVIDE_BY_ZERO, [start of procedure tri_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Triangle_area] codetoanalyze/cpp/shared/methods/virtual_methods.cpp, tri_area, 5, DIVIDE_BY_ZERO, [start of procedure tri_area(),start of procedure Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,return from a call to Triangle_Triangle,start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure set_values,return from a call to Polygon_set_values,start of procedure area,return from a call to Triangle_area]

@ -16,3 +16,11 @@ void test() {
// int* i_a = new int[10]; // int* i_a = new int[10];
// delete[] i_a; // delete[] i_a;
} }
struct A {};
void* operator new(unsigned long size, void* ptr, void* ptr2) noexcept {
return ptr2;
};
void test_placement(void* ptr, int* ptr2) { auto* p = new (ptr, ++ptr2) A(); }

@ -18,9 +18,31 @@ digraph cfg {
"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 12, column 12]\n *&i:int*=n$2 [line 12, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 12, column 12]\n *&i:int*=n$2 [line 12, column 3]\n " shape="box"]
"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ;
"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n *&x:int=2 [line 11, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n *&x:int=2 [line 11, column 3]\n " shape="box"]
"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ;
"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_1" [label="1: Start test_placement\nFormals: ptr:void* ptr2:int*\nLocals: p:A* \n DECLARE_LOCALS(&return,&p); [line 26, column 1]\n " color=yellow style=filled]
"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_1" -> "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" ;
"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_2" [label="2: Exit test_placement \n " color=yellow style=filled]
"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" [label="3: DeclStmt \n n$2=*&ptr:void* [line 26, column 60]\n n$0=*&ptr2:int* [line 26, column 65]\n *&ptr2:int*=(n$0 + 1) [line 26, column 65]\n n$1=*&ptr2:int* [line 26, column 65]\n n$3=_fun___placement_new(sizeof(t=A):unsigned long,n$2:void*,n$1:void*) [line 26, column 55]\n _fun_A_A(n$3:A*) [line 26, column 73]\n *&p:A*=n$3 [line 26, column 45]\n " shape="box"]
"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" -> "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_2" ;
"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_1" [label="1: Start operator_new\nFormals: size:unsigned long ptr:void* ptr2:void*\nLocals: \n DECLARE_LOCALS(&return); [line 22, column 1]\n " color=yellow style=filled]
"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_1" -> "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" ;
"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_2" [label="2: Exit operator_new \n " color=yellow style=filled]
"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" [label="3: Return Stmt \n n$0=*&ptr2:void* [line 23, column 10]\n *&return:void*=n$0 [line 23, column 3]\n " shape="box"]
"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" -> "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_2" ;
} }

@ -11,7 +11,7 @@ digraph cfg {
"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_2" ; "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_2" ;
"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" [label="4: DeclStmt \n _fun_constructor_new::Person_Person(&p:constructor_new::Person**,5:int) [line 30, column 19]\n n$2=*&p:constructor_new::Person* [line 30, column 19]\n n$3=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 30, column 15]\n _fun_constructor_new::Person_Person(n$3:constructor_new::Person*,5:int) [line 30, column 19]\n " shape="box"] "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 30, column 15]\n _fun_constructor_new::Person_Person(n$2:constructor_new::Person*,5:int) [line 30, column 19]\n *&p:constructor_new::Person*=n$2 [line 30, column 3]\n " shape="box"]
"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" ; "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" ;
@ -26,7 +26,7 @@ digraph cfg {
"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_2" ; "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_2" ;
"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" [label="4: DeclStmt \n _fun_constructor_new::Person_Person(&p:constructor_new::Person**,5:int,6:int,7:int) [line 35, column 19]\n n$2=*&p:constructor_new::Person* [line 35, column 19]\n n$3=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 35, column 15]\n _fun_constructor_new::Person_Person(n$3:constructor_new::Person*,5:int,6:int,7:int) [line 35, column 19]\n " shape="box"] "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 35, column 15]\n _fun_constructor_new::Person_Person(n$2:constructor_new::Person*,5:int,6:int,7:int) [line 35, column 19]\n *&p:constructor_new::Person*=n$2 [line 35, column 3]\n " shape="box"]
"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" ; "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" ;
@ -41,7 +41,7 @@ digraph cfg {
"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_2" ; "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_2" ;
"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 40, column 13]\n *n$2:int=5 [line 40, column 13]\n *&x1:int=-1 [line 40, column 3]\n " shape="box"] "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 40, column 13]\n *n$2:int=5 [line 40, column 13]\n *&x1:int*=n$2 [line 40, column 3]\n " shape="box"]
"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" ; "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" ;
@ -56,7 +56,7 @@ digraph cfg {
"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_2" ; "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_2" ;
"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=float):unsigned long) [line 45, column 15]\n *n$2:float=5.400000 [line 45, column 15]\n *&x1:int=-1 [line 45, column 3]\n " shape="box"] "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=float):unsigned long) [line 45, column 15]\n *n$2:float=5.400000 [line 45, column 15]\n *&x1:float*=n$2 [line 45, column 3]\n " shape="box"]
"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" ; "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" ;
@ -71,7 +71,7 @@ digraph cfg {
"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_2" ; "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_2" ;
"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" [label="4: DeclStmt \n *&x1:int*=null [line 50, column 21]\n n$2=_fun___new(sizeof(t=int):unsigned long) [line 50, column 13]\n *n$2:int=0 [line 50, column 21]\n " shape="box"] "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 50, column 13]\n *n$2:int=0 [line 50, column 21]\n *&x1:int*=n$2 [line 50, column 3]\n " shape="box"]
"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" ; "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" ;
@ -101,14 +101,14 @@ digraph cfg {
"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_2" ; "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_2" ;
"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 60, column 13]\n *n$2:int=0 [line 60, column 13]\n *&x1:int=-1 [line 60, column 3]\n " shape="box"] "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 60, column 13]\n *n$2:int=0 [line 60, column 13]\n *&x1:int*=n$2 [line 60, column 3]\n " shape="box"]
"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" ; "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_1" [label="1: Start constructor_new::int_init_nodes\nFormals: \nLocals: x:int* 0$?%__sil_tmpSIL_temp_conditional___n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$9:int y:int* z:int \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_temp_conditional___n$9,&y,&z); [line 64, column 1]\n " color=yellow style=filled] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_1" [label="1: Start constructor_new::int_init_nodes\nFormals: \nLocals: x:int* 0$?%__sil_tmpSIL_temp_conditional___n$3:int y:int* z:int \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$3,&y,&z); [line 64, column 1]\n " color=yellow style=filled]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_1" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_18" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_1" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_2" [label="2: Exit constructor_new::int_init_nodes \n " color=yellow style=filled] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_2" [label="2: Exit constructor_new::int_init_nodes \n " color=yellow style=filled]
@ -119,69 +119,44 @@ digraph cfg {
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" [label="4: + \n " ] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" [label="4: + \n " ]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" [label="5: Call _fun_constructor_new::getValue \n n$3=_fun_constructor_new::getValue(0:int) [line 67, column 20]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" [label="5: Call _fun_constructor_new::getValue \n n$4=_fun_constructor_new::getValue(0:int) [line 67, column 20]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" [label="6: Prune (true branch) \n PRUNE(n$3, true); [line 67, column 20]\n " shape="invhouse"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" [label="6: Prune (true branch) \n PRUNE(n$4, true); [line 67, column 20]\n " shape="invhouse"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" [label="7: Prune (false branch) \n PRUNE(!n$3, false); [line 67, column 20]\n " shape="invhouse"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" [label="7: Prune (false branch) \n PRUNE(!n$4, false); [line 67, column 20]\n " shape="invhouse"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" [label="8: ConditinalStmt Branch \n n$4=_fun_constructor_new::getValue(1:int) [line 67, column 34]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=n$4 [line 67, column 20]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" [label="8: ConditinalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int) [line 67, column 34]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=n$5 [line 67, column 20]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" [label="9: ConditinalStmt Branch \n n$5=*&y:int* [line 67, column 53]\n n$6=*n$5:int [line 67, column 52]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=(1 + n$6) [line 67, column 20]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" [label="9: ConditinalStmt Branch \n n$6=*&y:int* [line 67, column 53]\n n$7=*n$6:int [line 67, column 52]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=(1 + n$7) [line 67, column 20]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" [label="10: + \n " ] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" [label="10: DeclStmt \n n$2=_fun___new(sizeof(t=int):unsigned long) [line 67, column 12]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 67, column 20]\n *n$2:int=n$8 [line 67, column 12]\n *&x:int*=n$2 [line 67, column 3]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_16" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" [label="11: Call _fun_constructor_new::getValue \n n$10=_fun_constructor_new::getValue(0:int) [line 67, column 20]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" [label="11: DeclStmt \n n$9=_fun___new(sizeof(t=int):unsigned long) [line 66, column 12]\n n$10=_fun_constructor_new::getValue(4:int) [line 66, column 20]\n *n$9:int=n$10 [line 66, column 12]\n *&y:int*=n$9 [line 66, column 3]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_13" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" [label="12: DeclStmt \n *&z:int=6 [line 65, column 3]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" [label="12: Prune (true branch) \n PRUNE(n$10, true); [line 67, column 20]\n " shape="invhouse"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_14" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_13" [label="13: Prune (false branch) \n PRUNE(!n$10, false); [line 67, column 20]\n " shape="invhouse"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_1" [label="1: Start constructor_new::constructor_nodes\nFormals: \nLocals: p:constructor_new::Person* 0$?%__sil_tmpSIL_temp_conditional___n$3:int z:int \n DECLARE_LOCALS(&return,&p,&0$?%__sil_tmpSIL_temp_conditional___n$3,&z); [line 71, column 1]\n " color=yellow style=filled]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_13" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_15" ; "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_1" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_14" [label="14: ConditinalStmt Branch \n n$11=_fun_constructor_new::getValue(1:int) [line 67, column 34]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:int=n$11 [line 67, column 20]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_14" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_15" [label="15: ConditinalStmt Branch \n n$12=*&y:int* [line 67, column 53]\n n$13=*n$12:int [line 67, column 52]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:int=(1 + n$13) [line 67, column 20]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_15" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_16" [label="16: DeclStmt \n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 67, column 20]\n n$8=_fun___new(sizeof(t=int):unsigned long) [line 67, column 12]\n n$14=*&0$?%__sil_tmpSIL_temp_conditional___n$9:int [line 67, column 20]\n *n$8:int=n$14 [line 67, column 12]\n *&x:int=-1 [line 67, column 3]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_16" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_17" [label="17: DeclStmt \n n$15=_fun_constructor_new::getValue(4:int) [line 66, column 20]\n n$16=_fun___new(sizeof(t=int):unsigned long) [line 66, column 12]\n n$17=_fun_constructor_new::getValue(4:int) [line 66, column 20]\n *n$16:int=n$17 [line 66, column 12]\n *&y:int=-1 [line 66, column 3]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_17" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" ;
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_18" [label="18: DeclStmt \n *&z:int=6 [line 65, column 3]\n " shape="box"]
"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_18" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_17" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_1" [label="1: Start constructor_new::constructor_nodes\nFormals: \nLocals: p:constructor_new::Person* 0$?%__sil_tmpSIL_temp_conditional___n$3:int 0$?%__sil_tmpSIL_temp_conditional___n$9:int z:int \n DECLARE_LOCALS(&return,&p,&0$?%__sil_tmpSIL_temp_conditional___n$3,&0$?%__sil_tmpSIL_temp_conditional___n$9,&z); [line 71, column 1]\n " color=yellow style=filled]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_1" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_17" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_2" [label="2: Exit constructor_new::constructor_nodes \n " color=yellow style=filled] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_2" [label="2: Exit constructor_new::constructor_nodes \n " color=yellow style=filled]
@ -192,7 +167,7 @@ digraph cfg {
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" [label="4: + \n " ] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" [label="4: + \n " ]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" ; "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" [label="5: Call _fun_constructor_new::getValue \n n$4=_fun_constructor_new::getValue(0:int) [line 73, column 26]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" [label="5: Call _fun_constructor_new::getValue \n n$4=_fun_constructor_new::getValue(0:int) [line 73, column 26]\n " shape="box"]
@ -214,40 +189,15 @@ digraph cfg {
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" ; "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" [label="10: + \n " ] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" [label="10: DeclStmt \n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 73, column 15]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 73, column 26]\n _fun_constructor_new::Person_Person(n$2:constructor_new::Person*,n$7:int) [line 73, column 19]\n *&p:constructor_new::Person*=n$2 [line 73, column 3]\n " shape="box"]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_16" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" [label="11: Call _fun_constructor_new::getValue \n n$10=_fun_constructor_new::getValue(0:int) [line 73, column 26]\n " shape="box"]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_12" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_13" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_12" [label="12: Prune (true branch) \n PRUNE(n$10, true); [line 73, column 26]\n " shape="invhouse"]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_12" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_14" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_13" [label="13: Prune (false branch) \n PRUNE(!n$10, false); [line 73, column 26]\n " shape="invhouse"]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_13" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_15" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_14" [label="14: ConditinalStmt Branch \n n$11=_fun_constructor_new::getValue(1:int) [line 73, column 40]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:int=n$11 [line 73, column 26]\n " shape="box"]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_14" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" ; "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_15" [label="15: ConditinalStmt Branch \n n$12=*&z:int [line 73, column 58]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:int=(1 + n$12) [line 73, column 26]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" [label="11: DeclStmt \n *&z:int=6 [line 72, column 3]\n " shape="box"]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_15" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" ; "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_11" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_16" [label="16: DeclStmt \n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 73, column 26]\n _fun_constructor_new::Person_Person(&p:constructor_new::Person**,n$7:int) [line 73, column 19]\n n$2=*&p:constructor_new::Person* [line 73, column 19]\n n$8=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 73, column 15]\n n$13=*&0$?%__sil_tmpSIL_temp_conditional___n$9:int [line 73, column 26]\n _fun_constructor_new::Person_Person(n$8:constructor_new::Person*,n$13:int) [line 73, column 19]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_1" [label="1: Start constructor_new::int_array\nFormals: \nLocals: x2:int* 0$?%__sil_tmpSIL_temp_conditional___n$6:int \n DECLARE_LOCALS(&return,&x2,&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 77, column 1]\n " color=yellow style=filled]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_16" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" ;
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_17" [label="17: DeclStmt \n *&z:int=6 [line 72, column 3]\n " shape="box"]
"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_17" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_1" [label="1: Start constructor_new::int_array\nFormals: \nLocals: x2:int* 0$?%__sil_tmpSIL_temp_conditional___n$6:int 0$?%__sil_tmpSIL_temp_conditional___n$10:int \n DECLARE_LOCALS(&return,&x2,&0$?%__sil_tmpSIL_temp_conditional___n$6,&0$?%__sil_tmpSIL_temp_conditional___n$10); [line 77, column 1]\n " color=yellow style=filled]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_1" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" ; "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_1" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" ;
@ -269,7 +219,7 @@ digraph cfg {
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" [label="6: + \n " ] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" [label="6: + \n " ]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" ; "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" [label="7: Call _fun_constructor_new::getValue \n n$7=_fun_constructor_new::getValue(5:int) [line 78, column 21]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" [label="7: Call _fun_constructor_new::getValue \n n$7=_fun_constructor_new::getValue(5:int) [line 78, column 21]\n " shape="box"]
@ -291,36 +241,26 @@ digraph cfg {
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" ; "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" [label="12: + \n " ] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" [label="12: DeclStmt \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 78, column 21]\n n$10=_fun___new_array((sizeof(t=int) * n$9):unsigned long) [line 78, column 13]\n *&x2:int*=n$10 [line 78, column 3]\n " shape="box"]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_18" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" [label="13: Call _fun_constructor_new::getValue \n n$11=_fun_constructor_new::getValue(5:int) [line 78, column 21]\n " shape="box"]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" ;
"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_1" [label="1: Start constructor_new::int_array_init\nFormals: \nLocals: arr:int* \n DECLARE_LOCALS(&return,&arr); [line 84, column 1]\n " color=yellow style=filled]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_14" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_13" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_15" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_14" [label="14: Prune (true branch) \n PRUNE(n$11, true); [line 78, column 21]\n " shape="invhouse"]
"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_1" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" ;
"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_2" [label="2: Exit constructor_new::int_array_init \n " color=yellow style=filled]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_14" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_16" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_15" [label="15: Prune (false branch) \n PRUNE(!n$11, false); [line 78, column 21]\n " shape="invhouse"]
"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" [label="3: Return Stmt \n n$0=*&arr:int* [line 86, column 16]\n n$1=*n$0[0]:int [line 86, column 16]\n n$2=*&arr:int* [line 86, column 25]\n n$3=*n$2[1]:int [line 86, column 25]\n n$4=*&arr:int* [line 86, column 34]\n n$5=*n$4[2]:int [line 86, column 34]\n n$6=*&arr:int* [line 86, column 43]\n n$7=*n$6[3]:int [line 86, column 43]\n n$8=*&arr:int* [line 86, column 52]\n n$9=*n$8[4]:int [line 86, column 52]\n *&return:int=(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 86, column 3]\n " shape="box"]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_15" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_17" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_16" [label="16: ConditinalStmt Branch \n n$12=_fun_constructor_new::getValue(5:int) [line 78, column 35]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int=n$12 [line 78, column 21]\n " shape="box"]
"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_2" ;
"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" [label="4: DeclStmt \n n$10=_fun___new_array((sizeof(t=int) * 100):unsigned long) [line 85, column 14]\n *n$10[0]:int=1 [line 85, column 26]\n *n$10[1]:int=2 [line 85, column 26]\n *n$10[2]:int=3 [line 85, column 26]\n *n$10[3]:int=4 [line 85, column 26]\n *n$10[4]:int=5 [line 85, column 26]\n *n$10[5]:int=6 [line 85, column 26]\n *n$10[6]:int=7 [line 85, column 26]\n *n$10[7]:int=8 [line 85, column 26]\n *n$10[8]:int=9 [line 85, column 26]\n *n$10[9]:int=10 [line 85, column 26]\n *&arr:int*=n$10 [line 85, column 3]\n " shape="box"]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_16" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_17" [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int=3 [line 78, column 21]\n " shape="box"]
"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" ;
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_17" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" ; "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_1" [label="1: Start constructor_new::array_of_class_with_not_constant_size\nFormals: \nLocals: tarray:constructor_new::Person* 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&tarray,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 90, column 1]\n " color=yellow style=filled]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_18" [label="18: DeclStmt \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 78, column 21]\n n$13=*&0$?%__sil_tmpSIL_temp_conditional___n$10:int [line 78, column 21]\n n$14=_fun___new_array((sizeof(t=int) * n$13):unsigned long) [line 78, column 13]\n *&x2:int=-1 [line 78, column 3]\n " shape="box"]
"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_18" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_1" [label="1: Start constructor_new::array_of_class_with_not_constant_size\nFormals: \nLocals: tarray:constructor_new::Person* 0$?%__sil_tmpSIL_temp_conditional___n$1:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int \n DECLARE_LOCALS(&return,&tarray,&0$?%__sil_tmpSIL_temp_conditional___n$1,&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 90, column 1]\n " color=yellow style=filled]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_1" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_4" ; "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_1" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_4" ;
@ -330,56 +270,32 @@ digraph cfg {
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" [label="3: + \n " ] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" [label="3: + \n " ]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_4" [label="4: BinaryOperatorStmt: EQ \n n$2=_fun_constructor_new::getValue(5:int) [line 91, column 31]\n " shape="box"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_4" [label="4: BinaryOperatorStmt: EQ \n n$1=_fun_constructor_new::getValue(5:int) [line 91, column 31]\n " shape="box"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_4" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_5" ; "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_4" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_5" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_4" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_6" ; "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_4" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_6" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_5" [label="5: Prune (true branch) \n PRUNE((n$2 == 5), true); [line 91, column 31]\n " shape="invhouse"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_5" [label="5: Prune (true branch) \n PRUNE((n$1 == 5), true); [line 91, column 31]\n " shape="invhouse"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_5" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_7" ; "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_5" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_7" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_6" [label="6: Prune (false branch) \n PRUNE(!(n$2 == 5), false); [line 91, column 31]\n " shape="invhouse"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_6" [label="6: Prune (false branch) \n PRUNE(!(n$1 == 5), false); [line 91, column 31]\n " shape="invhouse"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_6" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" ; "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_6" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=5 [line 91, column 31]\n " shape="box"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=5 [line 91, column 31]\n " shape="box"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_7" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" ; "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_7" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=3 [line 91, column 31]\n " shape="box"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=3 [line 91, column 31]\n " shape="box"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" ; "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" [label="9: + \n " ] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" [label="9: DeclStmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 91, column 31]\n n$3=_fun___new_array((sizeof(t=constructor_new::Person) * n$2):unsigned long) [line 91, column 20]\n *&tarray:constructor_new::Person*=n$3 [line 91, column 3]\n " shape="box"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_15" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_10" [label="10: BinaryOperatorStmt: EQ \n n$5=_fun_constructor_new::getValue(5:int) [line 91, column 31]\n " shape="box"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_10" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_11" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_10" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_12" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_11" [label="11: Prune (true branch) \n PRUNE((n$5 == 5), true); [line 91, column 31]\n " shape="invhouse"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_11" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_13" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_12" [label="12: Prune (false branch) \n PRUNE(!(n$5 == 5), false); [line 91, column 31]\n " shape="invhouse"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_12" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_14" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_13" [label="13: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=5 [line 91, column 31]\n " shape="box"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_13" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_14" [label="14: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 91, column 31]\n " shape="box"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_14" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" ;
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_15" [label="15: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 91, column 31]\n _fun_constructor_new::Person_Person(&tarray:constructor_new::Person**) [line 91, column 24]\n n$0=*&tarray:constructor_new::Person* [line 91, column 24]\n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 91, column 31]\n n$7=_fun___new_array((sizeof(t=constructor_new::Person) * n$6):unsigned long) [line 91, column 20]\n " shape="box"]
"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_15" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_2" ; "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_2" ;
"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_1" [label="1: Start constructor_new::array_of_person_with_constant_size\nFormals: \nLocals: tarray:constructor_new::Person* \n DECLARE_LOCALS(&return,&tarray); [line 95, column 1]\n " color=yellow style=filled] "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_1" [label="1: Start constructor_new::array_of_person_with_constant_size\nFormals: \nLocals: tarray:constructor_new::Person* \n DECLARE_LOCALS(&return,&tarray); [line 95, column 1]\n " color=yellow style=filled]
@ -387,7 +303,7 @@ digraph cfg {
"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_2" [label="2: Exit constructor_new::array_of_person_with_constant_size \n " color=yellow style=filled] "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_2" [label="2: Exit constructor_new::array_of_person_with_constant_size \n " color=yellow style=filled]
"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" [label="3: DeclStmt \n _fun_constructor_new::Person_Person(&tarray:constructor_new::Person**) [line 95, column 66]\n n$0=*&tarray:constructor_new::Person* [line 95, column 66]\n n$1=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 95, column 62]\n _fun_constructor_new::Person_Person(n$1[0]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$1[1]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$1[2]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$1[3]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$1[4]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$1[5]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$1[6]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$1[7]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$1[8]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$1[9]:constructor_new::Person[_*_](*)) [line 95, column 66]\n " shape="box"] "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" [label="3: DeclStmt \n n$0=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 95, column 62]\n _fun_constructor_new::Person_Person(n$0[0]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[1]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[2]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[3]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[4]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[5]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[6]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[7]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[8]:constructor_new::Person[_*_](*)) [line 95, column 66]\n _fun_constructor_new::Person_Person(n$0[9]:constructor_new::Person[_*_](*)) [line 95, column 66]\n *&tarray:constructor_new::Person*=n$0 [line 95, column 45]\n " shape="box"]
"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" -> "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_2" ; "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" -> "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_2" ;
@ -398,11 +314,11 @@ digraph cfg {
"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_2" [label="2: Exit constructor_new::matrix_of_person \n " color=yellow style=filled] "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_2" [label="2: Exit constructor_new::matrix_of_person \n " color=yellow style=filled]
"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&tarray:constructor_new::Person** [line 100, column 3]\n _fun_constructor_new::Person_Person(n$0[0]:constructor_new::Person**) [line 100, column 19]\n n$1=*n$0[0]:constructor_new::Person* [line 100, column 19]\n n$2=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 100, column 15]\n _fun_constructor_new::Person_Person(n$2[0]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$2[1]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$2[2]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$2[3]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$2[4]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$2[5]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$2[6]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$2[7]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$2[8]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$2[9]:constructor_new::Person[_*_](*)) [line 100, column 19]\n " shape="box"] "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&tarray:constructor_new::Person** [line 100, column 3]\n n$1=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 100, column 15]\n _fun_constructor_new::Person_Person(n$1[0]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[1]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[2]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[3]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[4]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[5]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[6]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[7]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[8]:constructor_new::Person[_*_](*)) [line 100, column 19]\n _fun_constructor_new::Person_Person(n$1[9]:constructor_new::Person[_*_](*)) [line 100, column 19]\n *n$0[0]:constructor_new::Person*=n$1 [line 100, column 3]\n " shape="box"]
"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" -> "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_2" ; "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" -> "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_2" ;
"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" [label="4: DeclStmt \n n$3=_fun___new_array((sizeof(t=constructor_new::Person*) * 10):unsigned long) [line 99, column 21]\n *&tarray:int=-1 [line 99, column 3]\n " shape="box"] "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" [label="4: DeclStmt \n n$2=_fun___new_array((sizeof(t=constructor_new::Person*) * 10):unsigned long) [line 99, column 21]\n *&tarray:constructor_new::Person**=n$2 [line 99, column 3]\n " shape="box"]
"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" -> "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" ; "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" -> "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" ;

@ -107,7 +107,7 @@ digraph cfg {
"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_2" ; "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_2" ;
"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" [label="4: DeclStmt \n _fun_Triangle_Triangle(&trgl:Polygon**) [line 71, column 23]\n n$1=*&trgl:Polygon* [line 71, column 23]\n n$2=_fun___new(sizeof(t=Triangle):unsigned long) [line 71, column 19]\n _fun_Triangle_Triangle(n$2:Triangle*) [line 71, column 23]\n " shape="box"] "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" [label="4: DeclStmt \n n$1=_fun___new(sizeof(t=Triangle):unsigned long) [line 71, column 19]\n _fun_Triangle_Triangle(n$1:Triangle*) [line 71, column 23]\n *&trgl:Triangle*=n$1 [line 71, column 3]\n " shape="box"]
"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" ; "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" ;

@ -31,15 +31,15 @@ digraph cfg {
"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_7" ; "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_7" ;
"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" [label="9: DeclStmt \n _fun_Sub_Sub(&s2:Sub**) [line 24, column 17]\n n$18=*&s2:Sub* [line 24, column 17]\n n$19=_fun___new(sizeof(t=Sub):unsigned long) [line 24, column 13]\n _fun_Sub_Sub(n$19:Sub*) [line 24, column 17]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" [label="9: DeclStmt \n n$18=_fun___new(sizeof(t=Sub):unsigned long) [line 24, column 13]\n _fun_Sub_Sub(n$18:Sub*) [line 24, column 17]\n *&s2:Sub*=n$18 [line 24, column 3]\n " shape="box"]
"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" ; "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" ;
"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" [label="10: DeclStmt \n _fun_Sub_Sub(&s1:Base**) [line 23, column 18]\n n$20=*&s1:Base* [line 23, column 18]\n n$21=_fun___new(sizeof(t=Sub):unsigned long) [line 23, column 14]\n _fun_Sub_Sub(n$21:Sub*) [line 23, column 18]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" [label="10: DeclStmt \n n$19=_fun___new(sizeof(t=Sub):unsigned long) [line 23, column 14]\n _fun_Sub_Sub(n$19:Sub*) [line 23, column 18]\n *&s1:Sub*=n$19 [line 23, column 3]\n " shape="box"]
"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" ; "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" ;
"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" [label="11: DeclStmt \n _fun_Base_Base(&b:Base**) [line 22, column 17]\n n$22=*&b:Base* [line 22, column 17]\n n$23=_fun___new(sizeof(t=Base):unsigned long) [line 22, column 13]\n _fun_Base_Base(n$23:Base*) [line 22, column 17]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" [label="11: DeclStmt \n n$20=_fun___new(sizeof(t=Base):unsigned long) [line 22, column 13]\n _fun_Base_Base(n$20:Base*) [line 22, column 17]\n *&b:Base*=n$20 [line 22, column 3]\n " shape="box"]
"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" ; "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" ;

Loading…
Cancel
Save