diff --git a/infer/src/IR/Sil.ml b/infer/src/IR/Sil.ml index ea368ff7b..9f32541f2 100644 --- a/infer/src/IR/Sil.ml +++ b/infer/src/IR/Sil.ml @@ -386,6 +386,24 @@ let instr_get_exps = function [] +(** Convert an if_kind to string *) +let if_kind_to_string = function + | Ik_bexp -> + "boolean exp" + | Ik_dowhile -> + "do while" + | Ik_for -> + "for loop" + | Ik_if -> + "if" + | Ik_land_lor -> + "obtained from && or ||" + | Ik_while -> + "while" + | Ik_switch -> + "switch" + + (** Pretty print an instruction. *) let pp_instr pe0 f instr = let pe, changed = color_pre_wrapper pe0 f instr in diff --git a/infer/src/IR/Sil.mli b/infer/src/IR/Sil.mli index 1f801165e..cd3c21690 100644 --- a/infer/src/IR/Sil.mli +++ b/infer/src/IR/Sil.mli @@ -305,6 +305,9 @@ val instr_get_loc : instr -> Location.t val instr_get_exps : instr -> Exp.t list (** get the expressions occurring in the instruction *) +val if_kind_to_string : if_kind -> string +(** Pretty print an if_kind *) + val pp_instr : Pp.env -> F.formatter -> instr -> unit (** Pretty print an instruction. *) diff --git a/infer/src/backend/dotty.ml b/infer/src/backend/dotty.ml index bab48c776..eeab1a7b6 100644 --- a/infer/src/backend/dotty.ml +++ b/infer/src/backend/dotty.ml @@ -1112,8 +1112,8 @@ let pp_cfgnodelabel pdesc fmt (n: Procdesc.Node.t) = Format.fprintf fmt "Exit %s" (Escape.escape_dotty (Typ.Procname.to_string pname)) | Procdesc.Node.Join_node -> Format.fprintf fmt "+" - | Procdesc.Node.Prune_node (is_true_branch, _, _) -> - Format.fprintf fmt "Prune (%b branch)" is_true_branch + | Procdesc.Node.Prune_node (is_true_branch, if_kind, _) -> + Format.fprintf fmt "Prune (%b branch, %s)" is_true_branch (Sil.if_kind_to_string if_kind) | Procdesc.Node.Stmt_node s -> Format.fprintf fmt " %s" s | Procdesc.Node.Skip_node s -> diff --git a/infer/src/clang/cTrans.ml b/infer/src/clang/cTrans.ml index 5eec67d3a..fb514544f 100644 --- a/infer/src/clang/cTrans.ml +++ b/infer/src/clang/cTrans.ml @@ -1506,7 +1506,8 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s let continuation' = mk_cond_continuation trans_state.continuation in let trans_state' = {trans_state with continuation= continuation'; succ_nodes= []} in let res_trans_cond = - exec_with_priority_exception trans_state' cond (cond_trans ~negate_cond:false) + exec_with_priority_exception trans_state' cond + (cond_trans ~if_kind:Sil.Ik_bexp ~negate_cond:false) in (* Note: by contruction prune nodes are leafs_nodes_cond *) do_branch true exp1 var_typ res_trans_cond.leaf_nodes join_node pvar ; @@ -1557,12 +1558,12 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s (* Translate a condition for if/loops statement. It shorts-circuit and/or. *) (* The invariant is that the translation of a condition always contains (at least) *) (* the prune nodes. Moreover these are always the leaf nodes of the translation. *) - and cond_trans ~negate_cond trans_state cond = + and cond_trans ~if_kind ~negate_cond trans_state cond = let context = trans_state.context in let si, _ = Clang_ast_proj.get_stmt_tuple cond in let sil_loc = CLocation.get_sil_location si context in let mk_prune_node ~branch ~negate_cond e ins = - create_prune_node ~branch ~negate_cond e ins sil_loc Sil.Ik_if context + create_prune_node ~branch ~negate_cond e ins sil_loc if_kind context in let extract_exp el = extract_exp_from_list el @@ -1615,11 +1616,11 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s (* translation of s2 (i.e., the case when we need to fully evaluate*) (* the condition to decide its truth value). *) let short_circuit binop s1 s2 = - let res_trans_s1 = cond_trans ~negate_cond trans_state s1 in + let res_trans_s1 = cond_trans ~if_kind ~negate_cond trans_state s1 in let prune_nodes_t, prune_nodes_f = List.partition_tf ~f:is_true_prune_node res_trans_s1.leaf_nodes in - let res_trans_s2 = cond_trans ~negate_cond trans_state s2 in + let res_trans_s2 = cond_trans ~if_kind ~negate_cond trans_state s2 in (* prune_to_s2 is the prune node that is connected with the root node of the *) (* translation of s2.*) (* prune_to_short_c is the prune node that is connected directly with the branch *) @@ -1665,9 +1666,9 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s no_short_circuit_cond ~is_cmp:false ) | ParenExpr (_, [s], _) -> (* condition can be wrapped in parenthesys *) - cond_trans ~negate_cond trans_state s + cond_trans ~if_kind ~negate_cond trans_state s | UnaryOperator (_, [s], _, {uoi_kind= `LNot}) -> - cond_trans ~negate_cond:(not negate_cond) trans_state s + cond_trans ~if_kind ~negate_cond:(not negate_cond) trans_state s | _ -> no_short_circuit_cond ~is_cmp:false @@ -1710,7 +1711,7 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s (* set the flat to inform that we are translating a condition of a if *) let continuation' = mk_cond_continuation trans_state.continuation in let trans_state'' = {trans_state with continuation= continuation'; succ_nodes= []} in - let res_trans_cond = cond_trans ~negate_cond:false trans_state'' cond in + let res_trans_cond = cond_trans ~if_kind:Sil.Ik_if ~negate_cond:false trans_state'' cond in let res_trans_decl = declStmt_in_condition_trans trans_state decl_stmt res_trans_cond in (* Note: by contruction prune nodes are leafs_nodes_cond *) do_branch true stmt1 res_trans_cond.leaf_nodes ; @@ -1923,7 +1924,16 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s in let cond_stmt = Loops.get_cond loop_kind in let trans_state_cond = {trans_state with continuation= continuation_cond; succ_nodes= []} in - let res_trans_cond = cond_trans ~negate_cond:false trans_state_cond cond_stmt in + let if_kind = + match loop_kind with + | Loops.For _ -> + Sil.Ik_for + | Loops.While _ -> + Sil.Ik_while + | Loops.DoWhile _ -> + Sil.Ik_dowhile + in + let res_trans_cond = cond_trans ~if_kind ~negate_cond:false trans_state_cond cond_stmt in let res_trans_decl = match loop_kind with | Loops.For {decl_stmt} | Loops.While {decl_stmt} -> diff --git a/infer/src/clang/cTrans_utils.ml b/infer/src/clang/cTrans_utils.ml index f020a3e2f..32e93f3f3 100644 --- a/infer/src/clang/cTrans_utils.ml +++ b/infer/src/clang/cTrans_utils.ml @@ -35,7 +35,7 @@ let extract_exp_from_list el warning_string = module Nodes = struct - let prune_kind b = Procdesc.Node.Prune_node (b, Sil.Ik_bexp, string_of_bool b ^ " Branch") + let prune_kind b if_kind = Procdesc.Node.Prune_node (b, if_kind, string_of_bool b ^ " Branch") let is_true_prune_node n = match Procdesc.Node.get_kind n with @@ -50,14 +50,14 @@ module Nodes = struct Procdesc.create_node procdesc loc node_kind instrs - let create_prune_node ~branch ~negate_cond e_cond instrs_cond loc ik context = + let create_prune_node ~branch ~negate_cond e_cond instrs_cond loc if_kind context = let e_cond', _ = extract_exp_from_list e_cond "@\nWARNING: Missing expression for Conditional operator. Need to be fixed" in let e_cond'' = if negate_cond then Exp.UnOp (Unop.LNot, e_cond', None) else e_cond' in - let instrs_cond' = instrs_cond @ [Sil.Prune (e_cond'', loc, branch, ik)] in - create_node (prune_kind branch) instrs_cond' loc context + let instrs_cond' = instrs_cond @ [Sil.Prune (e_cond'', loc, branch, if_kind)] in + create_node (prune_kind branch if_kind) instrs_cond' loc context (** Check if this binary opertor requires the creation of a node in the cfg. *) @@ -504,8 +504,9 @@ let trans_assertion_failure sil_loc (context: CContext.t) = let trans_assume_false sil_loc (context: CContext.t) succ_nodes = - let instrs_cond = [Sil.Prune (Exp.zero, sil_loc, true, Sil.Ik_land_lor)] in - let prune_node = Nodes.create_node (Nodes.prune_kind true) instrs_cond sil_loc context in + let if_kind = Sil.Ik_land_lor in + let instrs_cond = [Sil.Prune (Exp.zero, sil_loc, true, if_kind)] in + let prune_node = Nodes.create_node (Nodes.prune_kind true if_kind) instrs_cond sil_loc context in Procdesc.node_set_succs_exn context.procdesc prune_node succ_nodes [] ; {empty_res_trans with root_nodes= [prune_node]; leaf_nodes= [prune_node]} diff --git a/infer/tests/build_systems/diff/fixed.exp b/infer/tests/build_systems/diff/fixed.exp index 63f11bfd5..e050352dd 100644 --- a/infer/tests/build_systems/diff/fixed.exp +++ b/infer/tests/build_systems/diff/fixed.exp @@ -1 +1 @@ -src/hello.c, test3, 3, MEMORY_LEAK, ERROR, [start of procedure test3(),Condition is true] +src/hello.c, test3, 3, MEMORY_LEAK, ERROR, [start of procedure test3(),Taking true branch] diff --git a/infer/tests/build_systems/diff_gen_build_script/introduced.exp b/infer/tests/build_systems/diff_gen_build_script/introduced.exp index 847cb0ef4..2ab7e8db2 100644 --- a/infer/tests/build_systems/diff_gen_build_script/introduced.exp +++ b/infer/tests/build_systems/diff_gen_build_script/introduced.exp @@ -1 +1 @@ -src/some_different_bugs.c, test3, 3, MEMORY_LEAK, ERROR, [start of procedure test3(),Condition is true] +src/some_different_bugs.c, test3, 3, MEMORY_LEAK, ERROR, [start of procedure test3(),Taking true branch] diff --git a/infer/tests/build_systems/objc_getters_setters/issues.exp b/infer/tests/build_systems/objc_getters_setters/issues.exp index 30c307493..ddc4604b6 100644 --- a/infer/tests/build_systems/objc_getters_setters/issues.exp +++ b/infer/tests/build_systems/objc_getters_setters/issues.exp @@ -1,5 +1,5 @@ -build_systems/codetoanalyze/objc_getters_setters/B.m, B_calling_c_function_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, ERROR, [start of procedure calling_c_function_with_block_parameters_sets_fields_correctly,start of procedure calling_c_function_with_block_parameters,start of procedure c_function(),start of procedure block,return from a call to objc_blockB_calling_c_function_with_block_parameters_3,start of procedure block,return from a call to objc_blockB_calling_c_function_with_block_parameters_4,return from a call to c_function_objc_blockB_calling_c_function_with_block_parameters_3_objc_blockB_calling_c_function_with_block_parameters_4,return from a call to B_calling_c_function_with_block_parameters,Condition is true] -build_systems/codetoanalyze/objc_getters_setters/B.m, B_calling_method_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, ERROR, [start of procedure calling_method_with_block_parameters_sets_fields_correctly,start of procedure calling_method_with_block_parameters,start of procedure foo:and:and_also:and:,start of procedure block,return from a call to objc_blockB_calling_method_with_block_parameters_1,start of procedure block,return from a call to objc_blockB_calling_method_with_block_parameters_2,return from a call to A_foo:and:and_also:and:_objc_blockB_calling_method_with_block_parameters_1_objc_blockB_calling_method_with_block_parameters_2,return from a call to B_calling_method_with_block_parameters,Condition is true] +build_systems/codetoanalyze/objc_getters_setters/B.m, B_calling_c_function_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, ERROR, [start of procedure calling_c_function_with_block_parameters_sets_fields_correctly,start of procedure calling_c_function_with_block_parameters,start of procedure c_function(),start of procedure block,return from a call to objc_blockB_calling_c_function_with_block_parameters_3,start of procedure block,return from a call to objc_blockB_calling_c_function_with_block_parameters_4,return from a call to c_function_objc_blockB_calling_c_function_with_block_parameters_3_objc_blockB_calling_c_function_with_block_parameters_4,return from a call to B_calling_c_function_with_block_parameters,Taking true branch] +build_systems/codetoanalyze/objc_getters_setters/B.m, B_calling_method_with_block_parameters_sets_fields_correctly, 5, NULL_DEREFERENCE, ERROR, [start of procedure calling_method_with_block_parameters_sets_fields_correctly,start of procedure calling_method_with_block_parameters,start of procedure foo:and:and_also:and:,start of procedure block,return from a call to objc_blockB_calling_method_with_block_parameters_1,start of procedure block,return from a call to objc_blockB_calling_method_with_block_parameters_2,return from a call to A_foo:and:and_also:and:_objc_blockB_calling_method_with_block_parameters_1_objc_blockB_calling_method_with_block_parameters_2,return from a call to B_calling_method_with_block_parameters,Taking true branch] build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_bad_footprint_in_getter:, 3, NULL_DEREFERENCE, ERROR, [start of procedure npe_no_bad_footprint_in_getter:,Executing synthesized getter metadata] build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_bad_footprint_in_setter:andMetadata:, 3, NULL_DEREFERENCE, ERROR, [start of procedure npe_no_bad_footprint_in_setter:andMetadata:,Executing synthesized setter setMetadata:] -build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_precondition_not_met:, 4, NULL_DEREFERENCE, ERROR, [start of procedure npe_no_precondition_not_met:,start of procedure infer_field_get_spec:,start of procedure withMetadata:,return from a call to A_withMetadata:,return from a call to B_infer_field_get_spec:,start of procedure getX,return from a call to A_getX,Condition is true] +build_systems/codetoanalyze/objc_getters_setters/B.m, B_npe_no_precondition_not_met:, 4, NULL_DEREFERENCE, ERROR, [start of procedure npe_no_precondition_not_met:,start of procedure infer_field_get_spec:,start of procedure withMetadata:,return from a call to A_withMetadata:,return from a call to B_infer_field_get_spec:,start of procedure getX,return from a call to A_getX,Taking true branch] diff --git a/infer/tests/codetoanalyze/c/biabduction/issues.exp b/infer/tests/codetoanalyze/c/biabduction/issues.exp index 2451a7f88..8de63bed0 100644 --- a/infer/tests/codetoanalyze/c/biabduction/issues.exp +++ b/infer/tests/codetoanalyze/c/biabduction/issues.exp @@ -1,8 +1,8 @@ codetoanalyze/c/biabduction/abduce.c, FN_set_ptr_param_array_get_null_bad, 3, PRECONDITION_NOT_MET, WARNING, [start of procedure FN_set_ptr_param_array_get_null_bad()] codetoanalyze/c/biabduction/example.c, bar, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure bar()] codetoanalyze/c/biabduction/example.c, foo, 2, NULL_DEREFERENCE, ERROR, [start of procedure foo()] -codetoanalyze/c/biabduction/example.c, global_addr_alias_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure global_addr_alias_bad(),Condition is true] -codetoanalyze/c/biabduction/example.c, local_addr_noalias_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure local_addr_noalias_bad(),Condition is true] +codetoanalyze/c/biabduction/example.c, global_addr_alias_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure global_addr_alias_bad(),Taking true branch] +codetoanalyze/c/biabduction/example.c, local_addr_noalias_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure local_addr_noalias_bad(),Taking true branch] codetoanalyze/c/biabduction/example.c, null_dereference_following_function_pointer_call_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure null_dereference_following_function_pointer_call_bad(),Skipping __function_pointer__(): unresolved function pointer] -codetoanalyze/c/biabduction/shift.c, return_null_deref1_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure return_null_deref1_bad(),start of procedure return_depends_on_lshift(),Condition is true,return from a call to return_depends_on_lshift] -codetoanalyze/c/biabduction/shift.c, return_null_deref2_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure return_null_deref2_bad(),start of procedure return_depends_on_rshift(),Condition is true,return from a call to return_depends_on_rshift] +codetoanalyze/c/biabduction/shift.c, return_null_deref1_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure return_null_deref1_bad(),start of procedure return_depends_on_lshift(),Taking true branch,return from a call to return_depends_on_lshift] +codetoanalyze/c/biabduction/shift.c, return_null_deref2_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure return_null_deref2_bad(),start of procedure return_depends_on_rshift(),Taking true branch,return from a call to return_depends_on_rshift] diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/negate.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/negate.c.dot index 656d56fd1..24856c340 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/negate.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/negate.c.dot @@ -12,11 +12,11 @@ digraph cfg { "neg_char.53ef6b31d84386046a4728d1c45b5f7a_3" -> "neg_char.53ef6b31d84386046a4728d1c45b5f7a_8" ; -"neg_char.53ef6b31d84386046a4728d1c45b5f7a_4" [label="4: Prune (true branch) \n n$1=*&a:char [line 12, column 32]\n PRUNE(n$1, true); [line 12, column 32]\n " shape="invhouse"] +"neg_char.53ef6b31d84386046a4728d1c45b5f7a_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&a:char [line 12, column 32]\n PRUNE(n$1, true); [line 12, column 32]\n " shape="invhouse"] "neg_char.53ef6b31d84386046a4728d1c45b5f7a_4" -> "neg_char.53ef6b31d84386046a4728d1c45b5f7a_6" ; -"neg_char.53ef6b31d84386046a4728d1c45b5f7a_5" [label="5: Prune (false branch) \n n$1=*&a:char [line 12, column 32]\n PRUNE(!n$1, false); [line 12, column 32]\n " shape="invhouse"] +"neg_char.53ef6b31d84386046a4728d1c45b5f7a_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&a:char [line 12, column 32]\n PRUNE(!n$1, false); [line 12, column 32]\n " shape="invhouse"] "neg_char.53ef6b31d84386046a4728d1c45b5f7a_5" -> "neg_char.53ef6b31d84386046a4728d1c45b5f7a_7" ; @@ -44,11 +44,11 @@ digraph cfg { "neg_bool.e953d6477eaaeafaa430423a26fbaac9_3" -> "neg_bool.e953d6477eaaeafaa430423a26fbaac9_8" ; -"neg_bool.e953d6477eaaeafaa430423a26fbaac9_4" [label="4: Prune (true branch) \n n$1=*&a:_Bool [line 14, column 33]\n PRUNE(n$1, true); [line 14, column 33]\n " shape="invhouse"] +"neg_bool.e953d6477eaaeafaa430423a26fbaac9_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&a:_Bool [line 14, column 33]\n PRUNE(n$1, true); [line 14, column 33]\n " shape="invhouse"] "neg_bool.e953d6477eaaeafaa430423a26fbaac9_4" -> "neg_bool.e953d6477eaaeafaa430423a26fbaac9_6" ; -"neg_bool.e953d6477eaaeafaa430423a26fbaac9_5" [label="5: Prune (false branch) \n n$1=*&a:_Bool [line 14, column 33]\n PRUNE(!n$1, false); [line 14, column 33]\n " shape="invhouse"] +"neg_bool.e953d6477eaaeafaa430423a26fbaac9_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&a:_Bool [line 14, column 33]\n PRUNE(!n$1, false); [line 14, column 33]\n " shape="invhouse"] "neg_bool.e953d6477eaaeafaa430423a26fbaac9_5" -> "neg_bool.e953d6477eaaeafaa430423a26fbaac9_7" ; @@ -76,11 +76,11 @@ digraph cfg { "neg_int.2aa25aca565c41dd997912d11504462c_3" -> "neg_int.2aa25aca565c41dd997912d11504462c_8" ; -"neg_int.2aa25aca565c41dd997912d11504462c_4" [label="4: Prune (true branch) \n n$1=*&a:int [line 10, column 30]\n PRUNE(n$1, true); [line 10, column 30]\n " shape="invhouse"] +"neg_int.2aa25aca565c41dd997912d11504462c_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&a:int [line 10, column 30]\n PRUNE(n$1, true); [line 10, column 30]\n " shape="invhouse"] "neg_int.2aa25aca565c41dd997912d11504462c_4" -> "neg_int.2aa25aca565c41dd997912d11504462c_6" ; -"neg_int.2aa25aca565c41dd997912d11504462c_5" [label="5: Prune (false branch) \n n$1=*&a:int [line 10, column 30]\n PRUNE(!n$1, false); [line 10, column 30]\n " shape="invhouse"] +"neg_int.2aa25aca565c41dd997912d11504462c_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&a:int [line 10, column 30]\n PRUNE(!n$1, false); [line 10, column 30]\n " shape="invhouse"] "neg_int.2aa25aca565c41dd997912d11504462c_5" -> "neg_int.2aa25aca565c41dd997912d11504462c_7" ; diff --git a/infer/tests/codetoanalyze/c/frontend/booleans/condition_as_param.c.dot b/infer/tests/codetoanalyze/c/frontend/booleans/condition_as_param.c.dot index bac5da6ab..62340e627 100644 --- a/infer/tests/codetoanalyze/c/frontend/booleans/condition_as_param.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/booleans/condition_as_param.c.dot @@ -16,11 +16,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch) \n PRUNE((n$1 < 2), true); [line 14, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$1 < 2), true); [line 14, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch) \n PRUNE(!(n$1 < 2), false); [line 14, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$1 < 2), false); [line 14, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/array_access.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/array_access.c.dot index 8e03fb85f..98d7bd8f6 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/array_access.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/array_access.c.dot @@ -25,11 +25,11 @@ digraph cfg { "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_6" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_7" ; "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_6" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_8" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_7" [label="7: Prune (true branch) \n n$1=*n$0:int* [line 17, column 7]\n n$4=*n$3:int [line 17, column 12]\n n$5=*n$1[n$4]:int [line 17, column 7]\n PRUNE(n$5, true); [line 17, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_7" [label="7: Prune (true branch, if) \n n$1=*n$0:int* [line 17, column 7]\n n$4=*n$3:int [line 17, column 12]\n n$5=*n$1[n$4]:int [line 17, column 7]\n PRUNE(n$5, true); [line 17, column 7]\n " shape="invhouse"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_7" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_3" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_8" [label="8: Prune (false branch) \n n$1=*n$0:int* [line 17, column 7]\n n$4=*n$3:int [line 17, column 12]\n n$5=*n$1[n$4]:int [line 17, column 7]\n PRUNE(!n$5, false); [line 17, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_8" [label="8: Prune (false branch, if) \n n$1=*n$0:int* [line 17, column 7]\n n$4=*n$3:int [line 17, column 12]\n n$5=*n$1[n$4]:int [line 17, column 7]\n PRUNE(!n$5, false); [line 17, column 7]\n " shape="invhouse"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_8" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_3" ; @@ -42,11 +42,11 @@ digraph cfg { "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_10" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_11" ; "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_10" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_12" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_11" [label="11: Prune (true branch) \n n$6=*&p:int** [line 15, column 7]\n n$9=*n$8:int [line 15, column 9]\n n$10=*n$6[n$9]:int* [line 15, column 7]\n PRUNE(n$10, true); [line 15, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_11" [label="11: Prune (true branch, if) \n n$6=*&p:int** [line 15, column 7]\n n$9=*n$8:int [line 15, column 9]\n n$10=*n$6[n$9]:int* [line 15, column 7]\n PRUNE(n$10, true); [line 15, column 7]\n " shape="invhouse"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_11" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_9" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_12" [label="12: Prune (false branch) \n n$6=*&p:int** [line 15, column 7]\n n$9=*n$8:int [line 15, column 9]\n n$10=*n$6[n$9]:int* [line 15, column 7]\n PRUNE(!n$10, false); [line 15, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_12" [label="12: Prune (false branch, if) \n n$6=*&p:int** [line 15, column 7]\n n$9=*n$8:int [line 15, column 9]\n n$10=*n$6[n$9]:int* [line 15, column 7]\n PRUNE(!n$10, false); [line 15, column 7]\n " shape="invhouse"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_12" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_9" ; @@ -59,11 +59,11 @@ digraph cfg { "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_14" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_15" ; "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_14" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_16" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_15" [label="15: Prune (true branch) \n n$12=*n$11:int* [line 13, column 7]\n n$13=*n$12[1]:int [line 13, column 7]\n PRUNE(n$13, true); [line 13, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_15" [label="15: Prune (true branch, if) \n n$12=*n$11:int* [line 13, column 7]\n n$13=*n$12[1]:int [line 13, column 7]\n PRUNE(n$13, true); [line 13, column 7]\n " shape="invhouse"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_15" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_13" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_16" [label="16: Prune (false branch) \n n$12=*n$11:int* [line 13, column 7]\n n$13=*n$12[1]:int [line 13, column 7]\n PRUNE(!n$13, false); [line 13, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_16" [label="16: Prune (false branch, if) \n n$12=*n$11:int* [line 13, column 7]\n n$13=*n$12[1]:int [line 13, column 7]\n PRUNE(!n$13, false); [line 13, column 7]\n " shape="invhouse"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_16" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_13" ; @@ -71,11 +71,11 @@ digraph cfg { "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_17" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_14" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_18" [label="18: Prune (true branch) \n n$14=*&p:int** [line 11, column 7]\n n$15=*n$14[0]:int* [line 11, column 7]\n PRUNE(n$15, true); [line 11, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_18" [label="18: Prune (true branch, if) \n n$14=*&p:int** [line 11, column 7]\n n$15=*n$14[0]:int* [line 11, column 7]\n PRUNE(n$15, true); [line 11, column 7]\n " shape="invhouse"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_18" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_17" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_19" [label="19: Prune (false branch) \n n$14=*&p:int** [line 11, column 7]\n n$15=*n$14[0]:int* [line 11, column 7]\n PRUNE(!n$15, false); [line 11, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_19" [label="19: Prune (false branch, if) \n n$14=*&p:int** [line 11, column 7]\n n$15=*n$14[0]:int* [line 11, column 7]\n PRUNE(!n$15, false); [line 11, column 7]\n " shape="invhouse"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_19" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_17" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/binary_operator.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/binary_operator.c.dot index 94ccf4839..f51abf11e 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/binary_operator.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/binary_operator.c.dot @@ -13,11 +13,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_3" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_9" ; "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_3" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_10" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 26, column 13]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 26, column 13]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_4" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_6" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 26, column 13]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 26, column 13]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_5" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_7" ; @@ -33,11 +33,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_8" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_13" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_9" [label="9: Prune (true branch) \n PRUNE(1, true); [line 26, column 27]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_9" [label="9: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 26, column 27]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_9" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_11" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_10" [label="10: Prune (false branch) \n PRUNE(!1, false); [line 26, column 27]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_10" [label="10: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 26, column 27]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_10" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_12" ; @@ -57,11 +57,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_14" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_19" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_15" [label="15: Prune (true branch) \n PRUNE(1, true); [line 24, column 18]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_15" [label="15: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 24, column 18]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_15" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_17" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_16" [label="16: Prune (false branch) \n PRUNE(!1, false); [line 24, column 18]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_16" [label="16: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 24, column 18]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_16" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_18" ; @@ -82,11 +82,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_20" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_25" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_21" [label="21: Prune (true branch) \n PRUNE(1, true); [line 22, column 13]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_21" [label="21: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 22, column 13]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_21" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_23" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_22" [label="22: Prune (false branch) \n PRUNE(!1, false); [line 22, column 13]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_22" [label="22: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 22, column 13]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_22" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_24" ; @@ -108,11 +108,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_26" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_32" ; "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_26" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_33" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_27" [label="27: Prune (true branch) \n PRUNE(1, true); [line 19, column 9]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_27" [label="27: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 19, column 9]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_27" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_29" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_28" [label="28: Prune (false branch) \n PRUNE(!1, false); [line 19, column 9]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_28" [label="28: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 19, column 9]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_28" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_30" ; @@ -128,11 +128,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_31" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_36" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_32" [label="32: Prune (true branch) \n PRUNE(1, true); [line 19, column 23]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_32" [label="32: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 19, column 23]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_32" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_34" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_33" [label="33: Prune (false branch) \n PRUNE(!1, false); [line 19, column 23]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_33" [label="33: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 19, column 23]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_33" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_35" ; @@ -153,11 +153,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_37" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_42" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_38" [label="38: Prune (true branch) \n PRUNE(1, true); [line 16, column 14]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_38" [label="38: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 16, column 14]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_38" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_40" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_39" [label="39: Prune (false branch) \n PRUNE(!1, false); [line 16, column 14]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_39" [label="39: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 16, column 14]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_39" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_41" ; @@ -178,11 +178,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_43" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_48" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_44" [label="44: Prune (true branch) \n PRUNE(1, true); [line 13, column 9]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_44" [label="44: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 13, column 9]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_44" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_46" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_45" [label="45: Prune (false branch) \n PRUNE(!1, false); [line 13, column 9]\n " shape="invhouse"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_45" [label="45: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 13, column 9]\n " shape="invhouse"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_45" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_47" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot index 7811e48be..182855883 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot @@ -11,11 +11,11 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_8" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Prune (true branch) \n PRUNE((7 > 9), true); [line 18, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Prune (true branch, boolean exp) \n PRUNE((7 > 9), true); [line 18, column 16]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_6" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_5" [label="5: Prune (false branch) \n PRUNE(!(7 > 9), false); [line 18, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!(7 > 9), false); [line 18, column 16]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_7" ; @@ -35,11 +35,11 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_9" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_19" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_10" [label="10: Prune (true branch) \n PRUNE((2 < 1), true); [line 17, column 8]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_10" [label="10: Prune (true branch, boolean exp) \n PRUNE((2 < 1), true); [line 17, column 8]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_10" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_12" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_11" [label="11: Prune (false branch) \n PRUNE(!(2 < 1), false); [line 17, column 8]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_11" [label="11: Prune (false branch, boolean exp) \n PRUNE(!(2 < 1), false); [line 17, column 8]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_11" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_14" ; @@ -52,11 +52,11 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_13" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_18" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_14" [label="14: Prune (true branch) \n PRUNE((5 > 4), true); [line 17, column 21]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_14" [label="14: Prune (true branch, boolean exp) \n PRUNE((5 > 4), true); [line 17, column 21]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_14" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_16" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_15" [label="15: Prune (false branch) \n PRUNE(!(5 > 4), false); [line 17, column 21]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_15" [label="15: Prune (false branch, boolean exp) \n PRUNE(!(5 > 4), false); [line 17, column 21]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_15" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_17" ; @@ -81,11 +81,11 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_20" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_28" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_21" [label="21: Prune (true branch) \n PRUNE((3 < 4), true); [line 16, column 13]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_21" [label="21: Prune (true branch, boolean exp) \n PRUNE((3 < 4), true); [line 16, column 13]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_21" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_26" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_22" [label="22: Prune (false branch) \n PRUNE(!(3 < 4), false); [line 16, column 13]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_22" [label="22: Prune (false branch, boolean exp) \n PRUNE(!(3 < 4), false); [line 16, column 13]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_22" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_23" ; @@ -94,11 +94,11 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_23" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_24" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_23" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_25" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_24" [label="24: Prune (true branch) \n PRUNE((7 < (n$7 - n$8)), true); [line 16, column 22]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_24" [label="24: Prune (true branch, boolean exp) \n PRUNE((7 < (n$7 - n$8)), true); [line 16, column 22]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_24" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_26" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_25" [label="25: Prune (false branch) \n PRUNE(!(7 < (n$7 - n$8)), false); [line 16, column 22]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_25" [label="25: Prune (false branch, boolean exp) \n PRUNE(!(7 < (n$7 - n$8)), false); [line 16, column 22]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_25" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_27" ; @@ -124,11 +124,11 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_29" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_31" [label="31: Prune (true branch) \n PRUNE((3 < 4), true); [line 12, column 7]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_31" [label="31: Prune (true branch, if) \n PRUNE((3 < 4), true); [line 12, column 7]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_31" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_32" [label="32: Prune (false branch) \n PRUNE(!(3 < 4), false); [line 12, column 7]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_32" [label="32: Prune (false branch, if) \n PRUNE(!(3 < 4), false); [line 12, column 7]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_32" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" ; @@ -137,11 +137,11 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_34" [label="34: Prune (true branch) \n PRUNE((7 < n$10), true); [line 12, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_34" [label="34: Prune (true branch, if) \n PRUNE((7 < n$10), true); [line 12, column 16]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_35" [label="35: Prune (false branch) \n PRUNE(!(7 < n$10), false); [line 12, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_35" [label="35: Prune (false branch, if) \n PRUNE(!(7 < n$10), false); [line 12, column 16]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" ; @@ -169,11 +169,11 @@ digraph cfg { "bar.37b51d194a7513e45b56f6524f2d51f2_4" -> "bar.37b51d194a7513e45b56f6524f2d51f2_9" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_5" [label="5: Prune (true branch) \n PRUNE((3 > 4), true); [line 24, column 17]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((3 > 4), true); [line 24, column 17]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_5" -> "bar.37b51d194a7513e45b56f6524f2d51f2_7" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_6" [label="6: Prune (false branch) \n PRUNE(!(3 > 4), false); [line 24, column 17]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(3 > 4), false); [line 24, column 17]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_6" -> "bar.37b51d194a7513e45b56f6524f2d51f2_8" ; @@ -190,11 +190,11 @@ digraph cfg { "bar.37b51d194a7513e45b56f6524f2d51f2_9" -> "bar.37b51d194a7513e45b56f6524f2d51f2_10" ; "bar.37b51d194a7513e45b56f6524f2d51f2_9" -> "bar.37b51d194a7513e45b56f6524f2d51f2_11" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_10" [label="10: Prune (true branch) \n PRUNE((n$2 > 1), true); [line 24, column 16]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_10" [label="10: Prune (true branch, boolean exp) \n PRUNE((n$2 > 1), true); [line 24, column 16]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_10" -> "bar.37b51d194a7513e45b56f6524f2d51f2_12" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_11" [label="11: Prune (false branch) \n PRUNE(!(n$2 > 1), false); [line 24, column 16]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_11" [label="11: Prune (false branch, boolean exp) \n PRUNE(!(n$2 > 1), false); [line 24, column 16]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_11" -> "bar.37b51d194a7513e45b56f6524f2d51f2_13" ; @@ -219,11 +219,11 @@ digraph cfg { "bar.37b51d194a7513e45b56f6524f2d51f2_16" -> "bar.37b51d194a7513e45b56f6524f2d51f2_17" ; "bar.37b51d194a7513e45b56f6524f2d51f2_16" -> "bar.37b51d194a7513e45b56f6524f2d51f2_18" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_17" [label="17: Prune (true branch) \n PRUNE((n$6 > 1), true); [line 23, column 7]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_17" [label="17: Prune (true branch, boolean exp) \n PRUNE((n$6 > 1), true); [line 23, column 7]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_17" -> "bar.37b51d194a7513e45b56f6524f2d51f2_19" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_18" [label="18: Prune (false branch) \n PRUNE(!(n$6 > 1), false); [line 23, column 7]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_18" [label="18: Prune (false branch, boolean exp) \n PRUNE(!(n$6 > 1), false); [line 23, column 7]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_18" -> "bar.37b51d194a7513e45b56f6524f2d51f2_20" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/conditional_operator.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/conditional_operator.c.dot index a87932439..f7a0770e5 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/conditional_operator.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/conditional_operator.c.dot @@ -12,11 +12,11 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_8" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Prune (true branch) \n n$1=*&b:int [line 14, column 32]\n PRUNE(n$1, true); [line 14, column 32]\n " shape="invhouse"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&b:int [line 14, column 32]\n PRUNE(n$1, true); [line 14, column 32]\n " shape="invhouse"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_6" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Prune (false branch) \n n$1=*&b:int [line 14, column 32]\n PRUNE(!n$1, false); [line 14, column 32]\n " shape="invhouse"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&b:int [line 14, column 32]\n PRUNE(!n$1, false); [line 14, column 32]\n " shape="invhouse"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_7" ; @@ -48,11 +48,11 @@ digraph cfg { "test1.5a105e8b9d40e1329780d62ea2265d8a_4" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_9" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_5" [label="5: Prune (true branch) \n n$2=*&b:int [line 17, column 11]\n PRUNE(n$2, true); [line 17, column 11]\n " shape="invhouse"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&b:int [line 17, column 11]\n PRUNE(n$2, true); [line 17, column 11]\n " shape="invhouse"] "test1.5a105e8b9d40e1329780d62ea2265d8a_5" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_7" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_6" [label="6: Prune (false branch) \n n$2=*&b:int [line 17, column 11]\n PRUNE(!n$2, false); [line 17, column 11]\n " shape="invhouse"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&b:int [line 17, column 11]\n PRUNE(!n$2, false); [line 17, column 11]\n " shape="invhouse"] "test1.5a105e8b9d40e1329780d62ea2265d8a_6" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_8" ; @@ -83,11 +83,11 @@ digraph cfg { "test3.8ad8757baa8564dc136c1e07507f4a98_4" -> "test3.8ad8757baa8564dc136c1e07507f4a98_10" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_5" [label="5: Prune (true branch) \n PRUNE(n$1, true); [line 22, column 11]\n " shape="invhouse"] +"test3.8ad8757baa8564dc136c1e07507f4a98_5" [label="5: Prune (true branch, boolean exp) \n PRUNE(n$1, true); [line 22, column 11]\n " shape="invhouse"] "test3.8ad8757baa8564dc136c1e07507f4a98_5" -> "test3.8ad8757baa8564dc136c1e07507f4a98_7" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_6" [label="6: Prune (false branch) \n PRUNE(!n$1, false); [line 22, column 11]\n " shape="invhouse"] +"test3.8ad8757baa8564dc136c1e07507f4a98_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!n$1, false); [line 22, column 11]\n " shape="invhouse"] "test3.8ad8757baa8564dc136c1e07507f4a98_6" -> "test3.8ad8757baa8564dc136c1e07507f4a98_8" ; @@ -119,11 +119,11 @@ digraph cfg { "test4.86985e105f79b95d6bc918fb45ec7727_3" -> "test4.86985e105f79b95d6bc918fb45ec7727_9" ; -"test4.86985e105f79b95d6bc918fb45ec7727_4" [label="4: Prune (true branch) \n PRUNE(n$0, true); [line 26, column 33]\n " shape="invhouse"] +"test4.86985e105f79b95d6bc918fb45ec7727_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(n$0, true); [line 26, column 33]\n " shape="invhouse"] "test4.86985e105f79b95d6bc918fb45ec7727_4" -> "test4.86985e105f79b95d6bc918fb45ec7727_6" ; -"test4.86985e105f79b95d6bc918fb45ec7727_5" [label="5: Prune (false branch) \n PRUNE(!n$0, false); [line 26, column 33]\n " shape="invhouse"] +"test4.86985e105f79b95d6bc918fb45ec7727_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!n$0, false); [line 26, column 33]\n " shape="invhouse"] "test4.86985e105f79b95d6bc918fb45ec7727_5" -> "test4.86985e105f79b95d6bc918fb45ec7727_7" ; @@ -155,11 +155,11 @@ digraph cfg { "test5.e3d704f3542b44a621ebed70dc0efe13_3" -> "test5.e3d704f3542b44a621ebed70dc0efe13_9" ; -"test5.e3d704f3542b44a621ebed70dc0efe13_4" [label="4: Prune (true branch) \n PRUNE(n$0, true); [line 28, column 27]\n " shape="invhouse"] +"test5.e3d704f3542b44a621ebed70dc0efe13_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(n$0, true); [line 28, column 27]\n " shape="invhouse"] "test5.e3d704f3542b44a621ebed70dc0efe13_4" -> "test5.e3d704f3542b44a621ebed70dc0efe13_6" ; -"test5.e3d704f3542b44a621ebed70dc0efe13_5" [label="5: Prune (false branch) \n PRUNE(!n$0, false); [line 28, column 27]\n " shape="invhouse"] +"test5.e3d704f3542b44a621ebed70dc0efe13_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!n$0, false); [line 28, column 27]\n " shape="invhouse"] "test5.e3d704f3542b44a621ebed70dc0efe13_5" -> "test5.e3d704f3542b44a621ebed70dc0efe13_7" ; @@ -191,11 +191,11 @@ digraph cfg { "test7.b04083e53e242626595e2b8ea327e525_3" -> "test7.b04083e53e242626595e2b8ea327e525_9" ; -"test7.b04083e53e242626595e2b8ea327e525_4" [label="4: Prune (true branch) \n PRUNE(n$1, true); [line 35, column 27]\n " shape="invhouse"] +"test7.b04083e53e242626595e2b8ea327e525_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(n$1, true); [line 35, column 27]\n " shape="invhouse"] "test7.b04083e53e242626595e2b8ea327e525_4" -> "test7.b04083e53e242626595e2b8ea327e525_6" ; -"test7.b04083e53e242626595e2b8ea327e525_5" [label="5: Prune (false branch) \n PRUNE(!n$1, false); [line 35, column 27]\n " shape="invhouse"] +"test7.b04083e53e242626595e2b8ea327e525_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!n$1, false); [line 35, column 27]\n " shape="invhouse"] "test7.b04083e53e242626595e2b8ea327e525_5" -> "test7.b04083e53e242626595e2b8ea327e525_7" ; @@ -232,11 +232,11 @@ digraph cfg { "test6.4cfad7076129962ee70c36839a1e3e15_4" -> "test6.4cfad7076129962ee70c36839a1e3e15_9" ; -"test6.4cfad7076129962ee70c36839a1e3e15_5" [label="5: Prune (true branch) \n PRUNE(1, true); [line 31, column 11]\n " shape="invhouse"] +"test6.4cfad7076129962ee70c36839a1e3e15_5" [label="5: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 31, column 11]\n " shape="invhouse"] "test6.4cfad7076129962ee70c36839a1e3e15_5" -> "test6.4cfad7076129962ee70c36839a1e3e15_7" ; -"test6.4cfad7076129962ee70c36839a1e3e15_6" [label="6: Prune (false branch) \n PRUNE(!1, false); [line 31, column 11]\n " shape="invhouse"] +"test6.4cfad7076129962ee70c36839a1e3e15_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 31, column 11]\n " shape="invhouse"] "test6.4cfad7076129962ee70c36839a1e3e15_6" -> "test6.4cfad7076129962ee70c36839a1e3e15_8" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/function_call.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/function_call.c.dot index bf437e3de..1157b7587 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/function_call.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/function_call.c.dot @@ -12,11 +12,11 @@ digraph cfg { "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_3" -> "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_8" ; -"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 12, column 27]\n " shape="invhouse"] +"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 12, column 27]\n " shape="invhouse"] "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_4" -> "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_6" ; -"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 12, column 27]\n " shape="invhouse"] +"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 12, column 27]\n " shape="invhouse"] "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_5" -> "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_7" ; @@ -45,11 +45,11 @@ digraph cfg { "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_3" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_9" ; "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_3" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_10" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 15, column 4]\n " shape="invhouse"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 15, column 4]\n " shape="invhouse"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_4" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_6" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 15, column 4]\n " shape="invhouse"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 15, column 4]\n " shape="invhouse"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_5" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_7" ; @@ -66,11 +66,11 @@ digraph cfg { "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_8" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_14" ; "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_8" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_15" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_9" [label="9: Prune (true branch) \n PRUNE(0, true); [line 15, column 25]\n " shape="invhouse"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_9" [label="9: Prune (true branch, boolean exp) \n PRUNE(0, true); [line 15, column 25]\n " shape="invhouse"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_9" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_11" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_10" [label="10: Prune (false branch) \n PRUNE(!0, false); [line 15, column 25]\n " shape="invhouse"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_10" [label="10: Prune (false branch, boolean exp) \n PRUNE(!0, false); [line 15, column 25]\n " shape="invhouse"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_10" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_12" ; @@ -87,11 +87,11 @@ digraph cfg { "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_13" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_19" ; "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_13" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_20" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_14" [label="14: Prune (true branch) \n PRUNE(0, true); [line 15, column 36]\n " shape="invhouse"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_14" [label="14: Prune (true branch, boolean exp) \n PRUNE(0, true); [line 15, column 36]\n " shape="invhouse"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_14" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_16" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_15" [label="15: Prune (false branch) \n PRUNE(!0, false); [line 15, column 36]\n " shape="invhouse"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_15" [label="15: Prune (false branch, boolean exp) \n PRUNE(!0, false); [line 15, column 36]\n " shape="invhouse"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_15" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_17" ; @@ -107,11 +107,11 @@ digraph cfg { "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_18" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_23" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_19" [label="19: Prune (true branch) \n PRUNE(0, true); [line 15, column 47]\n " shape="invhouse"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_19" [label="19: Prune (true branch, boolean exp) \n PRUNE(0, true); [line 15, column 47]\n " shape="invhouse"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_19" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_21" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_20" [label="20: Prune (false branch) \n PRUNE(!0, false); [line 15, column 47]\n " shape="invhouse"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_20" [label="20: Prune (false branch, boolean exp) \n PRUNE(!0, false); [line 15, column 47]\n " shape="invhouse"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_20" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_22" ; @@ -140,11 +140,11 @@ digraph cfg { "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_3" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_9" ; "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_3" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_10" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_4" [label="4: Prune (true branch) \n PRUNE(0, true); [line 18, column 33]\n " shape="invhouse"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(0, true); [line 18, column 33]\n " shape="invhouse"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_4" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_6" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_5" [label="5: Prune (false branch) \n PRUNE(!0, false); [line 18, column 33]\n " shape="invhouse"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!0, false); [line 18, column 33]\n " shape="invhouse"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_5" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_7" ; @@ -161,11 +161,11 @@ digraph cfg { "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_8" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_14" ; "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_8" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_15" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_9" [label="9: Prune (true branch) \n PRUNE(0, true); [line 18, column 44]\n " shape="invhouse"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_9" [label="9: Prune (true branch, boolean exp) \n PRUNE(0, true); [line 18, column 44]\n " shape="invhouse"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_9" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_11" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_10" [label="10: Prune (false branch) \n PRUNE(!0, false); [line 18, column 44]\n " shape="invhouse"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_10" [label="10: Prune (false branch, boolean exp) \n PRUNE(!0, false); [line 18, column 44]\n " shape="invhouse"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_10" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_12" ; @@ -181,11 +181,11 @@ digraph cfg { "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_13" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_18" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_14" [label="14: Prune (true branch) \n PRUNE(0, true); [line 18, column 55]\n " shape="invhouse"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_14" [label="14: Prune (true branch, boolean exp) \n PRUNE(0, true); [line 18, column 55]\n " shape="invhouse"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_14" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_16" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_15" [label="15: Prune (false branch) \n PRUNE(!0, false); [line 18, column 55]\n " shape="invhouse"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_15" [label="15: Prune (false branch, boolean exp) \n PRUNE(!0, false); [line 18, column 55]\n " shape="invhouse"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_15" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_17" ; @@ -214,11 +214,11 @@ digraph cfg { "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_3" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_9" ; "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_3" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_10" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 20, column 27]\n " shape="invhouse"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 20, column 27]\n " shape="invhouse"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_4" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_6" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 20, column 27]\n " shape="invhouse"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 20, column 27]\n " shape="invhouse"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_5" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_7" ; @@ -235,11 +235,11 @@ digraph cfg { "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_8" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_14" ; "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_8" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_15" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_9" [label="9: Prune (true branch) \n PRUNE(0, true); [line 20, column 48]\n " shape="invhouse"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_9" [label="9: Prune (true branch, boolean exp) \n PRUNE(0, true); [line 20, column 48]\n " shape="invhouse"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_9" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_11" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_10" [label="10: Prune (false branch) \n PRUNE(!0, false); [line 20, column 48]\n " shape="invhouse"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_10" [label="10: Prune (false branch, boolean exp) \n PRUNE(!0, false); [line 20, column 48]\n " shape="invhouse"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_10" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_12" ; @@ -255,11 +255,11 @@ digraph cfg { "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_13" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_18" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_14" [label="14: Prune (true branch) \n PRUNE(0, true); [line 20, column 62]\n " shape="invhouse"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_14" [label="14: Prune (true branch, boolean exp) \n PRUNE(0, true); [line 20, column 62]\n " shape="invhouse"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_14" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_16" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_15" [label="15: Prune (false branch) \n PRUNE(!0, false); [line 20, column 62]\n " shape="invhouse"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_15" [label="15: Prune (false branch, boolean exp) \n PRUNE(!0, false); [line 20, column 62]\n " shape="invhouse"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_15" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_17" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/if_short_circuit.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/if_short_circuit.c.dot index 1d3d3f16d..d4eeb5409 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/if_short_circuit.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/if_short_circuit.c.dot @@ -12,11 +12,11 @@ digraph cfg { "test_loop.254a9d372f8f45542e409771135b9322_3" -> "test_loop.254a9d372f8f45542e409771135b9322_4" ; "test_loop.254a9d372f8f45542e409771135b9322_3" -> "test_loop.254a9d372f8f45542e409771135b9322_5" ; -"test_loop.254a9d372f8f45542e409771135b9322_4" [label="4: Prune (true branch) \n n$0=*&spec:char* [line 36, column 12]\n PRUNE(!n$0, true); [line 36, column 12]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_4" [label="4: Prune (true branch, while) \n n$0=*&spec:char* [line 36, column 12]\n PRUNE(!n$0, true); [line 36, column 12]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_4" -> "test_loop.254a9d372f8f45542e409771135b9322_6" ; -"test_loop.254a9d372f8f45542e409771135b9322_5" [label="5: Prune (false branch) \n n$0=*&spec:char* [line 36, column 12]\n PRUNE(n$0, false); [line 36, column 12]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_5" [label="5: Prune (false branch, while) \n n$0=*&spec:char* [line 36, column 12]\n PRUNE(n$0, false); [line 36, column 12]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_5" -> "test_loop.254a9d372f8f45542e409771135b9322_2" ; @@ -25,11 +25,11 @@ digraph cfg { "test_loop.254a9d372f8f45542e409771135b9322_6" -> "test_loop.254a9d372f8f45542e409771135b9322_7" ; "test_loop.254a9d372f8f45542e409771135b9322_6" -> "test_loop.254a9d372f8f45542e409771135b9322_8" ; -"test_loop.254a9d372f8f45542e409771135b9322_7" [label="7: Prune (true branch) \n PRUNE(!n$2, true); [line 36, column 22]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_7" [label="7: Prune (true branch, while) \n PRUNE(!n$2, true); [line 36, column 22]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_7" -> "test_loop.254a9d372f8f45542e409771135b9322_9" ; -"test_loop.254a9d372f8f45542e409771135b9322_8" [label="8: Prune (false branch) \n PRUNE(n$2, false); [line 36, column 22]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_8" [label="8: Prune (false branch, while) \n PRUNE(n$2, false); [line 36, column 22]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_8" -> "test_loop.254a9d372f8f45542e409771135b9322_2" ; @@ -38,11 +38,11 @@ digraph cfg { "test_loop.254a9d372f8f45542e409771135b9322_9" -> "test_loop.254a9d372f8f45542e409771135b9322_10" ; "test_loop.254a9d372f8f45542e409771135b9322_9" -> "test_loop.254a9d372f8f45542e409771135b9322_11" ; -"test_loop.254a9d372f8f45542e409771135b9322_10" [label="10: Prune (true branch) \n PRUNE(!n$4, true); [line 37, column 13]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_10" [label="10: Prune (true branch, while) \n PRUNE(!n$4, true); [line 37, column 13]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_10" -> "test_loop.254a9d372f8f45542e409771135b9322_12" ; -"test_loop.254a9d372f8f45542e409771135b9322_11" [label="11: Prune (false branch) \n PRUNE(n$4, false); [line 37, column 13]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_11" [label="11: Prune (false branch, while) \n PRUNE(n$4, false); [line 37, column 13]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_11" -> "test_loop.254a9d372f8f45542e409771135b9322_2" ; @@ -69,11 +69,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch) \n n$0=*&spec:char* [line 49, column 8]\n PRUNE(!n$0, true); [line 49, column 8]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, if) \n n$0=*&spec:char* [line 49, column 8]\n PRUNE(!n$0, true); [line 49, column 8]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch) \n n$0=*&spec:char* [line 49, column 8]\n PRUNE(n$0, false); [line 49, column 8]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, if) \n n$0=*&spec:char* [line 49, column 8]\n PRUNE(n$0, false); [line 49, column 8]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; @@ -82,11 +82,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch) \n PRUNE(!n$2, true); [line 49, column 18]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, if) \n PRUNE(!n$2, true); [line 49, column 18]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch) \n PRUNE(n$2, false); [line 49, column 18]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, if) \n PRUNE(n$2, false); [line 49, column 18]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; @@ -95,11 +95,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (true branch) \n PRUNE(!n$4, true); [line 49, column 52]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (true branch, if) \n PRUNE(!n$4, true); [line 49, column 52]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (false branch) \n PRUNE(n$4, false); [line 49, column 52]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (false branch, if) \n PRUNE(n$4, false); [line 49, column 52]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; @@ -116,11 +116,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_16" ; "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_17" ; -"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: Prune (true branch) \n PRUNE((n$6 == 39), true); [line 52, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: Prune (true branch, if) \n PRUNE((n$6 == 39), true); [line 52, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_16" -> "main.fad58de7366495db4650cfefac2fcd61_18" ; -"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: Prune (false branch) \n PRUNE(!(n$6 == 39), false); [line 52, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: Prune (false branch, if) \n PRUNE(!(n$6 == 39), false); [line 52, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_17" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; @@ -153,11 +153,11 @@ digraph cfg { "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_5" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_6" ; "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_5" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_7" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_6" [label="6: Prune (true branch) \n PRUNE((n$0 == null), true); [line 14, column 7]\n " shape="invhouse"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == null), true); [line 14, column 7]\n " shape="invhouse"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_6" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_11" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 == null), false); [line 14, column 7]\n " shape="invhouse"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == null), false); [line 14, column 7]\n " shape="invhouse"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_7" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_8" ; @@ -166,11 +166,11 @@ digraph cfg { "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_8" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_9" ; "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_8" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_10" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_9" [label="9: Prune (true branch) \n PRUNE((n$2 == 2), true); [line 14, column 17]\n " shape="invhouse"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_9" [label="9: Prune (true branch, if) \n PRUNE((n$2 == 2), true); [line 14, column 17]\n " shape="invhouse"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_9" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_11" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_10" [label="10: Prune (false branch) \n PRUNE(!(n$2 == 2), false); [line 14, column 17]\n " shape="invhouse"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_10" [label="10: Prune (false branch, if) \n PRUNE(!(n$2 == 2), false); [line 14, column 17]\n " shape="invhouse"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_10" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_12" ; @@ -198,11 +198,11 @@ digraph cfg { "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_4" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_2" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_5" [label="5: Prune (true branch) \n n$0=*&x:int* [line 22, column 8]\n PRUNE(!n$0, true); [line 22, column 8]\n " shape="invhouse"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_5" [label="5: Prune (true branch, if) \n n$0=*&x:int* [line 22, column 8]\n PRUNE(!n$0, true); [line 22, column 8]\n " shape="invhouse"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_5" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_7" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_6" [label="6: Prune (false branch) \n n$0=*&x:int* [line 22, column 8]\n PRUNE(n$0, false); [line 22, column 8]\n " shape="invhouse"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_6" [label="6: Prune (false branch, if) \n n$0=*&x:int* [line 22, column 8]\n PRUNE(n$0, false); [line 22, column 8]\n " shape="invhouse"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_6" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_11" ; @@ -211,11 +211,11 @@ digraph cfg { "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_7" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_8" ; "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_7" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_9" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_8" [label="8: Prune (true branch) \n PRUNE(!n$2, true); [line 22, column 15]\n " shape="invhouse"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_8" [label="8: Prune (true branch, if) \n PRUNE(!n$2, true); [line 22, column 15]\n " shape="invhouse"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_8" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_10" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_9" [label="9: Prune (false branch) \n PRUNE(n$2, false); [line 22, column 15]\n " shape="invhouse"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_9" [label="9: Prune (false branch, if) \n PRUNE(n$2, false); [line 22, column 15]\n " shape="invhouse"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_9" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_11" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/int_negation.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/int_negation.c.dot index 023f6c9a4..7b5da1899 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/int_negation.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/int_negation.c.dot @@ -31,11 +31,11 @@ digraph cfg { "bar.37b51d194a7513e45b56f6524f2d51f2_5" -> "bar.37b51d194a7513e45b56f6524f2d51f2_6" ; "bar.37b51d194a7513e45b56f6524f2d51f2_5" -> "bar.37b51d194a7513e45b56f6524f2d51f2_7" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_6" [label="6: Prune (true branch) \n PRUNE(n$1, true); [line 13, column 7]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_6" [label="6: Prune (true branch, if) \n PRUNE(n$1, true); [line 13, column 7]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_6" -> "bar.37b51d194a7513e45b56f6524f2d51f2_8" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_7" [label="7: Prune (false branch) \n PRUNE(!n$1, false); [line 13, column 7]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$1, false); [line 13, column 7]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_7" -> "bar.37b51d194a7513e45b56f6524f2d51f2_9" ; @@ -67,11 +67,11 @@ digraph cfg { "baz.73feffa4b7f6bb68e44cf984c85f6e88_5" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_10" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_6" [label="6: Prune (true branch) \n n$1=*&x:int [line 22, column 17]\n PRUNE(n$1, true); [line 22, column 17]\n " shape="invhouse"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_6" [label="6: Prune (true branch, boolean exp) \n n$1=*&x:int [line 22, column 17]\n PRUNE(n$1, true); [line 22, column 17]\n " shape="invhouse"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_6" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_8" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_7" [label="7: Prune (false branch) \n n$1=*&x:int [line 22, column 17]\n PRUNE(!n$1, false); [line 22, column 17]\n " shape="invhouse"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_7" [label="7: Prune (false branch, boolean exp) \n n$1=*&x:int [line 22, column 17]\n PRUNE(!n$1, false); [line 22, column 17]\n " shape="invhouse"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_7" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_9" ; @@ -88,11 +88,11 @@ digraph cfg { "baz.73feffa4b7f6bb68e44cf984c85f6e88_10" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_11" ; "baz.73feffa4b7f6bb68e44cf984c85f6e88_10" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_12" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_11" [label="11: Prune (true branch) \n PRUNE(n$3, true); [line 22, column 7]\n " shape="invhouse"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_11" [label="11: Prune (true branch, if) \n PRUNE(n$3, true); [line 22, column 7]\n " shape="invhouse"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_11" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_13" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_12" [label="12: Prune (false branch) \n PRUNE(!n$3, false); [line 22, column 7]\n " shape="invhouse"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_12" [label="12: Prune (false branch, if) \n PRUNE(!n$3, false); [line 22, column 7]\n " shape="invhouse"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_12" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_14" ; @@ -116,11 +116,11 @@ digraph cfg { "neg.f24c2c15b9d03797c6874986a8d19516_3" -> "neg.f24c2c15b9d03797c6874986a8d19516_8" ; -"neg.f24c2c15b9d03797c6874986a8d19516_4" [label="4: Prune (true branch) \n n$1=*&x:int [line 29, column 26]\n PRUNE(n$1, true); [line 29, column 26]\n " shape="invhouse"] +"neg.f24c2c15b9d03797c6874986a8d19516_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&x:int [line 29, column 26]\n PRUNE(n$1, true); [line 29, column 26]\n " shape="invhouse"] "neg.f24c2c15b9d03797c6874986a8d19516_4" -> "neg.f24c2c15b9d03797c6874986a8d19516_6" ; -"neg.f24c2c15b9d03797c6874986a8d19516_5" [label="5: Prune (false branch) \n n$1=*&x:int [line 29, column 26]\n PRUNE(!n$1, false); [line 29, column 26]\n " shape="invhouse"] +"neg.f24c2c15b9d03797c6874986a8d19516_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&x:int [line 29, column 26]\n PRUNE(!n$1, false); [line 29, column 26]\n " shape="invhouse"] "neg.f24c2c15b9d03797c6874986a8d19516_5" -> "neg.f24c2c15b9d03797c6874986a8d19516_7" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/member_access.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/member_access.c.dot index 1761b6914..e0aa1b2aa 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/member_access.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/member_access.c.dot @@ -12,11 +12,11 @@ digraph cfg { "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_3" -> "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_8" ; -"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 20, column 54]\n " shape="invhouse"] +"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 20, column 54]\n " shape="invhouse"] "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_4" -> "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_6" ; -"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 20, column 54]\n " shape="invhouse"] +"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 20, column 54]\n " shape="invhouse"] "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_5" -> "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_7" ; @@ -44,11 +44,11 @@ digraph cfg { "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_3" -> "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_8" ; -"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 22, column 45]\n " shape="invhouse"] +"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 22, column 45]\n " shape="invhouse"] "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_4" -> "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_6" ; -"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 22, column 45]\n " shape="invhouse"] +"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 22, column 45]\n " shape="invhouse"] "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_5" -> "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_7" ; @@ -76,11 +76,11 @@ digraph cfg { "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_3" -> "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_8" ; -"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 17, column 12]\n " shape="invhouse"] +"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 17, column 12]\n " shape="invhouse"] "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_4" -> "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_6" ; -"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 17, column 12]\n " shape="invhouse"] +"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 17, column 12]\n " shape="invhouse"] "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_5" -> "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_7" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/preincrement.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/preincrement.c.dot index 9b82b367a..7123f1605 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/preincrement.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/preincrement.c.dot @@ -12,11 +12,11 @@ digraph cfg { "preincrement.db7c6523f16e1ab3058057cee6614472_3" -> "preincrement.db7c6523f16e1ab3058057cee6614472_9" ; "preincrement.db7c6523f16e1ab3058057cee6614472_3" -> "preincrement.db7c6523f16e1ab3058057cee6614472_10" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 18, column 4]\n " shape="invhouse"] +"preincrement.db7c6523f16e1ab3058057cee6614472_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 18, column 4]\n " shape="invhouse"] "preincrement.db7c6523f16e1ab3058057cee6614472_4" -> "preincrement.db7c6523f16e1ab3058057cee6614472_6" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 18, column 4]\n " shape="invhouse"] +"preincrement.db7c6523f16e1ab3058057cee6614472_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 18, column 4]\n " shape="invhouse"] "preincrement.db7c6523f16e1ab3058057cee6614472_5" -> "preincrement.db7c6523f16e1ab3058057cee6614472_7" ; @@ -32,11 +32,11 @@ digraph cfg { "preincrement.db7c6523f16e1ab3058057cee6614472_8" -> "preincrement.db7c6523f16e1ab3058057cee6614472_13" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_9" [label="9: Prune (true branch) \n PRUNE(1, true); [line 18, column 21]\n " shape="invhouse"] +"preincrement.db7c6523f16e1ab3058057cee6614472_9" [label="9: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 18, column 21]\n " shape="invhouse"] "preincrement.db7c6523f16e1ab3058057cee6614472_9" -> "preincrement.db7c6523f16e1ab3058057cee6614472_11" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_10" [label="10: Prune (false branch) \n PRUNE(!1, false); [line 18, column 21]\n " shape="invhouse"] +"preincrement.db7c6523f16e1ab3058057cee6614472_10" [label="10: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 18, column 21]\n " shape="invhouse"] "preincrement.db7c6523f16e1ab3058057cee6614472_10" -> "preincrement.db7c6523f16e1ab3058057cee6614472_12" ; @@ -56,11 +56,11 @@ digraph cfg { "preincrement.db7c6523f16e1ab3058057cee6614472_14" -> "preincrement.db7c6523f16e1ab3058057cee6614472_19" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_15" [label="15: Prune (true branch) \n PRUNE(1, true); [line 17, column 11]\n " shape="invhouse"] +"preincrement.db7c6523f16e1ab3058057cee6614472_15" [label="15: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 17, column 11]\n " shape="invhouse"] "preincrement.db7c6523f16e1ab3058057cee6614472_15" -> "preincrement.db7c6523f16e1ab3058057cee6614472_17" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_16" [label="16: Prune (false branch) \n PRUNE(!1, false); [line 17, column 11]\n " shape="invhouse"] +"preincrement.db7c6523f16e1ab3058057cee6614472_16" [label="16: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 17, column 11]\n " shape="invhouse"] "preincrement.db7c6523f16e1ab3058057cee6614472_16" -> "preincrement.db7c6523f16e1ab3058057cee6614472_18" ; @@ -81,11 +81,11 @@ digraph cfg { "preincrement.db7c6523f16e1ab3058057cee6614472_20" -> "preincrement.db7c6523f16e1ab3058057cee6614472_25" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_21" [label="21: Prune (true branch) \n PRUNE(1, true); [line 16, column 4]\n " shape="invhouse"] +"preincrement.db7c6523f16e1ab3058057cee6614472_21" [label="21: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 16, column 4]\n " shape="invhouse"] "preincrement.db7c6523f16e1ab3058057cee6614472_21" -> "preincrement.db7c6523f16e1ab3058057cee6614472_23" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_22" [label="22: Prune (false branch) \n PRUNE(!1, false); [line 16, column 4]\n " shape="invhouse"] +"preincrement.db7c6523f16e1ab3058057cee6614472_22" [label="22: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 16, column 4]\n " shape="invhouse"] "preincrement.db7c6523f16e1ab3058057cee6614472_22" -> "preincrement.db7c6523f16e1ab3058057cee6614472_24" ; diff --git a/infer/tests/codetoanalyze/c/frontend/conditional_operator/unary_operator.c.dot b/infer/tests/codetoanalyze/c/frontend/conditional_operator/unary_operator.c.dot index fddf0f665..befb8df45 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/unary_operator.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/unary_operator.c.dot @@ -12,11 +12,11 @@ digraph cfg { "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_3" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_8" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 16, column 5]\n " shape="invhouse"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 16, column 5]\n " shape="invhouse"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_4" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_6" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 16, column 5]\n " shape="invhouse"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 16, column 5]\n " shape="invhouse"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_5" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_7" ; @@ -40,11 +40,11 @@ digraph cfg { "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_10" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_15" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_11" [label="11: Prune (true branch) \n PRUNE(1, true); [line 14, column 13]\n " shape="invhouse"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_11" [label="11: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 14, column 13]\n " shape="invhouse"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_11" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_13" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_12" [label="12: Prune (false branch) \n PRUNE(!1, false); [line 14, column 13]\n " shape="invhouse"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_12" [label="12: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 14, column 13]\n " shape="invhouse"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_12" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_14" ; @@ -65,11 +65,11 @@ digraph cfg { "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_16" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_21" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_17" [label="17: Prune (true branch) \n PRUNE(1, true); [line 12, column 9]\n " shape="invhouse"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_17" [label="17: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 12, column 9]\n " shape="invhouse"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_17" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_19" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_18" [label="18: Prune (false branch) \n PRUNE(!1, false); [line 12, column 9]\n " shape="invhouse"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_18" [label="18: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 12, column 9]\n " shape="invhouse"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_18" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_20" ; diff --git a/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot b/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot index 3392f134d..b7d3b42ec 100644 --- a/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot @@ -55,11 +55,11 @@ digraph cfg { "other_enum_test.100f3583adf0259001be6c944828c44a_5" -> "other_enum_test.100f3583adf0259001be6c944828c44a_6" ; "other_enum_test.100f3583adf0259001be6c944828c44a_5" -> "other_enum_test.100f3583adf0259001be6c944828c44a_7" ; -"other_enum_test.100f3583adf0259001be6c944828c44a_6" [label="6: Prune (true branch) \n PRUNE((n$0 == 12), true); [line 25, column 7]\n " shape="invhouse"] +"other_enum_test.100f3583adf0259001be6c944828c44a_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 12), true); [line 25, column 7]\n " shape="invhouse"] "other_enum_test.100f3583adf0259001be6c944828c44a_6" -> "other_enum_test.100f3583adf0259001be6c944828c44a_8" ; -"other_enum_test.100f3583adf0259001be6c944828c44a_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 == 12), false); [line 25, column 7]\n " shape="invhouse"] +"other_enum_test.100f3583adf0259001be6c944828c44a_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 12), false); [line 25, column 7]\n " shape="invhouse"] "other_enum_test.100f3583adf0259001be6c944828c44a_7" -> "other_enum_test.100f3583adf0259001be6c944828c44a_9" ; diff --git a/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot b/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot index 37d775873..8b2793ad4 100644 --- a/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot @@ -47,11 +47,11 @@ digraph cfg { "g0.8ac829e3bb8338d74cfb45ebe834d8e1_9" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_10" ; "g0.8ac829e3bb8338d74cfb45ebe834d8e1_9" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_11" ; -"g0.8ac829e3bb8338d74cfb45ebe834d8e1_10" [label="10: Prune (true branch) \n PRUNE((n$0 > 1), true); [line 16, column 7]\n " shape="invhouse"] +"g0.8ac829e3bb8338d74cfb45ebe834d8e1_10" [label="10: Prune (true branch, if) \n PRUNE((n$0 > 1), true); [line 16, column 7]\n " shape="invhouse"] "g0.8ac829e3bb8338d74cfb45ebe834d8e1_10" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_6" ; -"g0.8ac829e3bb8338d74cfb45ebe834d8e1_11" [label="11: Prune (false branch) \n PRUNE(!(n$0 > 1), false); [line 16, column 7]\n " shape="invhouse"] +"g0.8ac829e3bb8338d74cfb45ebe834d8e1_11" [label="11: Prune (false branch, if) \n PRUNE(!(n$0 > 1), false); [line 16, column 7]\n " shape="invhouse"] "g0.8ac829e3bb8338d74cfb45ebe834d8e1_11" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_8" ; @@ -91,11 +91,11 @@ digraph cfg { "g1.0120a4f9196a5f9eb9f523f31f914da7_8" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_9" ; "g1.0120a4f9196a5f9eb9f523f31f914da7_8" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_10" ; -"g1.0120a4f9196a5f9eb9f523f31f914da7_9" [label="9: Prune (true branch) \n PRUNE((n$0 > 1), true); [line 28, column 7]\n " shape="invhouse"] +"g1.0120a4f9196a5f9eb9f523f31f914da7_9" [label="9: Prune (true branch, if) \n PRUNE((n$0 > 1), true); [line 28, column 7]\n " shape="invhouse"] "g1.0120a4f9196a5f9eb9f523f31f914da7_9" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_5" ; -"g1.0120a4f9196a5f9eb9f523f31f914da7_10" [label="10: Prune (false branch) \n PRUNE(!(n$0 > 1), false); [line 28, column 7]\n " shape="invhouse"] +"g1.0120a4f9196a5f9eb9f523f31f914da7_10" [label="10: Prune (false branch, if) \n PRUNE(!(n$0 > 1), false); [line 28, column 7]\n " shape="invhouse"] "g1.0120a4f9196a5f9eb9f523f31f914da7_10" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_7" ; @@ -147,11 +147,11 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_11" -> "g2.e1c80488853d86ab9d6decfe30d8930f_12" ; "g2.e1c80488853d86ab9d6decfe30d8930f_11" -> "g2.e1c80488853d86ab9d6decfe30d8930f_13" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_12" [label="12: Prune (true branch) \n PRUNE((n$0 > 1), true); [line 46, column 7]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_12" [label="12: Prune (true branch, if) \n PRUNE((n$0 > 1), true); [line 46, column 7]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_12" -> "g2.e1c80488853d86ab9d6decfe30d8930f_14" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_13" [label="13: Prune (false branch) \n PRUNE(!(n$0 > 1), false); [line 46, column 7]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$0 > 1), false); [line 46, column 7]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_13" -> "g2.e1c80488853d86ab9d6decfe30d8930f_10" ; @@ -168,11 +168,11 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_16" -> "g2.e1c80488853d86ab9d6decfe30d8930f_17" ; "g2.e1c80488853d86ab9d6decfe30d8930f_16" -> "g2.e1c80488853d86ab9d6decfe30d8930f_18" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_17" [label="17: Prune (true branch) \n PRUNE(!n$1, true); [line 44, column 8]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_17" [label="17: Prune (true branch, if) \n PRUNE(!n$1, true); [line 44, column 8]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_17" -> "g2.e1c80488853d86ab9d6decfe30d8930f_8" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_18" [label="18: Prune (false branch) \n PRUNE(n$1, false); [line 44, column 8]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_18" [label="18: Prune (false branch, if) \n PRUNE(n$1, false); [line 44, column 8]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_18" -> "g2.e1c80488853d86ab9d6decfe30d8930f_15" ; @@ -185,11 +185,11 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_20" -> "g2.e1c80488853d86ab9d6decfe30d8930f_21" ; "g2.e1c80488853d86ab9d6decfe30d8930f_20" -> "g2.e1c80488853d86ab9d6decfe30d8930f_22" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_21" [label="21: Prune (true branch) \n PRUNE(!n$2, true); [line 42, column 8]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_21" [label="21: Prune (true branch, if) \n PRUNE(!n$2, true); [line 42, column 8]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_21" -> "g2.e1c80488853d86ab9d6decfe30d8930f_5" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_22" [label="22: Prune (false branch) \n PRUNE(n$2, false); [line 42, column 8]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_22" [label="22: Prune (false branch, if) \n PRUNE(n$2, false); [line 42, column 8]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_22" -> "g2.e1c80488853d86ab9d6decfe30d8930f_19" ; @@ -249,11 +249,11 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_12" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_13" ; "g3.8a9fd7dfda802921fdc4079f9a528ce8_12" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_14" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_13" [label="13: Prune (true branch) \n PRUNE((n$3 > 1), true); [line 67, column 7]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_13" [label="13: Prune (true branch, if) \n PRUNE((n$3 > 1), true); [line 67, column 7]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_13" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_15" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_14" [label="14: Prune (false branch) \n PRUNE(!(n$3 > 1), false); [line 67, column 7]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_14" [label="14: Prune (false branch, if) \n PRUNE(!(n$3 > 1), false); [line 67, column 7]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_14" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_11" ; @@ -270,11 +270,11 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_17" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_18" ; "g3.8a9fd7dfda802921fdc4079f9a528ce8_17" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_19" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_18" [label="18: Prune (true branch) \n PRUNE(!n$4, true); [line 65, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_18" [label="18: Prune (true branch, if) \n PRUNE(!n$4, true); [line 65, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_18" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_8" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_19" [label="19: Prune (false branch) \n PRUNE(n$4, false); [line 65, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_19" [label="19: Prune (false branch, if) \n PRUNE(n$4, false); [line 65, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_19" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_16" ; @@ -287,11 +287,11 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_21" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_22" ; "g3.8a9fd7dfda802921fdc4079f9a528ce8_21" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_23" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_22" [label="22: Prune (true branch) \n PRUNE(!n$5, true); [line 63, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_22" [label="22: Prune (true branch, if) \n PRUNE(!n$5, true); [line 63, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_22" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_5" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_23" [label="23: Prune (false branch) \n PRUNE(n$5, false); [line 63, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_23" [label="23: Prune (false branch, if) \n PRUNE(n$5, false); [line 63, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_23" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_20" ; @@ -343,11 +343,11 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_11" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_12" ; "g4.b0b5c8f28ad7834e70a958a8882fa59a_11" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_13" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_12" [label="12: Prune (true branch) \n PRUNE((n$3 > 1), true); [line 89, column 7]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_12" [label="12: Prune (true branch, if) \n PRUNE((n$3 > 1), true); [line 89, column 7]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_12" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_14" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_13" [label="13: Prune (false branch) \n PRUNE(!(n$3 > 1), false); [line 89, column 7]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$3 > 1), false); [line 89, column 7]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_13" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_10" ; @@ -364,11 +364,11 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_16" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_17" ; "g4.b0b5c8f28ad7834e70a958a8882fa59a_16" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_18" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_17" [label="17: Prune (true branch) \n PRUNE(!n$4, true); [line 87, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_17" [label="17: Prune (true branch, if) \n PRUNE(!n$4, true); [line 87, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_17" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_8" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_18" [label="18: Prune (false branch) \n PRUNE(n$4, false); [line 87, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_18" [label="18: Prune (false branch, if) \n PRUNE(n$4, false); [line 87, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_18" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_15" ; @@ -381,11 +381,11 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_20" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_21" ; "g4.b0b5c8f28ad7834e70a958a8882fa59a_20" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_22" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_21" [label="21: Prune (true branch) \n PRUNE(!n$5, true); [line 85, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_21" [label="21: Prune (true branch, if) \n PRUNE(!n$5, true); [line 85, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_21" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_5" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_22" [label="22: Prune (false branch) \n PRUNE(n$5, false); [line 85, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_22" [label="22: Prune (false branch, if) \n PRUNE(n$5, false); [line 85, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_22" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_19" ; @@ -433,11 +433,11 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_10" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_11" ; "g5.37c965a8d6d7bec292c7b11ff315d9ea_10" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_12" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_11" [label="11: Prune (true branch) \n PRUNE((n$2 > 1), true); [line 110, column 7]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_11" [label="11: Prune (true branch, if) \n PRUNE((n$2 > 1), true); [line 110, column 7]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_11" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_13" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_12" [label="12: Prune (false branch) \n PRUNE(!(n$2 > 1), false); [line 110, column 7]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$2 > 1), false); [line 110, column 7]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_12" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_9" ; @@ -454,11 +454,11 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_15" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_16" ; "g5.37c965a8d6d7bec292c7b11ff315d9ea_15" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_17" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_16" [label="16: Prune (true branch) \n PRUNE(!n$3, true); [line 108, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_16" [label="16: Prune (true branch, if) \n PRUNE(!n$3, true); [line 108, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_16" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_3" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_17" [label="17: Prune (false branch) \n PRUNE(n$3, false); [line 108, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_17" [label="17: Prune (false branch, if) \n PRUNE(n$3, false); [line 108, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_17" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_14" ; @@ -471,11 +471,11 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_19" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_20" ; "g5.37c965a8d6d7bec292c7b11ff315d9ea_19" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_21" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_20" [label="20: Prune (true branch) \n PRUNE(!n$4, true); [line 106, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_20" [label="20: Prune (true branch, if) \n PRUNE(!n$4, true); [line 106, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_20" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_5" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_21" [label="21: Prune (false branch) \n PRUNE(n$4, false); [line 106, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_21" [label="21: Prune (false branch, if) \n PRUNE(n$4, false); [line 106, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_21" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_18" ; @@ -523,11 +523,11 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_10" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_11" ; "g6.4a4314ef967aad20a9e7c423bc16e39c_10" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_12" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_11" [label="11: Prune (true branch) \n PRUNE((n$2 > 1), true); [line 132, column 7]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_11" [label="11: Prune (true branch, if) \n PRUNE((n$2 > 1), true); [line 132, column 7]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_11" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_13" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_12" [label="12: Prune (false branch) \n PRUNE(!(n$2 > 1), false); [line 132, column 7]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$2 > 1), false); [line 132, column 7]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_12" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_9" ; @@ -544,11 +544,11 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_15" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_16" ; "g6.4a4314ef967aad20a9e7c423bc16e39c_15" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_17" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_16" [label="16: Prune (true branch) \n PRUNE(!n$3, true); [line 130, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_16" [label="16: Prune (true branch, if) \n PRUNE(!n$3, true); [line 130, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_16" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_3" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_17" [label="17: Prune (false branch) \n PRUNE(n$3, false); [line 130, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_17" [label="17: Prune (false branch, if) \n PRUNE(n$3, false); [line 130, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_17" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_14" ; @@ -561,11 +561,11 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_19" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_20" ; "g6.4a4314ef967aad20a9e7c423bc16e39c_19" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_21" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_20" [label="20: Prune (true branch) \n PRUNE(!n$4, true); [line 128, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_20" [label="20: Prune (true branch, if) \n PRUNE(!n$4, true); [line 128, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_20" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_5" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_21" [label="21: Prune (false branch) \n PRUNE(n$4, false); [line 128, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_21" [label="21: Prune (false branch, if) \n PRUNE(n$4, false); [line 128, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_21" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_18" ; @@ -613,11 +613,11 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_10" -> "g7.727bb92f57c3951d11695a52c92c2b0c_11" ; "g7.727bb92f57c3951d11695a52c92c2b0c_10" -> "g7.727bb92f57c3951d11695a52c92c2b0c_12" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_11" [label="11: Prune (true branch) \n PRUNE((n$2 < 10), true); [line 148, column 10]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_11" [label="11: Prune (true branch, while) \n PRUNE((n$2 < 10), true); [line 148, column 10]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_11" -> "g7.727bb92f57c3951d11695a52c92c2b0c_13" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_12" [label="12: Prune (false branch) \n PRUNE(!(n$2 < 10), false); [line 148, column 10]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_12" [label="12: Prune (false branch, while) \n PRUNE(!(n$2 < 10), false); [line 148, column 10]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_12" -> "g7.727bb92f57c3951d11695a52c92c2b0c_8" ; @@ -630,11 +630,11 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_14" -> "g7.727bb92f57c3951d11695a52c92c2b0c_15" ; "g7.727bb92f57c3951d11695a52c92c2b0c_14" -> "g7.727bb92f57c3951d11695a52c92c2b0c_16" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_15" [label="15: Prune (true branch) \n PRUNE((n$3 < 10), true); [line 149, column 12]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_15" [label="15: Prune (true branch, while) \n PRUNE((n$3 < 10), true); [line 149, column 12]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_15" -> "g7.727bb92f57c3951d11695a52c92c2b0c_17" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_16" [label="16: Prune (false branch) \n PRUNE(!(n$3 < 10), false); [line 149, column 12]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_16" [label="16: Prune (false branch, while) \n PRUNE(!(n$3 < 10), false); [line 149, column 12]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_16" -> "g7.727bb92f57c3951d11695a52c92c2b0c_9" ; @@ -647,11 +647,11 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_18" -> "g7.727bb92f57c3951d11695a52c92c2b0c_19" ; "g7.727bb92f57c3951d11695a52c92c2b0c_18" -> "g7.727bb92f57c3951d11695a52c92c2b0c_20" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_19" [label="19: Prune (true branch) \n PRUNE((n$4 < 10), true); [line 150, column 14]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_19" [label="19: Prune (true branch, while) \n PRUNE((n$4 < 10), true); [line 150, column 14]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_19" -> "g7.727bb92f57c3951d11695a52c92c2b0c_26" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_20" [label="20: Prune (false branch) \n PRUNE(!(n$4 < 10), false); [line 150, column 14]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_20" [label="20: Prune (false branch, while) \n PRUNE(!(n$4 < 10), false); [line 150, column 14]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_20" -> "g7.727bb92f57c3951d11695a52c92c2b0c_13" ; @@ -664,11 +664,11 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_22" -> "g7.727bb92f57c3951d11695a52c92c2b0c_23" ; "g7.727bb92f57c3951d11695a52c92c2b0c_22" -> "g7.727bb92f57c3951d11695a52c92c2b0c_24" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_23" [label="23: Prune (true branch) \n PRUNE((n$5 >= 15), true); [line 152, column 13]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_23" [label="23: Prune (true branch, if) \n PRUNE((n$5 >= 15), true); [line 152, column 13]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_23" -> "g7.727bb92f57c3951d11695a52c92c2b0c_8" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_24" [label="24: Prune (false branch) \n PRUNE(!(n$5 >= 15), false); [line 152, column 13]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_24" [label="24: Prune (false branch, if) \n PRUNE(!(n$5 >= 15), false); [line 152, column 13]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_24" -> "g7.727bb92f57c3951d11695a52c92c2b0c_21" ; @@ -728,11 +728,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_9" -> "g8.c98b82371573afc08575815d90f5eac4_10" ; "g8.c98b82371573afc08575815d90f5eac4_9" -> "g8.c98b82371573afc08575815d90f5eac4_11" ; -"g8.c98b82371573afc08575815d90f5eac4_10" [label="10: Prune (true branch) \n PRUNE((n$2 < 10), true); [line 173, column 10]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_10" [label="10: Prune (true branch, while) \n PRUNE((n$2 < 10), true); [line 173, column 10]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_10" -> "g8.c98b82371573afc08575815d90f5eac4_12" ; -"g8.c98b82371573afc08575815d90f5eac4_11" [label="11: Prune (false branch) \n PRUNE(!(n$2 < 10), false); [line 173, column 10]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_11" [label="11: Prune (false branch, while) \n PRUNE(!(n$2 < 10), false); [line 173, column 10]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_11" -> "g8.c98b82371573afc08575815d90f5eac4_7" ; @@ -745,11 +745,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_13" -> "g8.c98b82371573afc08575815d90f5eac4_14" ; "g8.c98b82371573afc08575815d90f5eac4_13" -> "g8.c98b82371573afc08575815d90f5eac4_15" ; -"g8.c98b82371573afc08575815d90f5eac4_14" [label="14: Prune (true branch) \n PRUNE((n$3 < 10), true); [line 174, column 12]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_14" [label="14: Prune (true branch, while) \n PRUNE((n$3 < 10), true); [line 174, column 12]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_14" -> "g8.c98b82371573afc08575815d90f5eac4_16" ; -"g8.c98b82371573afc08575815d90f5eac4_15" [label="15: Prune (false branch) \n PRUNE(!(n$3 < 10), false); [line 174, column 12]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_15" [label="15: Prune (false branch, while) \n PRUNE(!(n$3 < 10), false); [line 174, column 12]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_15" -> "g8.c98b82371573afc08575815d90f5eac4_8" ; @@ -762,11 +762,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_17" -> "g8.c98b82371573afc08575815d90f5eac4_18" ; "g8.c98b82371573afc08575815d90f5eac4_17" -> "g8.c98b82371573afc08575815d90f5eac4_19" ; -"g8.c98b82371573afc08575815d90f5eac4_18" [label="18: Prune (true branch) \n PRUNE((n$4 < 10), true); [line 175, column 14]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_18" [label="18: Prune (true branch, while) \n PRUNE((n$4 < 10), true); [line 175, column 14]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_18" -> "g8.c98b82371573afc08575815d90f5eac4_26" ; -"g8.c98b82371573afc08575815d90f5eac4_19" [label="19: Prune (false branch) \n PRUNE(!(n$4 < 10), false); [line 175, column 14]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_19" [label="19: Prune (false branch, while) \n PRUNE(!(n$4 < 10), false); [line 175, column 14]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_19" -> "g8.c98b82371573afc08575815d90f5eac4_12" ; @@ -779,11 +779,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_21" -> "g8.c98b82371573afc08575815d90f5eac4_22" ; "g8.c98b82371573afc08575815d90f5eac4_21" -> "g8.c98b82371573afc08575815d90f5eac4_23" ; -"g8.c98b82371573afc08575815d90f5eac4_22" [label="22: Prune (true branch) \n PRUNE((n$5 >= 15), true); [line 177, column 13]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_22" [label="22: Prune (true branch, if) \n PRUNE((n$5 >= 15), true); [line 177, column 13]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_22" -> "g8.c98b82371573afc08575815d90f5eac4_25" ; -"g8.c98b82371573afc08575815d90f5eac4_23" [label="23: Prune (false branch) \n PRUNE(!(n$5 >= 15), false); [line 177, column 13]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_23" [label="23: Prune (false branch, if) \n PRUNE(!(n$5 >= 15), false); [line 177, column 13]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_23" -> "g8.c98b82371573afc08575815d90f5eac4_20" ; @@ -803,11 +803,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_27" -> "g8.c98b82371573afc08575815d90f5eac4_8" ; -"g8.c98b82371573afc08575815d90f5eac4_28" [label="28: Prune (true branch) \n n$10=*&q:int [line 171, column 7]\n PRUNE(n$10, true); [line 171, column 7]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_28" [label="28: Prune (true branch, if) \n n$10=*&q:int [line 171, column 7]\n PRUNE(n$10, true); [line 171, column 7]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_28" -> "g8.c98b82371573afc08575815d90f5eac4_25" ; -"g8.c98b82371573afc08575815d90f5eac4_29" [label="29: Prune (false branch) \n n$10=*&q:int [line 171, column 7]\n PRUNE(!n$10, false); [line 171, column 7]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_29" [label="29: Prune (false branch, if) \n n$10=*&q:int [line 171, column 7]\n PRUNE(!n$10, false); [line 171, column 7]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_29" -> "g8.c98b82371573afc08575815d90f5eac4_27" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot index 82c91f3ec..c34585c9d 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot @@ -20,11 +20,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch) \n PRUNE((n$0 < 20), true); [line 15, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, do while) \n PRUNE((n$0 < 20), true); [line 15, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 < 20), false); [line 15, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, do while) \n PRUNE(!(n$0 < 20), false); [line 15, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/do_while_condition_side_effects.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/do_while_condition_side_effects.c.dot index 1d4a3ede1..d7b1c8e95 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/do_while_condition_side_effects.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/do_while_condition_side_effects.c.dot @@ -20,11 +20,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch) \n PRUNE(n$0, true); [line 15, column 13]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, do while) \n PRUNE(n$0, true); [line 15, column 13]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch) \n PRUNE(!n$0, false); [line 15, column 13]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, do while) \n PRUNE(!n$0, false); [line 15, column 13]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/do_while_nested.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/do_while_nested.c.dot index a305fc389..538416d9c 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/do_while_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/do_while_nested.c.dot @@ -20,11 +20,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch) \n PRUNE((n$0 < 20), true); [line 18, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, do while) \n PRUNE((n$0 < 20), true); [line 18, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 < 20), false); [line 18, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, do while) \n PRUNE(!(n$0 < 20), false); [line 18, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -37,11 +37,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (true branch) \n PRUNE((n$1 < 30), true); [line 17, column 14]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (true branch, do while) \n PRUNE((n$1 < 30), true); [line 17, column 14]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (false branch) \n PRUNE(!(n$1 < 30), false); [line 17, column 14]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (false branch, do while) \n PRUNE(!(n$1 < 30), false); [line 17, column 14]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_condition_side_effects.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_condition_side_effects.c.dot index b1ba39afc..32a313af2 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_condition_side_effects.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_condition_side_effects.c.dot @@ -28,11 +28,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch) \n PRUNE(n$1, true); [line 13, column 20]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE(n$1, true); [line 13, column 20]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch) \n PRUNE(!n$1, false); [line 13, column 20]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!n$1, false); [line 13, column 20]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot index e458c489a..cbe01658d 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot @@ -28,11 +28,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch) \n PRUNE((n$2 < 10), true); [line 12, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$2 < 10), true); [line 12, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch) \n PRUNE(!(n$2 < 10), false); [line 12, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 12, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -53,11 +53,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: Prune (true branch) \n PRUNE((n$4 < 10), true); [line 13, column 21]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: Prune (true branch, for loop) \n PRUNE((n$4 < 10), true); [line 13, column 21]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_16" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: Prune (false branch) \n PRUNE(!(n$4 < 10), false); [line 13, column 21]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: Prune (false branch, for loop) \n PRUNE(!(n$4 < 10), false); [line 13, column 21]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition.c.dot index e709c97d3..14016dba5 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition.c.dot @@ -24,11 +24,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (true branch) \n PRUNE(1, true); [line 12, column 16]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (true branch, for loop) \n PRUNE(1, true); [line 12, column 16]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (false branch) \n PRUNE(!1, false); [line 12, column 16]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (false branch, for loop) \n PRUNE(!1, false); [line 12, column 16]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr.c.dot index f5482fa76..6f90333e6 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr.c.dot @@ -20,11 +20,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch) \n PRUNE(1, true); [line 12, column 16]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, for loop) \n PRUNE(1, true); [line 12, column 16]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch) \n PRUNE(!1, false); [line 12, column 16]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, for loop) \n PRUNE(!1, false); [line 12, column 16]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr_body.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr_body.c.dot index 91fb2d2fc..4e7206599 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr_body.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_no_condition_incr_body.c.dot @@ -20,11 +20,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch) \n PRUNE(1, true); [line 12, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, for loop) \n PRUNE(1, true); [line 12, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch) \n PRUNE(!1, false); [line 12, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, for loop) \n PRUNE(!1, false); [line 12, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_only_body.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_only_body.c.dot index 6d6d50aa1..0c4f15935 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_only_body.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_only_body.c.dot @@ -16,11 +16,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch) \n PRUNE(1, true); [line 14, column 3]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, for loop) \n PRUNE(1, true); [line 14, column 3]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch) \n PRUNE(!1, false); [line 14, column 3]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, for loop) \n PRUNE(!1, false); [line 14, column 3]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot index 1a4a24fc4..6bdfc7ac3 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot @@ -28,11 +28,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch) \n PRUNE((n$1 < 10), true); [line 12, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$1 < 10), true); [line 12, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch) \n PRUNE(!(n$1 < 10), false); [line 12, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$1 < 10), false); [line 12, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot index c108d13ce..5ba66d11b 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot @@ -28,11 +28,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch) \n PRUNE((n$2 < 10), true); [line 12, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$2 < 10), true); [line 12, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch) \n PRUNE(!(n$2 < 10), false); [line 12, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 12, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -45,11 +45,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (true branch) \n PRUNE((n$3 < 10), true); [line 13, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (true branch, while) \n PRUNE((n$3 < 10), true); [line 13, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch) \n PRUNE(!(n$3 < 10), false); [line 13, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch, while) \n PRUNE(!(n$3 < 10), false); [line 13, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot index 8afe69719..2b65bf1b7 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot @@ -20,11 +20,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch) \n PRUNE((n$0 <= 10), true); [line 12, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 <= 10), true); [line 12, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 <= 10), false); [line 12, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 <= 10), false); [line 12, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while_condition_side_effects.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while_condition_side_effects.c.dot index 57aa493d3..bb2b15935 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while_condition_side_effects.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while_condition_side_effects.c.dot @@ -20,11 +20,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch) \n PRUNE(n$0, true); [line 12, column 11]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE(n$0, true); [line 12, column 11]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch) \n PRUNE(!n$0, false); [line 12, column 11]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!n$0, false); [line 12, column 11]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot index caac0ed0e..436ff29f9 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot @@ -20,11 +20,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch) \n PRUNE((n$0 <= 10), true); [line 13, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 <= 10), true); [line 13, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 <= 10), false); [line 13, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 <= 10), false); [line 13, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -41,11 +41,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (true branch) \n PRUNE((n$2 <= 5), true); [line 14, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (true branch, while) \n PRUNE((n$2 <= 5), true); [line 14, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (false branch) \n PRUNE(!(n$2 <= 5), false); [line 14, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (false branch, while) \n PRUNE(!(n$2 <= 5), false); [line 14, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while_no_body.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while_no_body.c.dot index 339a35534..6680524b8 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while_no_body.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while_no_body.c.dot @@ -16,11 +16,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch) \n PRUNE(1, true); [line 11, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, while) \n PRUNE(1, true); [line 11, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch) \n PRUNE(!1, false); [line 11, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, while) \n PRUNE(!1, false); [line 11, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while_with_continue_and_break.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while_with_continue_and_break.c.dot index b2baf2ea7..635702279 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while_with_continue_and_break.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while_with_continue_and_break.c.dot @@ -16,11 +16,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch) \n PRUNE(1, true); [line 12, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, while) \n PRUNE(1, true); [line 12, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch) \n PRUNE(!1, false); [line 12, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, while) \n PRUNE(!1, false); [line 12, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -33,11 +33,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (true branch) \n PRUNE((n$0 == 2), true); [line 19, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (true branch, if) \n PRUNE((n$0 == 2), true); [line 19, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (false branch) \n PRUNE(!(n$0 == 2), false); [line 19, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (false branch, if) \n PRUNE(!(n$0 == 2), false); [line 19, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -46,11 +46,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (true branch) \n PRUNE(2, true); [line 13, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (true branch, while) \n PRUNE(2, true); [line 13, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_18" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch) \n PRUNE(!2, false); [line 13, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch, while) \n PRUNE(!2, false); [line 13, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; @@ -63,11 +63,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_16" ; "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_17" ; -"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: Prune (true branch) \n PRUNE((n$1 > 5), true); [line 15, column 11]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: Prune (true branch, if) \n PRUNE((n$1 > 5), true); [line 15, column 11]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_16" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: Prune (false branch) \n PRUNE(!(n$1 > 5), false); [line 15, column 11]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: Prune (false branch, if) \n PRUNE(!(n$1 > 5), false); [line 15, column 11]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_17" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_in_condition.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_in_condition.c.dot index 409f70f2d..249456ac2 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_in_condition.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_in_condition.c.dot @@ -20,11 +20,11 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_6" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_7" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_6" [label="6: Prune (true branch) \n PRUNE(n$1, true); [line 11, column 8]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_6" [label="6: Prune (true branch, if) \n PRUNE(n$1, true); [line 11, column 8]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_6" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_8" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_7" [label="7: Prune (false branch) \n PRUNE(!n$1, false); [line 11, column 8]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_7" [label="7: Prune (false branch, if) \n PRUNE(!n$1, false); [line 11, column 8]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_7" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot index a2ae93ac1..fef03a363 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot @@ -61,11 +61,11 @@ digraph cfg { "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_3" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_8" ; -"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_4" [label="4: Prune (true branch) \n n$1=*&p:int* [line 31, column 5]\n PRUNE(n$1, true); [line 31, column 5]\n " shape="invhouse"] +"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&p:int* [line 31, column 5]\n PRUNE(n$1, true); [line 31, column 5]\n " shape="invhouse"] "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_4" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_6" ; -"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_5" [label="5: Prune (false branch) \n n$1=*&p:int* [line 31, column 5]\n PRUNE(!n$1, false); [line 31, column 5]\n " shape="invhouse"] +"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&p:int* [line 31, column 5]\n PRUNE(!n$1, false); [line 31, column 5]\n " shape="invhouse"] "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_5" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_7" ; diff --git a/infer/tests/codetoanalyze/c/frontend/offsetof_expr/offsetof_expr.c.dot b/infer/tests/codetoanalyze/c/frontend/offsetof_expr/offsetof_expr.c.dot index c565438e7..82e8a3e77 100644 --- a/infer/tests/codetoanalyze/c/frontend/offsetof_expr/offsetof_expr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/offsetof_expr/offsetof_expr.c.dot @@ -20,11 +20,11 @@ digraph cfg { "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_5" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_6" ; "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_5" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_7" ; -"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_6" [label="6: Prune (true branch) \n PRUNE((n$0 == 9), true); [line 20, column 7]\n " shape="invhouse"] +"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 9), true); [line 20, column 7]\n " shape="invhouse"] "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_6" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_8" ; -"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 == 9), false); [line 20, column 7]\n " shape="invhouse"] +"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 9), false); [line 20, column 7]\n " shape="invhouse"] "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_7" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_9" ; diff --git a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot index 9c8768b76..4ece01003 100644 --- a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot @@ -20,11 +20,11 @@ digraph cfg { "m1.ae7be26cdaa742ca148068d5ac90eaca_5" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_6" ; "m1.ae7be26cdaa742ca148068d5ac90eaca_5" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_7" ; -"m1.ae7be26cdaa742ca148068d5ac90eaca_6" [label="6: Prune (true branch) \n PRUNE((n$0 < 10), true); [line 14, column 10]\n " shape="invhouse"] +"m1.ae7be26cdaa742ca148068d5ac90eaca_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 < 10), true); [line 14, column 10]\n " shape="invhouse"] "m1.ae7be26cdaa742ca148068d5ac90eaca_6" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_9" ; -"m1.ae7be26cdaa742ca148068d5ac90eaca_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 < 10), false); [line 14, column 10]\n " shape="invhouse"] +"m1.ae7be26cdaa742ca148068d5ac90eaca_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 < 10), false); [line 14, column 10]\n " shape="invhouse"] "m1.ae7be26cdaa742ca148068d5ac90eaca_7" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_3" ; @@ -45,11 +45,11 @@ digraph cfg { "m1.ae7be26cdaa742ca148068d5ac90eaca_11" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_4" ; -"m1.ae7be26cdaa742ca148068d5ac90eaca_12" [label="12: Prune (true branch) \n PRUNE((n$2 == 2), true); [line 25, column 7]\n " shape="invhouse"] +"m1.ae7be26cdaa742ca148068d5ac90eaca_12" [label="12: Prune (true branch, switch) \n PRUNE((n$2 == 2), true); [line 25, column 7]\n " shape="invhouse"] "m1.ae7be26cdaa742ca148068d5ac90eaca_12" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_11" ; -"m1.ae7be26cdaa742ca148068d5ac90eaca_13" [label="13: Prune (false branch) \n PRUNE(!(n$2 == 2), false); [line 25, column 7]\n " shape="invhouse"] +"m1.ae7be26cdaa742ca148068d5ac90eaca_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$2 == 2), false); [line 25, column 7]\n " shape="invhouse"] "m1.ae7be26cdaa742ca148068d5ac90eaca_13" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_10" ; @@ -57,11 +57,11 @@ digraph cfg { "m1.ae7be26cdaa742ca148068d5ac90eaca_14" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_4" ; -"m1.ae7be26cdaa742ca148068d5ac90eaca_15" [label="15: Prune (true branch) \n PRUNE((n$2 == 1), true); [line 22, column 7]\n " shape="invhouse"] +"m1.ae7be26cdaa742ca148068d5ac90eaca_15" [label="15: Prune (true branch, switch) \n PRUNE((n$2 == 1), true); [line 22, column 7]\n " shape="invhouse"] "m1.ae7be26cdaa742ca148068d5ac90eaca_15" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_14" ; -"m1.ae7be26cdaa742ca148068d5ac90eaca_16" [label="16: Prune (false branch) \n PRUNE(!(n$2 == 1), false); [line 22, column 7]\n " shape="invhouse"] +"m1.ae7be26cdaa742ca148068d5ac90eaca_16" [label="16: Prune (false branch, switch) \n PRUNE(!(n$2 == 1), false); [line 22, column 7]\n " shape="invhouse"] "m1.ae7be26cdaa742ca148068d5ac90eaca_16" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_12" ; @@ -70,11 +70,11 @@ digraph cfg { "m1.ae7be26cdaa742ca148068d5ac90eaca_17" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_8" ; -"m1.ae7be26cdaa742ca148068d5ac90eaca_18" [label="18: Prune (true branch) \n PRUNE((n$2 == 0), true); [line 19, column 7]\n " shape="invhouse"] +"m1.ae7be26cdaa742ca148068d5ac90eaca_18" [label="18: Prune (true branch, switch) \n PRUNE((n$2 == 0), true); [line 19, column 7]\n " shape="invhouse"] "m1.ae7be26cdaa742ca148068d5ac90eaca_18" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_17" ; -"m1.ae7be26cdaa742ca148068d5ac90eaca_19" [label="19: Prune (false branch) \n PRUNE(!(n$2 == 0), false); [line 19, column 7]\n " shape="invhouse"] +"m1.ae7be26cdaa742ca148068d5ac90eaca_19" [label="19: Prune (false branch, switch) \n PRUNE(!(n$2 == 0), false); [line 19, column 7]\n " shape="invhouse"] "m1.ae7be26cdaa742ca148068d5ac90eaca_19" -> "m1.ae7be26cdaa742ca148068d5ac90eaca_15" ; @@ -115,19 +115,19 @@ digraph cfg { "m2.aaf2f89992379705dac844c0a2a1d45f_5" -> "m2.aaf2f89992379705dac844c0a2a1d45f_12" ; -"m2.aaf2f89992379705dac844c0a2a1d45f_6" [label="6: Prune (true branch) \n PRUNE((n$0 == 3), true); [line 54, column 5]\n " shape="invhouse"] +"m2.aaf2f89992379705dac844c0a2a1d45f_6" [label="6: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 54, column 5]\n " shape="invhouse"] "m2.aaf2f89992379705dac844c0a2a1d45f_6" -> "m2.aaf2f89992379705dac844c0a2a1d45f_3" ; -"m2.aaf2f89992379705dac844c0a2a1d45f_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 == 3), false); [line 54, column 5]\n " shape="invhouse"] +"m2.aaf2f89992379705dac844c0a2a1d45f_7" [label="7: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 54, column 5]\n " shape="invhouse"] "m2.aaf2f89992379705dac844c0a2a1d45f_7" -> "m2.aaf2f89992379705dac844c0a2a1d45f_5" ; -"m2.aaf2f89992379705dac844c0a2a1d45f_8" [label="8: Prune (true branch) \n PRUNE((n$0 == 2), true); [line 53, column 5]\n " shape="invhouse"] +"m2.aaf2f89992379705dac844c0a2a1d45f_8" [label="8: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 53, column 5]\n " shape="invhouse"] "m2.aaf2f89992379705dac844c0a2a1d45f_8" -> "m2.aaf2f89992379705dac844c0a2a1d45f_3" ; -"m2.aaf2f89992379705dac844c0a2a1d45f_9" [label="9: Prune (false branch) \n PRUNE(!(n$0 == 2), false); [line 53, column 5]\n " shape="invhouse"] +"m2.aaf2f89992379705dac844c0a2a1d45f_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$0 == 2), false); [line 53, column 5]\n " shape="invhouse"] "m2.aaf2f89992379705dac844c0a2a1d45f_9" -> "m2.aaf2f89992379705dac844c0a2a1d45f_6" ; @@ -144,11 +144,11 @@ digraph cfg { "m2.aaf2f89992379705dac844c0a2a1d45f_12" -> "m2.aaf2f89992379705dac844c0a2a1d45f_11" ; -"m2.aaf2f89992379705dac844c0a2a1d45f_13" [label="13: Prune (true branch) \n PRUNE((n$0 == 1), true); [line 47, column 5]\n " shape="invhouse"] +"m2.aaf2f89992379705dac844c0a2a1d45f_13" [label="13: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 47, column 5]\n " shape="invhouse"] "m2.aaf2f89992379705dac844c0a2a1d45f_13" -> "m2.aaf2f89992379705dac844c0a2a1d45f_12" ; -"m2.aaf2f89992379705dac844c0a2a1d45f_14" [label="14: Prune (false branch) \n PRUNE(!(n$0 == 1), false); [line 47, column 5]\n " shape="invhouse"] +"m2.aaf2f89992379705dac844c0a2a1d45f_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$0 == 1), false); [line 47, column 5]\n " shape="invhouse"] "m2.aaf2f89992379705dac844c0a2a1d45f_14" -> "m2.aaf2f89992379705dac844c0a2a1d45f_8" ; @@ -161,11 +161,11 @@ digraph cfg { "m2.aaf2f89992379705dac844c0a2a1d45f_16" -> "m2.aaf2f89992379705dac844c0a2a1d45f_3" ; -"m2.aaf2f89992379705dac844c0a2a1d45f_17" [label="17: Prune (true branch) \n PRUNE((n$0 == 0), true); [line 41, column 5]\n " shape="invhouse"] +"m2.aaf2f89992379705dac844c0a2a1d45f_17" [label="17: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 41, column 5]\n " shape="invhouse"] "m2.aaf2f89992379705dac844c0a2a1d45f_17" -> "m2.aaf2f89992379705dac844c0a2a1d45f_16" ; -"m2.aaf2f89992379705dac844c0a2a1d45f_18" [label="18: Prune (false branch) \n PRUNE(!(n$0 == 0), false); [line 41, column 5]\n " shape="invhouse"] +"m2.aaf2f89992379705dac844c0a2a1d45f_18" [label="18: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 41, column 5]\n " shape="invhouse"] "m2.aaf2f89992379705dac844c0a2a1d45f_18" -> "m2.aaf2f89992379705dac844c0a2a1d45f_13" ; @@ -202,19 +202,19 @@ digraph cfg { "m3.9678f7a7939f457fa0d9353761e189c7_4" -> "m3.9678f7a7939f457fa0d9353761e189c7_15" ; "m3.9678f7a7939f457fa0d9353761e189c7_4" -> "m3.9678f7a7939f457fa0d9353761e189c7_16" ; -"m3.9678f7a7939f457fa0d9353761e189c7_5" [label="5: Prune (true branch) \n PRUNE((n$0 == 3), true); [line 72, column 5]\n " shape="invhouse"] +"m3.9678f7a7939f457fa0d9353761e189c7_5" [label="5: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 72, column 5]\n " shape="invhouse"] "m3.9678f7a7939f457fa0d9353761e189c7_5" -> "m3.9678f7a7939f457fa0d9353761e189c7_3" ; -"m3.9678f7a7939f457fa0d9353761e189c7_6" [label="6: Prune (false branch) \n PRUNE(!(n$0 == 3), false); [line 72, column 5]\n " shape="invhouse"] +"m3.9678f7a7939f457fa0d9353761e189c7_6" [label="6: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 72, column 5]\n " shape="invhouse"] "m3.9678f7a7939f457fa0d9353761e189c7_6" -> "m3.9678f7a7939f457fa0d9353761e189c7_3" ; -"m3.9678f7a7939f457fa0d9353761e189c7_7" [label="7: Prune (true branch) \n PRUNE((n$0 == 2), true); [line 71, column 5]\n " shape="invhouse"] +"m3.9678f7a7939f457fa0d9353761e189c7_7" [label="7: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 71, column 5]\n " shape="invhouse"] "m3.9678f7a7939f457fa0d9353761e189c7_7" -> "m3.9678f7a7939f457fa0d9353761e189c7_3" ; -"m3.9678f7a7939f457fa0d9353761e189c7_8" [label="8: Prune (false branch) \n PRUNE(!(n$0 == 2), false); [line 71, column 5]\n " shape="invhouse"] +"m3.9678f7a7939f457fa0d9353761e189c7_8" [label="8: Prune (false branch, switch) \n PRUNE(!(n$0 == 2), false); [line 71, column 5]\n " shape="invhouse"] "m3.9678f7a7939f457fa0d9353761e189c7_8" -> "m3.9678f7a7939f457fa0d9353761e189c7_5" ; @@ -231,11 +231,11 @@ digraph cfg { "m3.9678f7a7939f457fa0d9353761e189c7_11" -> "m3.9678f7a7939f457fa0d9353761e189c7_10" ; -"m3.9678f7a7939f457fa0d9353761e189c7_12" [label="12: Prune (true branch) \n PRUNE((n$0 == 1), true); [line 66, column 5]\n " shape="invhouse"] +"m3.9678f7a7939f457fa0d9353761e189c7_12" [label="12: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 66, column 5]\n " shape="invhouse"] "m3.9678f7a7939f457fa0d9353761e189c7_12" -> "m3.9678f7a7939f457fa0d9353761e189c7_11" ; -"m3.9678f7a7939f457fa0d9353761e189c7_13" [label="13: Prune (false branch) \n PRUNE(!(n$0 == 1), false); [line 66, column 5]\n " shape="invhouse"] +"m3.9678f7a7939f457fa0d9353761e189c7_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$0 == 1), false); [line 66, column 5]\n " shape="invhouse"] "m3.9678f7a7939f457fa0d9353761e189c7_13" -> "m3.9678f7a7939f457fa0d9353761e189c7_7" ; @@ -244,11 +244,11 @@ digraph cfg { "m3.9678f7a7939f457fa0d9353761e189c7_14" -> "m3.9678f7a7939f457fa0d9353761e189c7_3" ; -"m3.9678f7a7939f457fa0d9353761e189c7_15" [label="15: Prune (true branch) \n PRUNE((n$0 == 0), true); [line 63, column 5]\n " shape="invhouse"] +"m3.9678f7a7939f457fa0d9353761e189c7_15" [label="15: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 63, column 5]\n " shape="invhouse"] "m3.9678f7a7939f457fa0d9353761e189c7_15" -> "m3.9678f7a7939f457fa0d9353761e189c7_14" ; -"m3.9678f7a7939f457fa0d9353761e189c7_16" [label="16: Prune (false branch) \n PRUNE(!(n$0 == 0), false); [line 63, column 5]\n " shape="invhouse"] +"m3.9678f7a7939f457fa0d9353761e189c7_16" [label="16: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 63, column 5]\n " shape="invhouse"] "m3.9678f7a7939f457fa0d9353761e189c7_16" -> "m3.9678f7a7939f457fa0d9353761e189c7_12" ; @@ -277,19 +277,19 @@ digraph cfg { "m4.fd6b6fc9220b72d21683ae8e4f50a210_5" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_12" ; -"m4.fd6b6fc9220b72d21683ae8e4f50a210_6" [label="6: Prune (true branch) \n PRUNE((n$0 == 3), true); [line 97, column 5]\n " shape="invhouse"] +"m4.fd6b6fc9220b72d21683ae8e4f50a210_6" [label="6: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 97, column 5]\n " shape="invhouse"] "m4.fd6b6fc9220b72d21683ae8e4f50a210_6" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_3" ; -"m4.fd6b6fc9220b72d21683ae8e4f50a210_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 == 3), false); [line 97, column 5]\n " shape="invhouse"] +"m4.fd6b6fc9220b72d21683ae8e4f50a210_7" [label="7: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 97, column 5]\n " shape="invhouse"] "m4.fd6b6fc9220b72d21683ae8e4f50a210_7" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_5" ; -"m4.fd6b6fc9220b72d21683ae8e4f50a210_8" [label="8: Prune (true branch) \n PRUNE((n$0 == 2), true); [line 96, column 5]\n " shape="invhouse"] +"m4.fd6b6fc9220b72d21683ae8e4f50a210_8" [label="8: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 96, column 5]\n " shape="invhouse"] "m4.fd6b6fc9220b72d21683ae8e4f50a210_8" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_3" ; -"m4.fd6b6fc9220b72d21683ae8e4f50a210_9" [label="9: Prune (false branch) \n PRUNE(!(n$0 == 2), false); [line 96, column 5]\n " shape="invhouse"] +"m4.fd6b6fc9220b72d21683ae8e4f50a210_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$0 == 2), false); [line 96, column 5]\n " shape="invhouse"] "m4.fd6b6fc9220b72d21683ae8e4f50a210_9" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_6" ; @@ -306,11 +306,11 @@ digraph cfg { "m4.fd6b6fc9220b72d21683ae8e4f50a210_12" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_11" ; -"m4.fd6b6fc9220b72d21683ae8e4f50a210_13" [label="13: Prune (true branch) \n PRUNE((n$0 == 1), true); [line 90, column 5]\n " shape="invhouse"] +"m4.fd6b6fc9220b72d21683ae8e4f50a210_13" [label="13: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 90, column 5]\n " shape="invhouse"] "m4.fd6b6fc9220b72d21683ae8e4f50a210_13" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_12" ; -"m4.fd6b6fc9220b72d21683ae8e4f50a210_14" [label="14: Prune (false branch) \n PRUNE(!(n$0 == 1), false); [line 90, column 5]\n " shape="invhouse"] +"m4.fd6b6fc9220b72d21683ae8e4f50a210_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$0 == 1), false); [line 90, column 5]\n " shape="invhouse"] "m4.fd6b6fc9220b72d21683ae8e4f50a210_14" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_8" ; @@ -323,11 +323,11 @@ digraph cfg { "m4.fd6b6fc9220b72d21683ae8e4f50a210_16" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_3" ; -"m4.fd6b6fc9220b72d21683ae8e4f50a210_17" [label="17: Prune (true branch) \n PRUNE((n$0 == 0), true); [line 84, column 5]\n " shape="invhouse"] +"m4.fd6b6fc9220b72d21683ae8e4f50a210_17" [label="17: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 84, column 5]\n " shape="invhouse"] "m4.fd6b6fc9220b72d21683ae8e4f50a210_17" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_16" ; -"m4.fd6b6fc9220b72d21683ae8e4f50a210_18" [label="18: Prune (false branch) \n PRUNE(!(n$0 == 0), false); [line 84, column 5]\n " shape="invhouse"] +"m4.fd6b6fc9220b72d21683ae8e4f50a210_18" [label="18: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 84, column 5]\n " shape="invhouse"] "m4.fd6b6fc9220b72d21683ae8e4f50a210_18" -> "m4.fd6b6fc9220b72d21683ae8e4f50a210_13" ; @@ -368,11 +368,11 @@ digraph cfg { "m5.7b1f6dff14d8c2dfeb7da9487be0612d_5" -> "m5.7b1f6dff14d8c2dfeb7da9487be0612d_6" ; "m5.7b1f6dff14d8c2dfeb7da9487be0612d_5" -> "m5.7b1f6dff14d8c2dfeb7da9487be0612d_7" ; -"m5.7b1f6dff14d8c2dfeb7da9487be0612d_6" [label="6: Prune (true branch) \n PRUNE((n$0 < 10), true); [line 105, column 10]\n " shape="invhouse"] +"m5.7b1f6dff14d8c2dfeb7da9487be0612d_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 < 10), true); [line 105, column 10]\n " shape="invhouse"] "m5.7b1f6dff14d8c2dfeb7da9487be0612d_6" -> "m5.7b1f6dff14d8c2dfeb7da9487be0612d_8" ; -"m5.7b1f6dff14d8c2dfeb7da9487be0612d_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 < 10), false); [line 105, column 10]\n " shape="invhouse"] +"m5.7b1f6dff14d8c2dfeb7da9487be0612d_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 < 10), false); [line 105, column 10]\n " shape="invhouse"] "m5.7b1f6dff14d8c2dfeb7da9487be0612d_7" -> "m5.7b1f6dff14d8c2dfeb7da9487be0612d_3" ; @@ -385,11 +385,11 @@ digraph cfg { "m5.7b1f6dff14d8c2dfeb7da9487be0612d_9" -> "m5.7b1f6dff14d8c2dfeb7da9487be0612d_4" ; -"m5.7b1f6dff14d8c2dfeb7da9487be0612d_10" [label="10: Prune (true branch) \n PRUNE((n$1 == 0), true); [line 111, column 7]\n " shape="invhouse"] +"m5.7b1f6dff14d8c2dfeb7da9487be0612d_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 0), true); [line 111, column 7]\n " shape="invhouse"] "m5.7b1f6dff14d8c2dfeb7da9487be0612d_10" -> "m5.7b1f6dff14d8c2dfeb7da9487be0612d_9" ; -"m5.7b1f6dff14d8c2dfeb7da9487be0612d_11" [label="11: Prune (false branch) \n PRUNE(!(n$1 == 0), false); [line 111, column 7]\n " shape="invhouse"] +"m5.7b1f6dff14d8c2dfeb7da9487be0612d_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$1 == 0), false); [line 111, column 7]\n " shape="invhouse"] "m5.7b1f6dff14d8c2dfeb7da9487be0612d_11" -> "m5.7b1f6dff14d8c2dfeb7da9487be0612d_4" ; @@ -429,11 +429,11 @@ digraph cfg { "m6.36604411a85db2bd9e97e22bfb5b692d_5" -> "m6.36604411a85db2bd9e97e22bfb5b692d_6" ; "m6.36604411a85db2bd9e97e22bfb5b692d_5" -> "m6.36604411a85db2bd9e97e22bfb5b692d_7" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_6" [label="6: Prune (true branch) \n PRUNE((n$1 > 0), true); [line 121, column 11]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_6" [label="6: Prune (true branch, boolean exp) \n PRUNE((n$1 > 0), true); [line 121, column 11]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_6" -> "m6.36604411a85db2bd9e97e22bfb5b692d_8" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_7" [label="7: Prune (false branch) \n PRUNE(!(n$1 > 0), false); [line 121, column 11]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!(n$1 > 0), false); [line 121, column 11]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_7" -> "m6.36604411a85db2bd9e97e22bfb5b692d_9" ; @@ -450,19 +450,19 @@ digraph cfg { "m6.36604411a85db2bd9e97e22bfb5b692d_10" -> "m6.36604411a85db2bd9e97e22bfb5b692d_21" ; "m6.36604411a85db2bd9e97e22bfb5b692d_10" -> "m6.36604411a85db2bd9e97e22bfb5b692d_22" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_11" [label="11: Prune (true branch) \n PRUNE((n$2 == 3), true); [line 131, column 5]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_11" [label="11: Prune (true branch, switch) \n PRUNE((n$2 == 3), true); [line 131, column 5]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_11" -> "m6.36604411a85db2bd9e97e22bfb5b692d_3" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_12" [label="12: Prune (false branch) \n PRUNE(!(n$2 == 3), false); [line 131, column 5]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_12" [label="12: Prune (false branch, switch) \n PRUNE(!(n$2 == 3), false); [line 131, column 5]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_12" -> "m6.36604411a85db2bd9e97e22bfb5b692d_3" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_13" [label="13: Prune (true branch) \n PRUNE((n$2 == 2), true); [line 130, column 5]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_13" [label="13: Prune (true branch, switch) \n PRUNE((n$2 == 2), true); [line 130, column 5]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_13" -> "m6.36604411a85db2bd9e97e22bfb5b692d_3" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_14" [label="14: Prune (false branch) \n PRUNE(!(n$2 == 2), false); [line 130, column 5]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$2 == 2), false); [line 130, column 5]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_14" -> "m6.36604411a85db2bd9e97e22bfb5b692d_11" ; @@ -479,11 +479,11 @@ digraph cfg { "m6.36604411a85db2bd9e97e22bfb5b692d_17" -> "m6.36604411a85db2bd9e97e22bfb5b692d_16" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_18" [label="18: Prune (true branch) \n PRUNE((n$2 == 1), true); [line 125, column 5]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_18" [label="18: Prune (true branch, switch) \n PRUNE((n$2 == 1), true); [line 125, column 5]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_18" -> "m6.36604411a85db2bd9e97e22bfb5b692d_17" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_19" [label="19: Prune (false branch) \n PRUNE(!(n$2 == 1), false); [line 125, column 5]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_19" [label="19: Prune (false branch, switch) \n PRUNE(!(n$2 == 1), false); [line 125, column 5]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_19" -> "m6.36604411a85db2bd9e97e22bfb5b692d_13" ; @@ -492,11 +492,11 @@ digraph cfg { "m6.36604411a85db2bd9e97e22bfb5b692d_20" -> "m6.36604411a85db2bd9e97e22bfb5b692d_3" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_21" [label="21: Prune (true branch) \n PRUNE((n$2 == 0), true); [line 122, column 5]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_21" [label="21: Prune (true branch, switch) \n PRUNE((n$2 == 0), true); [line 122, column 5]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_21" -> "m6.36604411a85db2bd9e97e22bfb5b692d_20" ; -"m6.36604411a85db2bd9e97e22bfb5b692d_22" [label="22: Prune (false branch) \n PRUNE(!(n$2 == 0), false); [line 122, column 5]\n " shape="invhouse"] +"m6.36604411a85db2bd9e97e22bfb5b692d_22" [label="22: Prune (false branch, switch) \n PRUNE(!(n$2 == 0), false); [line 122, column 5]\n " shape="invhouse"] "m6.36604411a85db2bd9e97e22bfb5b692d_22" -> "m6.36604411a85db2bd9e97e22bfb5b692d_18" ; @@ -532,19 +532,19 @@ digraph cfg { "m7.0449904fbf32607bf8ce5c26823dbc29_4" -> "m7.0449904fbf32607bf8ce5c26823dbc29_15" ; "m7.0449904fbf32607bf8ce5c26823dbc29_4" -> "m7.0449904fbf32607bf8ce5c26823dbc29_16" ; -"m7.0449904fbf32607bf8ce5c26823dbc29_5" [label="5: Prune (true branch) \n PRUNE((n$0 == 3), true); [line 151, column 5]\n " shape="invhouse"] +"m7.0449904fbf32607bf8ce5c26823dbc29_5" [label="5: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 151, column 5]\n " shape="invhouse"] "m7.0449904fbf32607bf8ce5c26823dbc29_5" -> "m7.0449904fbf32607bf8ce5c26823dbc29_3" ; -"m7.0449904fbf32607bf8ce5c26823dbc29_6" [label="6: Prune (false branch) \n PRUNE(!(n$0 == 3), false); [line 151, column 5]\n " shape="invhouse"] +"m7.0449904fbf32607bf8ce5c26823dbc29_6" [label="6: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 151, column 5]\n " shape="invhouse"] "m7.0449904fbf32607bf8ce5c26823dbc29_6" -> "m7.0449904fbf32607bf8ce5c26823dbc29_3" ; -"m7.0449904fbf32607bf8ce5c26823dbc29_7" [label="7: Prune (true branch) \n PRUNE((n$0 == 2), true); [line 150, column 5]\n " shape="invhouse"] +"m7.0449904fbf32607bf8ce5c26823dbc29_7" [label="7: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 150, column 5]\n " shape="invhouse"] "m7.0449904fbf32607bf8ce5c26823dbc29_7" -> "m7.0449904fbf32607bf8ce5c26823dbc29_3" ; -"m7.0449904fbf32607bf8ce5c26823dbc29_8" [label="8: Prune (false branch) \n PRUNE(!(n$0 == 2), false); [line 150, column 5]\n " shape="invhouse"] +"m7.0449904fbf32607bf8ce5c26823dbc29_8" [label="8: Prune (false branch, switch) \n PRUNE(!(n$0 == 2), false); [line 150, column 5]\n " shape="invhouse"] "m7.0449904fbf32607bf8ce5c26823dbc29_8" -> "m7.0449904fbf32607bf8ce5c26823dbc29_5" ; @@ -561,11 +561,11 @@ digraph cfg { "m7.0449904fbf32607bf8ce5c26823dbc29_11" -> "m7.0449904fbf32607bf8ce5c26823dbc29_10" ; -"m7.0449904fbf32607bf8ce5c26823dbc29_12" [label="12: Prune (true branch) \n PRUNE((n$0 == 1), true); [line 145, column 5]\n " shape="invhouse"] +"m7.0449904fbf32607bf8ce5c26823dbc29_12" [label="12: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 145, column 5]\n " shape="invhouse"] "m7.0449904fbf32607bf8ce5c26823dbc29_12" -> "m7.0449904fbf32607bf8ce5c26823dbc29_11" ; -"m7.0449904fbf32607bf8ce5c26823dbc29_13" [label="13: Prune (false branch) \n PRUNE(!(n$0 == 1), false); [line 145, column 5]\n " shape="invhouse"] +"m7.0449904fbf32607bf8ce5c26823dbc29_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$0 == 1), false); [line 145, column 5]\n " shape="invhouse"] "m7.0449904fbf32607bf8ce5c26823dbc29_13" -> "m7.0449904fbf32607bf8ce5c26823dbc29_7" ; @@ -574,11 +574,11 @@ digraph cfg { "m7.0449904fbf32607bf8ce5c26823dbc29_14" -> "m7.0449904fbf32607bf8ce5c26823dbc29_3" ; -"m7.0449904fbf32607bf8ce5c26823dbc29_15" [label="15: Prune (true branch) \n PRUNE((n$0 == 0), true); [line 142, column 5]\n " shape="invhouse"] +"m7.0449904fbf32607bf8ce5c26823dbc29_15" [label="15: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 142, column 5]\n " shape="invhouse"] "m7.0449904fbf32607bf8ce5c26823dbc29_15" -> "m7.0449904fbf32607bf8ce5c26823dbc29_14" ; -"m7.0449904fbf32607bf8ce5c26823dbc29_16" [label="16: Prune (false branch) \n PRUNE(!(n$0 == 0), false); [line 142, column 5]\n " shape="invhouse"] +"m7.0449904fbf32607bf8ce5c26823dbc29_16" [label="16: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 142, column 5]\n " shape="invhouse"] "m7.0449904fbf32607bf8ce5c26823dbc29_16" -> "m7.0449904fbf32607bf8ce5c26823dbc29_12" ; @@ -607,11 +607,11 @@ digraph cfg { "m8.980b79c2a71b9bcc117e08a990b5b332_5" -> "m8.980b79c2a71b9bcc117e08a990b5b332_6" ; "m8.980b79c2a71b9bcc117e08a990b5b332_5" -> "m8.980b79c2a71b9bcc117e08a990b5b332_7" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_6" [label="6: Prune (true branch) \n PRUNE((n$0 < 10), true); [line 159, column 10]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 < 10), true); [line 159, column 10]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_6" -> "m8.980b79c2a71b9bcc117e08a990b5b332_10" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 < 10), false); [line 159, column 10]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 < 10), false); [line 159, column 10]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_7" -> "m8.980b79c2a71b9bcc117e08a990b5b332_3" ; @@ -628,11 +628,11 @@ digraph cfg { "m8.980b79c2a71b9bcc117e08a990b5b332_10" -> "m8.980b79c2a71b9bcc117e08a990b5b332_11" ; "m8.980b79c2a71b9bcc117e08a990b5b332_10" -> "m8.980b79c2a71b9bcc117e08a990b5b332_12" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_11" [label="11: Prune (true branch) \n PRUNE((n$2 == 0), true); [line 160, column 13]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_11" [label="11: Prune (true branch, boolean exp) \n PRUNE((n$2 == 0), true); [line 160, column 13]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_11" -> "m8.980b79c2a71b9bcc117e08a990b5b332_13" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_12" [label="12: Prune (false branch) \n PRUNE(!(n$2 == 0), false); [line 160, column 13]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_12" [label="12: Prune (false branch, boolean exp) \n PRUNE(!(n$2 == 0), false); [line 160, column 13]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_12" -> "m8.980b79c2a71b9bcc117e08a990b5b332_14" ; @@ -649,19 +649,19 @@ digraph cfg { "m8.980b79c2a71b9bcc117e08a990b5b332_15" -> "m8.980b79c2a71b9bcc117e08a990b5b332_27" ; "m8.980b79c2a71b9bcc117e08a990b5b332_15" -> "m8.980b79c2a71b9bcc117e08a990b5b332_28" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_16" [label="16: Prune (true branch) \n PRUNE((n$3 == 3), true); [line 171, column 7]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_16" [label="16: Prune (true branch, switch) \n PRUNE((n$3 == 3), true); [line 171, column 7]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_16" -> "m8.980b79c2a71b9bcc117e08a990b5b332_8" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_17" [label="17: Prune (false branch) \n PRUNE(!(n$3 == 3), false); [line 171, column 7]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_17" [label="17: Prune (false branch, switch) \n PRUNE(!(n$3 == 3), false); [line 171, column 7]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_17" -> "m8.980b79c2a71b9bcc117e08a990b5b332_8" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_18" [label="18: Prune (true branch) \n PRUNE((n$3 == 2), true); [line 170, column 7]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_18" [label="18: Prune (true branch, switch) \n PRUNE((n$3 == 2), true); [line 170, column 7]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_18" -> "m8.980b79c2a71b9bcc117e08a990b5b332_8" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_19" [label="19: Prune (false branch) \n PRUNE(!(n$3 == 2), false); [line 170, column 7]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_19" [label="19: Prune (false branch, switch) \n PRUNE(!(n$3 == 2), false); [line 170, column 7]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_19" -> "m8.980b79c2a71b9bcc117e08a990b5b332_16" ; @@ -678,11 +678,11 @@ digraph cfg { "m8.980b79c2a71b9bcc117e08a990b5b332_22" -> "m8.980b79c2a71b9bcc117e08a990b5b332_21" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_23" [label="23: Prune (true branch) \n PRUNE((n$3 == 1), true); [line 164, column 7]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_23" [label="23: Prune (true branch, switch) \n PRUNE((n$3 == 1), true); [line 164, column 7]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_23" -> "m8.980b79c2a71b9bcc117e08a990b5b332_22" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_24" [label="24: Prune (false branch) \n PRUNE(!(n$3 == 1), false); [line 164, column 7]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_24" [label="24: Prune (false branch, switch) \n PRUNE(!(n$3 == 1), false); [line 164, column 7]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_24" -> "m8.980b79c2a71b9bcc117e08a990b5b332_18" ; @@ -695,11 +695,11 @@ digraph cfg { "m8.980b79c2a71b9bcc117e08a990b5b332_26" -> "m8.980b79c2a71b9bcc117e08a990b5b332_25" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_27" [label="27: Prune (true branch) \n PRUNE((n$3 == 0), true); [line 161, column 7]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_27" [label="27: Prune (true branch, switch) \n PRUNE((n$3 == 0), true); [line 161, column 7]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_27" -> "m8.980b79c2a71b9bcc117e08a990b5b332_26" ; -"m8.980b79c2a71b9bcc117e08a990b5b332_28" [label="28: Prune (false branch) \n PRUNE(!(n$3 == 0), false); [line 161, column 7]\n " shape="invhouse"] +"m8.980b79c2a71b9bcc117e08a990b5b332_28" [label="28: Prune (false branch, switch) \n PRUNE(!(n$3 == 0), false); [line 161, column 7]\n " shape="invhouse"] "m8.980b79c2a71b9bcc117e08a990b5b332_28" -> "m8.980b79c2a71b9bcc117e08a990b5b332_23" ; @@ -766,11 +766,11 @@ digraph cfg { "m11.c4534fe0ca256b331e9a3f14fe17229d_5" -> "m11.c4534fe0ca256b331e9a3f14fe17229d_6" ; "m11.c4534fe0ca256b331e9a3f14fe17229d_5" -> "m11.c4534fe0ca256b331e9a3f14fe17229d_7" ; -"m11.c4534fe0ca256b331e9a3f14fe17229d_6" [label="6: Prune (true branch) \n PRUNE((n$1 == 0), true); [line 193, column 20]\n " shape="invhouse"] +"m11.c4534fe0ca256b331e9a3f14fe17229d_6" [label="6: Prune (true branch, boolean exp) \n PRUNE((n$1 == 0), true); [line 193, column 20]\n " shape="invhouse"] "m11.c4534fe0ca256b331e9a3f14fe17229d_6" -> "m11.c4534fe0ca256b331e9a3f14fe17229d_8" ; -"m11.c4534fe0ca256b331e9a3f14fe17229d_7" [label="7: Prune (false branch) \n PRUNE(!(n$1 == 0), false); [line 193, column 20]\n " shape="invhouse"] +"m11.c4534fe0ca256b331e9a3f14fe17229d_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!(n$1 == 0), false); [line 193, column 20]\n " shape="invhouse"] "m11.c4534fe0ca256b331e9a3f14fe17229d_7" -> "m11.c4534fe0ca256b331e9a3f14fe17229d_9" ; @@ -791,11 +791,11 @@ digraph cfg { "m11.c4534fe0ca256b331e9a3f14fe17229d_11" -> "m11.c4534fe0ca256b331e9a3f14fe17229d_3" ; -"m11.c4534fe0ca256b331e9a3f14fe17229d_12" [label="12: Prune (true branch) \n PRUNE((n$3 == 0), true); [line 194, column 5]\n " shape="invhouse"] +"m11.c4534fe0ca256b331e9a3f14fe17229d_12" [label="12: Prune (true branch, switch) \n PRUNE((n$3 == 0), true); [line 194, column 5]\n " shape="invhouse"] "m11.c4534fe0ca256b331e9a3f14fe17229d_12" -> "m11.c4534fe0ca256b331e9a3f14fe17229d_11" ; -"m11.c4534fe0ca256b331e9a3f14fe17229d_13" [label="13: Prune (false branch) \n PRUNE(!(n$3 == 0), false); [line 194, column 5]\n " shape="invhouse"] +"m11.c4534fe0ca256b331e9a3f14fe17229d_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$3 == 0), false); [line 194, column 5]\n " shape="invhouse"] "m11.c4534fe0ca256b331e9a3f14fe17229d_13" -> "m11.c4534fe0ca256b331e9a3f14fe17229d_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/vaarg_expr/vaarg_expr.c.dot b/infer/tests/codetoanalyze/c/frontend/vaarg_expr/vaarg_expr.c.dot index 0fb610077..0ae7e2533 100644 --- a/infer/tests/codetoanalyze/c/frontend/vaarg_expr/vaarg_expr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/vaarg_expr/vaarg_expr.c.dot @@ -24,11 +24,11 @@ digraph cfg { "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" ; "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" [label="7: Prune (true branch) \n PRUNE((n$1 == 9), true); [line 17, column 7]\n " shape="invhouse"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" [label="7: Prune (true branch, if) \n PRUNE((n$1 == 9), true); [line 17, column 7]\n " shape="invhouse"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" [label="8: Prune (false branch) \n PRUNE(!(n$1 == 9), false); [line 17, column 7]\n " shape="invhouse"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" [label="8: Prune (false branch, if) \n PRUNE(!(n$1 == 9), false); [line 17, column 7]\n " shape="invhouse"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" ; diff --git a/infer/tests/codetoanalyze/cpp/conflicts/issues.exp b/infer/tests/codetoanalyze/cpp/conflicts/issues.exp index 6fff43573..90c56e5b2 100644 --- a/infer/tests/codetoanalyze/cpp/conflicts/issues.exp +++ b/infer/tests/codetoanalyze/cpp/conflicts/issues.exp @@ -1,3 +1,3 @@ codetoanalyze/cpp/conflicts/test.cpp, test1_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure test1_bad(),Skipping nullableMethod(): function or method not found] codetoanalyze/cpp/conflicts/test.cpp, test2_bad, 1, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of nullableMethod(),definition of nullableMethod] -codetoanalyze/cpp/conflicts/test.cpp, test3_bad, 5, NULL_DEREFERENCE, ERROR, [start of procedure test3_bad(),Skipping nullableMethod(): function or method not found,Condition is true,Skipping nullableMethod(): function or method not found,Condition is false] +codetoanalyze/cpp/conflicts/test.cpp, test3_bad, 5, NULL_DEREFERENCE, ERROR, [start of procedure test3_bad(),Skipping nullableMethod(): function or method not found,Loop condition is true. Entering loop body,Skipping nullableMethod(): function or method not found,Loop condition is false. Leaving loop] diff --git a/infer/tests/codetoanalyze/cpp/errors/issues.exp b/infer/tests/codetoanalyze/cpp/errors/issues.exp index e9fda98c2..9e89759e3 100644 --- a/infer/tests/codetoanalyze/cpp/errors/issues.exp +++ b/infer/tests/codetoanalyze/cpp/errors/issues.exp @@ -14,41 +14,41 @@ codetoanalyze/cpp/errors/include_header/header2.h, header2::div0_templ=(),start of procedure operator<(),Condition is false,Condition is false,Condition is false,return from a call to operator<,Condition is false,return from a call to operator>=,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_gt_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_gt_bad(),start of procedure operator>(),start of procedure operator<(),Condition is false,Condition is false,Condition is true,return from a call to operator<,return from a call to operator>,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_le_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_le_bad(),start of procedure operator<=(),start of procedure operator<(),Condition is false,Condition is false,Condition is false,return from a call to operator<,Condition is false,return from a call to operator<=,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_lt_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_lt_bad(),start of procedure operator<(),Condition is false,Condition is false,Condition is true,return from a call to operator<,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, operator_neq_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_neq_bad(),start of procedure operator!=(),start of procedure operator==(),Condition is true,Condition is true,return from a call to operator==,Condition is true,return from a call to operator!=,Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_equal_to_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_equal_to_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_greater_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_greater_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_greater_equal_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_greater_equal_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_less_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_less_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_less_equal_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_less_equal_bad(),Condition is true] -codetoanalyze/cpp/errors/models/cmp.cpp, std_not_equal_to_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_not_equal_to_bad(),Condition is true] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe1_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::compare_exchange_strong_possible_npe1_bad(),Taking true branch,Taking true branch,Taking true branch] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_strong_possible_npe2_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::compare_exchange_strong_possible_npe2_bad(),Taking true branch,Taking true branch,Taking true branch] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_weak_possible_npe1_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::compare_exchange_weak_possible_npe1_bad(),Taking true branch,Taking true branch,Taking true branch] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::compare_exchange_weak_possible_npe2_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::compare_exchange_weak_possible_npe2_bad(),Taking true branch,Taking true branch,Taking true branch] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::exchange_possible_npe_bad, 5, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::exchange_possible_npe_bad(),Taking true branch,Taking true branch] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::is_zero_possible_npe_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::is_zero_possible_npe_bad(),start of procedure A,return from a call to atomic_test::A_A,start of procedure add,return from a call to atomic_test::A_add,start of procedure sub,return from a call to atomic_test::A_sub,start of procedure is_zero,Condition is true,return from a call to atomic_test::A_is_zero,Taking true branch] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::load_store_possible_npe_bad, 5, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::load_store_possible_npe_bad(),Taking true branch] +codetoanalyze/cpp/errors/models/atomic.cpp, atomic_test::not_zero_possible_npe_bad, 6, NULL_DEREFERENCE, ERROR, [start of procedure atomic_test::not_zero_possible_npe_bad(),start of procedure A,return from a call to atomic_test::A_A,start of procedure sub,return from a call to atomic_test::A_sub,start of procedure sub,return from a call to atomic_test::A_sub,start of procedure is_zero,Condition is false,return from a call to atomic_test::A_is_zero,Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_eq_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_eq_bad(),start of procedure operator==(),Condition is true,Condition is true,return from a call to operator==,Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_ge_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_ge_bad(),start of procedure operator>=(),start of procedure operator<(),Taking false branch,Taking false branch,Condition is false,return from a call to operator<,Condition is false,return from a call to operator>=,Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_gt_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_gt_bad(),start of procedure operator>(),start of procedure operator<(),Taking false branch,Taking false branch,Condition is true,return from a call to operator<,return from a call to operator>,Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_le_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_le_bad(),start of procedure operator<=(),start of procedure operator<(),Taking false branch,Taking false branch,Condition is false,return from a call to operator<,Condition is false,return from a call to operator<=,Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_lt_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_lt_bad(),start of procedure operator<(),Taking false branch,Taking false branch,Condition is true,return from a call to operator<,Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, operator_neq_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure operator_neq_bad(),start of procedure operator!=(),start of procedure operator==(),Condition is true,Condition is true,return from a call to operator==,Condition is true,return from a call to operator!=,Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, std_equal_to_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_equal_to_bad(),Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, std_greater_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_greater_bad(),Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, std_greater_equal_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_greater_equal_bad(),Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, std_less_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_less_bad(),Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, std_less_equal_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_less_equal_bad(),Taking true branch] +codetoanalyze/cpp/errors/models/cmp.cpp, std_not_equal_to_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure std_not_equal_to_bad(),Taking true branch] codetoanalyze/cpp/errors/models/move.cpp, move::div0_moved_from, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure move::div0_moved_from(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] codetoanalyze/cpp/errors/models/move.cpp, move::div0_moved_to, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure move::div0_moved_to(),start of procedure X,return from a call to move::X_X,start of procedure X,return from a call to move::X_X] codetoanalyze/cpp/errors/models/pair.cpp, pair::deref_pair_null0_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure pair::deref_pair_null0_bad(),start of procedure pair::pairOfZeroNull(),return from a call to pair::pairOfZeroNull] codetoanalyze/cpp/errors/models/pair.cpp, pair::deref_pair_null1_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure pair::deref_pair_null1_bad(),start of procedure pair::pairOfZeroNull(),return from a call to pair::pairOfZeroNull] codetoanalyze/cpp/errors/models/pair.cpp, pair::deref_pair_null3_bad, 3, NULL_DEREFERENCE, ERROR, [start of procedure pair::deref_pair_null3_bad(),start of procedure pair::pairOfZeroNull2(),return from a call to pair::pairOfZeroNull2] codetoanalyze/cpp/errors/models/swap.cpp, swap_null_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure swap_null_bad()] -codetoanalyze/cpp/errors/models/throw_wrapper.cpp, nothrow_if_null_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure nothrow_if_null_bad(),start of procedure get_null(),return from a call to get_null,Condition is true,start of procedure do_nothing(),return from a call to do_nothing] +codetoanalyze/cpp/errors/models/throw_wrapper.cpp, nothrow_if_null_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure nothrow_if_null_bad(),start of procedure get_null(),return from a call to get_null,Taking true branch,start of procedure do_nothing(),return from a call to do_nothing] codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm1, 2, DOUBLE_LOCK, ERROR, [start of procedure alarm1()] codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm2, 2, DOUBLE_LOCK, ERROR, [start of procedure alarm2()] codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm2, 2, DOUBLE_LOCK, ERROR, [start of procedure alarm2()] -codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm3, 6, DOUBLE_LOCK, ERROR, [start of procedure alarm3(),Skipping mutex: function or method not found,Condition is true,Condition is true] -codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, LockMapBucket_bad_usage3, 2, PRECONDITION_NOT_MET, WARNING, [start of procedure bad_usage3,start of procedure LpLockGuard,start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Condition is true,return from a call to detail::try_lock_impl,Condition is true,return from a call to lp_lock,return from a call to LpLockGuard_LpLockGuard] -codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, bad_usage1, 3, PRECONDITION_NOT_MET, WARNING, [start of procedure bad_usage1(),Skipping mutex: function or method not found,start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Condition is true,return from a call to detail::try_lock_impl,Condition is true,return from a call to lp_lock] +codetoanalyze/cpp/errors/mutex/std_mutex.cpp, alarm3, 6, DOUBLE_LOCK, ERROR, [start of procedure alarm3(),Skipping mutex: function or method not found,Taking true branch,Taking true branch] +codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, LockMapBucket_bad_usage3, 2, PRECONDITION_NOT_MET, WARNING, [start of procedure bad_usage3,start of procedure LpLockGuard,start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Taking true branch,return from a call to detail::try_lock_impl,Switch condition is true. Entering switch case,return from a call to lp_lock,return from a call to LpLockGuard_LpLockGuard] +codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, bad_usage1, 3, PRECONDITION_NOT_MET, WARNING, [start of procedure bad_usage1(),Skipping mutex: function or method not found,start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Taking true branch,return from a call to detail::try_lock_impl,Switch condition is true. Entering switch case,return from a call to lp_lock] codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, bad_usage2, 3, PRECONDITION_NOT_MET, WARNING, [start of procedure bad_usage2(),Skipping mutex: function or method not found] -codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, lp_lock, 7, DOUBLE_LOCK, ERROR, [start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Condition is false,return from a call to detail::try_lock_impl,Condition is false,Condition is true,start of procedure detail::lock_impl(),return from a call to detail::lock_impl] +codetoanalyze/cpp/errors/mutex/std_mutex_lock_profiling.cpp, lp_lock, 7, DOUBLE_LOCK, ERROR, [start of procedure lp_lock(),start of procedure detail::try_lock_impl(),Taking false branch,return from a call to detail::try_lock_impl,Switch condition is false. Skipping switch case,Switch condition is true. Entering switch case,start of procedure detail::lock_impl(),return from a call to detail::lock_impl] codetoanalyze/cpp/errors/mutex/timed_mutex.cpp, alarm1, 2, DOUBLE_LOCK, ERROR, [start of procedure alarm1()] codetoanalyze/cpp/errors/mutex/timed_mutex.cpp, try_lock_bad, 2, DOUBLE_LOCK, ERROR, [start of procedure try_lock_bad()] codetoanalyze/cpp/errors/mutex/timed_mutex.cpp, try_lock_bad, 2, DOUBLE_LOCK, ERROR, [start of procedure try_lock_bad()] @@ -56,24 +56,24 @@ codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_field_dere codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure boxed_ptr::smart_ptr_null_method_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_null_method_deref2, 2, NULL_DEREFERENCE, ERROR, [start of procedure boxed_ptr::smart_ptr_null_method_deref2(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure get,return from a call to boxed_ptr::SmartPtr_get] codetoanalyze/cpp/errors/npe/boxed_ptr.cpp, boxed_ptr::smart_ptr_result_method_null_deref, 4, NULL_DEREFERENCE, ERROR, [start of procedure boxed_ptr::smart_ptr_result_method_null_deref(),start of procedure SmartPtr,return from a call to boxed_ptr::SmartPtr_SmartPtr,start of procedure X,return from a call to boxed_ptr::X_X,start of procedure get,return from a call to boxed_ptr::SmartPtr_get,start of procedure getNull,return from a call to boxed_ptr::X_getNull] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is false,return from a call to cancellation_test::is_size_zero,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is false,return from a call to cancellation_test::is_size_zero,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is true,return from a call to cancellation_test::is_size_zero,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is true,return from a call to cancellation_test::is_size_zero,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] -codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Condition is true] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is false,return from a call to cancellation_test::is_size_zero,Taking true branch] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is false,return from a call to cancellation_test::is_size_zero,Taking true branch] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_nonzero_deref_iter_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_nonzero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is false,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref2_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is true,return from a call to cancellation_test::is_size_zero,Taking true branch] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref_bad(),start of procedure cancellation_test::is_size_zero(),start of procedure begin,return from a call to cancellation_test::Test_begin,start of procedure end,return from a call to cancellation_test::Test_end,Condition is true,return from a call to cancellation_test::is_size_zero,Taking true branch] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref_iter2_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] +codetoanalyze/cpp/errors/npe/cancellation.cpp, cancellation_test::size_zero_deref_iter_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure cancellation_test::size_zero_deref_iter_bad(),start of procedure cancellation_test::is_size_zero_iter(),start of procedure begin_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_begin_iter,start of procedure end_iter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,start of procedure TestIter,return from a call to cancellation_test::TestIter_TestIter,return from a call to cancellation_test::Test_end_iter,start of procedure cancellation_test::operator==(),Condition is true,return from a call to cancellation_test::operator==,return from a call to cancellation_test::is_size_zero_iter,Taking true branch] codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe, 2, NULL_DEREFERENCE, ERROR, [start of procedure npe_added_to_b1::causes_npe(),start of procedure npe_added_to_b1::deref_ref()] codetoanalyze/cpp/errors/npe/npe_added_to_b1.cpp, npe_added_to_b1::causes_npe_person, 2, NULL_DEREFERENCE, ERROR, [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, ERROR, [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, ERROR, [start of procedure testNullDeref(),Taking true branch,start of procedure getNull,return from a call to XFactory_getNull] codetoanalyze/cpp/errors/npe/object_deref.cpp, object_deref::derefNullField, 2, NULL_DEREFERENCE, ERROR, [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, 5, MEMORY_LEAK, ERROR, [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, 6, MEMORY_LEAK, ERROR, [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_const_skip2_then_split_case_ok, 5, MEMORY_LEAK, ERROR, [start of procedure FP_const_skip2_then_split_case_ok(),Skipping skip_const2(): function or method not found,start of procedure test_pointer(),Taking true branch,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, ERROR, [start of procedure FP_const_skip_then_split_case_ok(),Skipping skip_const(): function or method not found,start of procedure test_pointer(),Taking true branch,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, ERROR, [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, FP_typedef_skip_then_split_case_ok, 4, NULL_DEREFERENCE, ERROR, [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, FP_typedef_skip_then_split_case_ok, 4, NULL_DEREFERENCE, ERROR, [start of procedure FP_typedef_skip_then_split_case_ok(),Skipping skip_typedef(): function or method not found,start of procedure test_pointer(),Taking false branch,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, ERROR, [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, ERROR, [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/npe/skip_function_with_const_formals.cpp, skip_then_split_case_bad, 5, NULL_DEREFERENCE, ERROR, [start of procedure skip_then_split_case_bad(),Skipping skip_no_const(): function or method not found,start of procedure test_pointer(),Taking false branch,return from a call to test_pointer] codetoanalyze/cpp/errors/numeric/min_max.cpp, max_X_inv_div0, 2, DIVIDE_BY_ZERO, ERROR, [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, ERROR, [start of procedure max_int_div0()] codetoanalyze/cpp/errors/numeric/min_max.cpp, min_X_div0, 2, DIVIDE_BY_ZERO, ERROR, [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] @@ -81,7 +81,7 @@ codetoanalyze/cpp/errors/numeric/min_max.cpp, min_int_div0, 0, DIVIDE_BY_ZERO, E codetoanalyze/cpp/errors/overwrite_attribute/main.cpp, testSetIntValue, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure testSetIntValue(),start of procedure setIntValue(),return from a call to setIntValue] codetoanalyze/cpp/errors/pointers/unintialized.cpp, known_ctor_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, ERROR, [start of procedure known_ctor_dangling_bad(),start of procedure TestDangling,return from a call to TestDangling_TestDangling] codetoanalyze/cpp/errors/pointers/unintialized.cpp, uninitialized_dangling_bad, 2, DANGLING_POINTER_DEREFERENCE, ERROR, [start of procedure uninitialized_dangling_bad()] -codetoanalyze/cpp/errors/resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, ERROR, [start of procedure resource_leak(),Condition is false] +codetoanalyze/cpp/errors/resource_leaks/raii.cpp, resource_leak, 7, RESOURCE_LEAK, ERROR, [start of procedure resource_leak(),Taking false branch] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const1, 3, NULL_DEREFERENCE, ERROR, [start of procedure test_const1()] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const2, 2, NULL_DEREFERENCE, ERROR, [start of procedure test_const2()] codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_const3, 3, NULL_DEREFERENCE, ERROR, [start of procedure test_const3()] @@ -93,7 +93,7 @@ codetoanalyze/cpp/errors/smart_ptr/const_volatile_type.cpp, test_volatile4, 2, N codetoanalyze/cpp/errors/smart_ptr/deref_after_move_example.cpp, deref_after_mode_example::deref_after_move_crash, 4, NULL_DEREFERENCE, ERROR, [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_ok, 3, MEMORY_LEAK, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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,Taking false branch,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, ERROR, [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, ERROR, [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_base2_null_f1_deref, 6, NULL_DEREFERENCE, ERROR, [start of procedure shared_ptr_constructors::get_from_base2_null_f1_deref(),start of procedure Base,return from a call to shared_ptr_constructors::Base_Base,start of procedure shared_ptr_constructors::getFromBase2(),return from a call to shared_ptr_constructors::getFromBase2] @@ -142,25 +142,25 @@ 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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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_derefs::safeGetFromSharedBaseAssign_bad, 4, NULL_DEREFERENCE, ERROR, [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(),Loop condition is false. Leaving loop,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, ERROR, [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(),Loop condition is false. Leaving loop,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, ERROR, [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(),Loop condition is false. Leaving loop,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, ERROR, [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(),Loop condition is false. Leaving loop,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, ERROR, [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(),Loop condition is false. Leaving loop,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, ERROR, [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(),Loop condition is false. Leaving loop,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, ERROR, [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(),Loop condition is false. Leaving loop,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, ERROR, [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(),Loop condition is false. Leaving loop,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, ERROR, [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(),Loop condition is false. Leaving loop,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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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_after_reset_bad, 5, expired after weak_ptr reset is true, ERROR, [start of procedure weak_ptr_observers::expired_after_reset_bad(),Taking true branch,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, ERROR, [start of procedure weak_ptr_observers::expired_after_swap_bad(),Taking true branch,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, ERROR, [start of procedure weak_ptr_observers::expired_empty_bad(),Taking true branch,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, ERROR, [start of procedure weak_ptr_observers::expired_means_null_bad(),Taking true branch] codetoanalyze/cpp/errors/smart_ptr/weak_ptr.cpp, weak_ptr_observers::lock_can_be_null_bad, 2, NULL_DEREFERENCE, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [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, ERROR, [start of procedure operator(),Condition is true,Skipping function: function or method not found] +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, ERROR, [start of procedure weak_ptr_observers::use_count_after_reset_bad(),Taking true branch,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, ERROR, [start of procedure weak_ptr_observers::use_count_empty_bad(),Taking true branch,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, ERROR, [start of procedure operator(),Taking true branch,Skipping function: function or method not found] codetoanalyze/cpp/errors/stack_escape/basic.cpp, B_return_ref, 0, STACK_VARIABLE_ADDRESS_ESCAPE, ERROR, [start of procedure return_ref,start of procedure A,return from a call to A_A,return from a call to B_return_ref] codetoanalyze/cpp/errors/stack_escape/basic.cpp, basic_escape_local_bad, 3, STACK_VARIABLE_ADDRESS_ESCAPE, ERROR, [start of procedure basic_escape_local_bad(),return from a call to basic_escape_local_bad] codetoanalyze/cpp/errors/stack_escape/basic.cpp, basic_escape_param_bad, 0, STACK_VARIABLE_ADDRESS_ESCAPE, ERROR, [start of procedure basic_escape_param_bad(),return from a call to basic_escape_param_bad] @@ -168,38 +168,38 @@ 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, ERROR, [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, ERROR, [start of procedure nonstatic_local_caller(),start of procedure nonstatic_local_bad(),return from a call to nonstatic_local_bad] codetoanalyze/cpp/errors/subtyping/cast_with_enforce.cpp, cast_with_enforce::cast_with_npe, 3, NULL_DEREFERENCE, ERROR, [start of procedure cast_with_enforce::cast_with_npe(),start of procedure Base,return from a call to cast_with_enforce::Base_Base] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, MEMORY_LEAK, ERROR, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Condition is true] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Taking true branch] +codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightPointerCast, 4, MEMORY_LEAK, ERROR, [start of procedure dynamic__cast::rightPointerCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived,Taking true branch] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::rightReferenceCast, 2, MEMORY_LEAK, ERROR, [start of procedure dynamic__cast::rightReferenceCast(),start of procedure Derived,start of procedure Base,return from a call to dynamic__cast::Base_Base,return from a call to dynamic__cast::Derived_Derived] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentPointer, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure dynamic__cast::wrongCastOfArgumentPointer(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure dynamic__cast::castOfArgumentPointer(),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, ERROR, [start of procedure dynamic__cast::wrongCastOfArgumentPointer(),start of procedure Base,return from a call to dynamic__cast::Base_Base,start of procedure dynamic__cast::castOfArgumentPointer(),Taking false branch,return from a call to dynamic__cast::castOfArgumentPointer] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongCastOfArgumentReference, 2, CLASS_CAST_EXCEPTION, ERROR, [start of procedure dynamic__cast::wrongCastOfArgumentReference(),start of procedure Base,return from a call to dynamic__cast::Base_Base] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 2, MEMORY_LEAK, ERROR, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] -codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongPointerCast, 6, DIVIDE_BY_ZERO, ERROR, [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::wrongPointerCast, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure dynamic__cast::wrongPointerCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base,Taking false branch] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCast, 3, CLASS_CAST_EXCEPTION, ERROR, [start of procedure dynamic__cast::wrongReferenceCast(),start of procedure Base,return from a call to dynamic__cast::Base_Base] codetoanalyze/cpp/errors/subtyping/dynamic_cast.cpp, dynamic__cast::wrongReferenceCastNotAssigned, 3, CLASS_CAST_EXCEPTION, ERROR, [start of procedure dynamic__cast::wrongReferenceCastNotAssigned(),start of procedure Base,return from a call to dynamic__cast::Base_Base] codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::BaseDerefNPE, 2, NULL_DEREFERENCE, ERROR, [start of procedure implicit_cast_with_const::BaseDerefNPE(),start of procedure Base,return from a call to implicit_cast_with_const::Base_Base,start of procedure implicit_cast_with_const::deref()] codetoanalyze/cpp/errors/subtyping/implicit_cast_with_const.cpp, implicit_cast_with_const::DerivedDerefNPE, 2, NULL_DEREFERENCE, ERROR, [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, ERROR, [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, ERROR, [start of procedure setFG,start of procedure setF,return from a call to A_setF,Taking true branch] codetoanalyze/cpp/errors/templates/dependent_parent.cpp, instantiate_class_bad, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure instantiate_class_bad(),start of procedure X,return from a call to X_X,start of procedure x_y,start of procedure Y,start of procedure Z,return from a call to Z_Z,return from a call to X::Y_Y,start of procedure y,start of procedure z,return from a call to Z_z,return from a call to X::Y_y,return from a call to X_x_y] codetoanalyze/cpp/errors/templates/mangling.cpp, bad_integral_types_templates, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure bad_integral_types_templates(),start of procedure IntTemplate,return from a call to IntTemplate<0>_IntTemplate,start of procedure CharTemplate,return from a call to CharTemplate<99>_CharTemplate,start of procedure LongTemplate,return from a call to LongTemplate<1234567890>_LongTemplate] codetoanalyze/cpp/errors/templates/mangling.cpp, bad_nullptr_templates, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure bad_nullptr_templates(),start of procedure NullPtrTemplate,return from a call to NullPtrTemplate_NullPtrTemplate] codetoanalyze/cpp/errors/templates/mangling.cpp, bad_packed_templates, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure bad_packed_templates(),start of procedure Tuple,return from a call to Tuple>_Tuple] codetoanalyze/cpp/errors/templates/mangling.cpp, bad_reference_and_pointer_templates, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure bad_reference_and_pointer_templates(),start of procedure PointerTypeTemplate,return from a call to PointerTypeTemplate_PointerTypeTemplate,start of procedure PointerTypeTemplate2,return from a call to PointerTypeTemplate2_PointerTypeTemplate2,start of procedure FunctionPointerTemplate,return from a call to FunctionPointerTemplate_FunctionPointerTemplate,start of procedure ReferenceTypeTemplate,return from a call to ReferenceTypeTemplate_ReferenceTypeTemplate] codetoanalyze/cpp/errors/types/typeid_expr.cpp, employee_typeid, 3, MEMORY_LEAK, ERROR, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, employee_typeid, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee,Condition is true] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, employee_typeid, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure employee_typeid(),start of procedure Employee,start of procedure Person,return from a call to Person_Person,return from a call to Employee_Employee,Taking true branch] codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_ptr_typeid, 2, MEMORY_LEAK, ERROR, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_ptr_typeid, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person,Condition is true] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_ptr_typeid, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure person_ptr_typeid(),start of procedure Person,return from a call to Person_Person,Taking true branch] codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid, 3, MEMORY_LEAK, ERROR, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person,Condition is false] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure person_typeid(),start of procedure Person,return from a call to Person_Person,Taking false branch] codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 3, MEMORY_LEAK, ERROR, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 4, MEMORY_LEAK, ERROR, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 8, DIVIDE_BY_ZERO, ERROR, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person,Condition is false] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, person_typeid_name, 8, DIVIDE_BY_ZERO, ERROR, [start of procedure person_typeid_name(),start of procedure Person,return from a call to Person_Person,Taking false branch] codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_type_id_person, 2, MEMORY_LEAK, ERROR, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person,Skipping template_typeid(): function or method not found] -codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_type_id_person, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person,Condition is false] +codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_type_id_person, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure template_type_id_person(),start of procedure Person,return from a call to Person_Person,Taking false branch] codetoanalyze/cpp/errors/types/typeid_expr.cpp, template_typeid, 2, MEMORY_LEAK, ERROR, [start of procedure template_typeid(),start of procedure Person,return from a call to Person_Person,start of procedure Person,return from a call to Person_Person,start of procedure ~Person,start of procedure __infer_inner_destructor_~Person,return from a call to Person___infer_inner_destructor_~Person,return from a call to Person_~Person] codetoanalyze/cpp/errors/use_after_free/foreach_map.cpp, use_after_free::Basic_test_double_delete_bad, 3, USE_AFTER_FREE, ERROR, [start of procedure test_double_delete_bad,Skipping Y: function or method not found] -codetoanalyze/cpp/errors/use_after_free/foreach_map.cpp, use_after_free::Basic_test_for_map_delete_ok_FP, 2, USE_AFTER_FREE, ERROR, [start of procedure test_for_map_delete_ok_FP,Condition is true,Skipping operator*: function or method not found,Condition is true,Skipping operator*: function or method not found] -codetoanalyze/cpp/errors/use_after_free/foreach_map.cpp, use_after_free::Basic_test_for_umap_delete_ok_FP, 2, USE_AFTER_FREE, ERROR, [start of procedure test_for_umap_delete_ok_FP,Condition is true,Skipping operator*: function or method not found,Condition is true,Skipping operator*: function or method not found] +codetoanalyze/cpp/errors/use_after_free/foreach_map.cpp, use_after_free::Basic_test_for_map_delete_ok_FP, 2, USE_AFTER_FREE, ERROR, [start of procedure test_for_map_delete_ok_FP,Loop condition is true. Entering loop body,Skipping operator*: function or method not found,Loop condition is true. Entering loop body,Skipping operator*: function or method not found] +codetoanalyze/cpp/errors/use_after_free/foreach_map.cpp, use_after_free::Basic_test_for_umap_delete_ok_FP, 2, USE_AFTER_FREE, ERROR, [start of procedure test_for_umap_delete_ok_FP,Loop condition is true. Entering loop body,Skipping operator*: function or method not found,Loop condition is true. Entering loop body,Skipping operator*: function or method not found] codetoanalyze/cpp/errors/vector/access_field_later.cpp, getIntPtr, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getIntPtr()] codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithCopy, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getWithCopy()] codetoanalyze/cpp/errors/vector/access_field_later.cpp, getWithCopyPtr, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getWithCopyPtr()] @@ -211,18 +211,18 @@ codetoanalyze/cpp/errors/vector/empty_access.cpp, access_empty_front_bad, 2, EMP codetoanalyze/cpp/errors/vector/empty_access.cpp, assign_empty, 4, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure assign_empty()] codetoanalyze/cpp/errors/vector/empty_access.cpp, clear_empty, 3, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure clear_empty()] codetoanalyze/cpp/errors/vector/empty_access.cpp, copy_empty, 3, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure copy_empty()] -codetoanalyze/cpp/errors/vector/empty_access.cpp, empty_check_access_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure empty_check_access_empty(),Condition is true] +codetoanalyze/cpp/errors/vector/empty_access.cpp, empty_check_access_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure empty_check_access_empty(),Taking true branch] codetoanalyze/cpp/errors/vector/empty_access.cpp, getter_empty, 0, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure getter_empty(),start of procedure get_vector(),Skipping ~vector: function or method not found,return from a call to get_vector] -codetoanalyze/cpp/errors/vector/empty_access.cpp, size_check0_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure size_check0_empty(),Condition is true] +codetoanalyze/cpp/errors/vector/empty_access.cpp, size_check0_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure size_check0_empty(),Taking true branch] codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_by_value_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure vector_as_param_by_value_empty(),start of procedure vector_param_by_value_access(),return from a call to vector_param_by_value_access] codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_clear, 3, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure vector_as_param_clear(),start of procedure vector_param_clear(),return from a call to vector_param_clear] codetoanalyze/cpp/errors/vector/empty_access.cpp, vector_as_param_empty, 2, EMPTY_VECTOR_ACCESS, ERROR, [start of procedure vector_as_param_empty(),start of procedure vector_param_access(),return from a call to vector_param_access] -codetoanalyze/cpp/errors/vector/iterator_access.cpp, iterator_access::possible_npe, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_access::possible_npe(),Condition is true,Condition is true,Condition is true] -codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::empty_deref1_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::empty_deref1_bad(),start of procedure iterator_compare::is_empty(),return from a call to iterator_compare::is_empty,Condition is true] -codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::empty_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::empty_deref2_bad(),start of procedure iterator_compare::not_empty(),return from a call to iterator_compare::not_empty,Condition is true] -codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::not_empty_deref1_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::not_empty_deref1_bad(),Skipping __infer_skip_function(): function or method not found,start of procedure iterator_compare::is_empty(),return from a call to iterator_compare::is_empty,Condition is true] -codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::not_empty_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::not_empty_deref2_bad(),Skipping __infer_skip_function(): function or method not found,start of procedure iterator_compare::not_empty(),return from a call to iterator_compare::not_empty,Condition is true] -codetoanalyze/cpp/errors/vector/loop.cpp, non_empty_vector_loop_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure non_empty_vector_loop_bad(),Condition is true] +codetoanalyze/cpp/errors/vector/iterator_access.cpp, iterator_access::possible_npe, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_access::possible_npe(),Loop condition is true. Entering loop body,Taking true branch,Taking true branch] +codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::empty_deref1_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::empty_deref1_bad(),start of procedure iterator_compare::is_empty(),return from a call to iterator_compare::is_empty,Taking true branch] +codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::empty_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::empty_deref2_bad(),start of procedure iterator_compare::not_empty(),return from a call to iterator_compare::not_empty,Taking true branch] +codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::not_empty_deref1_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::not_empty_deref1_bad(),Skipping __infer_skip_function(): function or method not found,start of procedure iterator_compare::is_empty(),return from a call to iterator_compare::is_empty,Taking true branch] +codetoanalyze/cpp/errors/vector/iterator_cmp.cpp, iterator_compare::not_empty_deref2_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure iterator_compare::not_empty_deref2_bad(),Skipping __infer_skip_function(): function or method not found,start of procedure iterator_compare::not_empty(),return from a call to iterator_compare::not_empty,Taking true branch] +codetoanalyze/cpp/errors/vector/loop.cpp, non_empty_vector_loop_bad, 4, NULL_DEREFERENCE, ERROR, [start of procedure non_empty_vector_loop_bad(),Loop condition is true. Entering loop body] codetoanalyze/cpp/shared/attributes/annotate.cpp, derefFirstArg2_null_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure derefFirstArg2_null_deref()] codetoanalyze/cpp/shared/attributes/annotate.cpp, derefFirstArg3_null_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure derefFirstArg3_null_deref(),start of procedure derefFirstArg3()] codetoanalyze/cpp/shared/attributes/annotate.cpp, derefFirstArg_null_deref, 2, NULL_DEREFERENCE, ERROR, [start of procedure derefFirstArg_null_deref()] @@ -284,8 +284,8 @@ codetoanalyze/cpp/shared/exceptions/Exceptions.cpp, call_deref_with_null, 0, NUL codetoanalyze/cpp/shared/lambda/lambda1.cpp, bar, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure bar(),start of procedure ,return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_,start of procedure operator(),return from a call to bar::lambda_shared_lambda_lambda1.cpp:11:15_operator()] codetoanalyze/cpp/shared/lambda/lambda1.cpp, foo, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure foo(),start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:19:17_,start of procedure ,return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_,start of procedure operator(),return from a call to foo::lambda_shared_lambda_lambda1.cpp:20:12_operator()] codetoanalyze/cpp/shared/lambda/lambda1.cpp, foo::lambda_shared_lambda_lambda1.cpp:19:17_operator(), 0, DIVIDE_BY_ZERO, ERROR, [start of procedure operator()] -codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::branch_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure conversion_operator::branch_div0(),start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Condition is true,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, ERROR, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y_Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,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::branch_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure conversion_operator::branch_div0(),start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Taking true branch,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] +codetoanalyze/cpp/shared/methods/conversion_operator.cpp, conversion_operator::y_branch_div0, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure conversion_operator::y_branch_div0(),start of procedure Y,return from a call to conversion_operator::Y_Y,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_bool,return from a call to conversion_operator::X_operator_bool,Taking true branch,start of procedure operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure X,return from a call to conversion_operator::X_X,return from a call to conversion_operator::Y_operator_X,start of procedure X,return from a call to conversion_operator::X_X,start of procedure operator_int,return from a call to conversion_operator::X_operator_int] codetoanalyze/cpp/shared/methods/static.cpp, div0_class, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_class(),start of procedure fun] codetoanalyze/cpp/shared/methods/static.cpp, div0_instance, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_instance(),start of procedure fun] codetoanalyze/cpp/shared/methods/virtual_methods.cpp, poly_area, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure poly_area(),start of procedure Polygon,return from a call to Polygon_Polygon,start of procedure area,return from a call to Polygon_area] @@ -299,12 +299,12 @@ codetoanalyze/cpp/shared/namespace/function.cpp, using_div0, 2, DIVIDE_BY_ZERO, codetoanalyze/cpp/shared/namespace/global_variable.cpp, div0_namepace_res, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_namepace_res()] codetoanalyze/cpp/shared/namespace/global_variable.cpp, div0_static_field, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_static_field()] codetoanalyze/cpp/shared/namespace/global_variable.cpp, div0_static_field_member_access, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure div0_static_field_member_access()] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, conditional_init_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure conditional_init_div0(),Condition is true,Condition is true] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, function_call_init_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure function_call_init_div0(),start of procedure get1(),return from a call to get1,Condition is true] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, reference_init_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_init_div0(),Condition is true] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_inif_elseif_div0, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure simple_inif_elseif_div0(),Condition is false,Condition is false] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure simple_init_div0(),Condition is false] -codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_null_deref, 4, NULL_DEREFERENCE, ERROR, [start of procedure simple_init_null_deref(),Condition is false] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, conditional_init_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure conditional_init_div0(),Condition is true,Taking true branch] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, function_call_init_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure function_call_init_div0(),start of procedure get1(),return from a call to get1,Taking true branch] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, reference_init_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_init_div0(),Taking true branch] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_inif_elseif_div0, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure simple_inif_elseif_div0(),Taking false branch,Taking false branch] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure simple_init_div0(),Taking false branch] +codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp, simple_init_null_deref, 4, NULL_DEREFERENCE, ERROR, [start of procedure simple_init_null_deref(),Taking false branch] codetoanalyze/cpp/shared/npe/method_call.cpp, npe_call, 2, NULL_DEREFERENCE, ERROR, [start of procedure npe_call()] codetoanalyze/cpp/shared/npe/method_call.cpp, npe_call_after_call, 0, NULL_DEREFERENCE, ERROR, [start of procedure npe_call_after_call(),start of procedure getX(),return from a call to getX] codetoanalyze/cpp/shared/npe/method_call.cpp, npe_call_with_forward_declaration, 1, NULL_DEREFERENCE, ERROR, [start of procedure npe_call_with_forward_declaration(),start of procedure call_with_forward_declaration()] @@ -320,13 +320,13 @@ codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_F_d codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_I_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::val_I_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val] codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_getF_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::val_getF_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getF,return from a call to reference_field::Val_getF] codetoanalyze/cpp/shared/reference/reference_field.cpp, reference_field::val_getI_div0, 5, DIVIDE_BY_ZERO, ERROR, [start of procedure reference_field::val_getI_div0(),start of procedure X,return from a call to reference_field::X_X,start of procedure Val,start of procedure X,return from a call to reference_field::X_X,return from a call to reference_field::Val_Val,start of procedure getI,return from a call to reference_field::Val_getI] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, field_div0_ptr, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure field_div0_ptr(),Condition is true,start of procedure set_field_ptr(),return from a call to set_field_ptr,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, field_div0_ptr, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure field_div0_ptr(),Taking true branch,start of procedure set_field_ptr(),return from a call to set_field_ptr,start of procedure div] codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, field_div0_ref, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure field_div0_ref(),start of procedure set_field_ref(),return from a call to set_field_ref,start of procedure div] codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_field, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure get_global_ptr_div0_field(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ptr_div0_method, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure get_global_ptr_div0_method(),start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure zero,return from a call to X_zero,start of procedure get_global_ptr(),return from a call to get_global_ptr,start of procedure div] codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_field, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure get_global_ref_div0_field(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure nonzero,return from a call to X_nonzero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, get_global_ref_div0_method, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure get_global_ref_div0_method(),start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure zero,return from a call to X_zero,start of procedure get_global_ref(),return from a call to get_global_ref,start of procedure div] -codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, method_div0_ptr, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure method_div0_ptr(),Condition is true,start of procedure zero_ptr(),start of procedure zero,return from a call to X_zero,return from a call to zero_ptr,start of procedure div] +codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, method_div0_ptr, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure method_div0_ptr(),Taking true branch,start of procedure zero_ptr(),start of procedure zero,return from a call to X_zero,return from a call to zero_ptr,start of procedure div] codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp, method_div0_ref, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure method_div0_ref(),start of procedure zero_ref(),start of procedure zero,return from a call to X_zero,return from a call to zero_ref,start of procedure div] codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ptr_div0, 4, DIVIDE_BY_ZERO, ERROR, [start of procedure ptr_div0()] codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp, ptr_div0_function, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure ptr_div0_function(),start of procedure zero_ptr(),return from a call to zero_ptr] @@ -375,7 +375,7 @@ codetoanalyze/cpp/shared/types/operator_overload.cpp, div0_method_op_ptr, 0, DIV codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure return_struct::get_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get,start of procedure X,return from a call to return_struct::X_X] codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_field_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure return_struct::get_field_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get,Skipping skip: function or method not found,start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get] codetoanalyze/cpp/shared/types/return_struct.cpp, return_struct::get_method_div0, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure return_struct::get_method_div0(),start of procedure return_struct::get(),start of procedure X,return from a call to return_struct::X_X,start of procedure X,return from a call to return_struct::X_X,Skipping ~X: function or method not found,return from a call to return_struct::get,start of procedure div] -codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_Y_div0, 7, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::X_Y_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,Condition is false,start of procedure getF,return from a call to struct_forward_declare::X_getF] +codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_Y_div0, 7, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::X_Y_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,Taking false branch,start of procedure getF,return from a call to struct_forward_declare::X_getF] codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::X_div0(),start of procedure X,return from a call to struct_forward_declare::X_X,start of procedure getF,return from a call to struct_forward_declare::X_getF] codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::X_ptr_div0, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::X_ptr_div0(),start of procedure getF,return from a call to struct_forward_declare::X_getF] codetoanalyze/cpp/shared/types/struct_forward_declare.cpp, struct_forward_declare::Z_div0, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure struct_forward_declare::Z_div0(),start of procedure Z,return from a call to struct_forward_declare::Z_Z,start of procedure getF,return from a call to struct_forward_declare::Z_getF] diff --git a/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot index 0d0ed5cb8..3f91a1ff9 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot @@ -42,37 +42,37 @@ digraph cfg { "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" [label="6: Prune (true branch) \n PRUNE((n$1 == 77), true); [line 20, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" [label="6: Prune (true branch, switch) \n PRUNE((n$1 == 77), true); [line 20, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" [label="7: Prune (false branch) \n PRUNE(!(n$1 == 77), false); [line 20, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" [label="7: Prune (false branch, switch) \n PRUNE(!(n$1 == 77), false); [line 20, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" [label="8: Prune (true branch) \n PRUNE((n$1 == 66), true); [line 18, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" [label="8: Prune (true branch, switch) \n PRUNE((n$1 == 66), true); [line 18, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" [label="9: Prune (false branch) \n PRUNE(!(n$1 == 66), false); [line 18, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$1 == 66), false); [line 18, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" ; "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" [label="10: Prune (true branch) \n PRUNE((n$1 == 33), true); [line 16, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 33), true); [line 16, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" [label="11: Prune (false branch) \n PRUNE(!(n$1 == 33), false); [line 16, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$1 == 33), false); [line 16, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" ; "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" [label="12: Prune (true branch) \n PRUNE((n$1 == 22), true); [line 15, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 22), true); [line 15, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" [label="13: Prune (false branch) \n PRUNE(!(n$1 == 22), false); [line 15, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$1 == 22), false); [line 15, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot index b055fe70f..12b22fdf6 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot @@ -16,12 +16,12 @@ digraph cfg { "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_4" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" ; "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_4" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(n$1, true); [line 70, column 10]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" [label="5: Prune (true branch, while) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(n$1, true); [line 70, column 10]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" ; "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(!n$1, false); [line 70, column 10]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" [label="6: Prune (false branch, while) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(!n$1, false); [line 70, column 10]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" ; @@ -29,11 +29,11 @@ digraph cfg { "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_7" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_4" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" [label="8: Prune (true branch) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(n$2, true); [line 71, column 9]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" [label="8: Prune (true branch, if) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(n$2, true); [line 71, column 9]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" [label="9: Prune (false branch) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(!n$2, false); [line 71, column 9]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" [label="9: Prune (false branch, if) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(!n$2, false); [line 71, column 9]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" ; @@ -76,11 +76,11 @@ digraph cfg { "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_4" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(n$1, true); [line 90, column 12]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" [label="5: Prune (true branch, do while) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(n$1, true); [line 90, column 12]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_4" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(!n$1, false); [line 90, column 12]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_6" [label="6: Prune (false branch, do while) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(!n$1, false); [line 90, column 12]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_6" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" ; @@ -93,11 +93,11 @@ digraph cfg { "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_8" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_7" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" [label="9: Prune (true branch) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(n$3, true); [line 84, column 9]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" [label="9: Prune (true branch, if) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(n$3, true); [line 84, column 9]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" [label="10: Prune (false branch) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(!n$3, false); [line 84, column 9]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" [label="10: Prune (false branch, if) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(!n$3, false); [line 84, column 9]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" ; @@ -146,11 +146,11 @@ digraph cfg { "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_4" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" ; "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_4" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(n$1, true); [line 95, column 10]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" [label="5: Prune (true branch, while) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(n$1, true); [line 95, column 10]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(!n$1, false); [line 95, column 10]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" [label="6: Prune (false branch, while) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(!n$1, false); [line 95, column 10]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_3" ; @@ -163,11 +163,11 @@ digraph cfg { "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_8" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" ; "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_8" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" [label="9: Prune (true branch) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(n$3, true); [line 97, column 12]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" [label="9: Prune (true branch, while) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(n$3, true); [line 97, column 12]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" [label="10: Prune (false branch) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(!n$3, false); [line 97, column 12]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" [label="10: Prune (false branch, while) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(!n$3, false); [line 97, column 12]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" ; @@ -211,11 +211,11 @@ digraph cfg { "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_5" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" ; "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_5" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" [label="6: Prune (true branch) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(n$2, true); [line 106, column 10]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" [label="6: Prune (true branch, while) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(n$2, true); [line 106, column 10]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_12" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" [label="7: Prune (false branch) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(!n$2, false); [line 106, column 10]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" [label="7: Prune (false branch, while) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(!n$2, false); [line 106, column 10]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" ; @@ -228,11 +228,11 @@ digraph cfg { "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_9" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" ; "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_9" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" [label="10: Prune (true branch) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(n$4, true); [line 108, column 12]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" [label="10: Prune (true branch, while) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(n$4, true); [line 108, column 12]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" [label="11: Prune (false branch) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(!n$4, false); [line 108, column 12]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" [label="11: Prune (false branch, while) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(!n$4, false); [line 108, column 12]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" ; @@ -276,11 +276,11 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" ; "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" [label="9: Prune (true branch) \n PRUNE(n$12, true); [line 49, column 12]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$12, true); [line 49, column 12]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" [label="10: Prune (false branch) \n PRUNE(!n$12, false); [line 49, column 12]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$12, false); [line 49, column 12]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" ; @@ -288,11 +288,11 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_11" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" [label="12: Prune (true branch) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(n$13, true); [line 50, column 9]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" [label="12: Prune (true branch, if) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(n$13, true); [line 50, column 9]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" [label="13: Prune (false branch) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(!n$13, false); [line 50, column 9]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" [label="13: Prune (false branch, if) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(!n$13, false); [line 50, column 9]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_11" ; @@ -357,12 +357,12 @@ digraph cfg { "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" ; "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" [label="9: Prune (true branch) \n PRUNE(n$10, true); [line 59, column 38]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$10, true); [line 59, column 38]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" ; "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" [label="10: Prune (false branch) \n PRUNE(!n$10, false); [line 59, column 38]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$10, false); [line 59, column 38]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" ; @@ -370,11 +370,11 @@ digraph cfg { "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_11" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" [label="12: Prune (true branch) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(n$11, true); [line 60, column 9]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" [label="12: Prune (true branch, if) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(n$11, true); [line 60, column 9]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" [label="13: Prune (false branch) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(!n$11, false); [line 60, column 9]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" [label="13: Prune (false branch, if) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(!n$11, false); [line 60, column 9]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_11" ; @@ -422,11 +422,11 @@ digraph cfg { "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" [label="8: Prune (true branch) \n PRUNE((n$2 == 3), true); [line 125, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" [label="8: Prune (true branch, switch) \n PRUNE((n$2 == 3), true); [line 125, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" [label="9: Prune (false branch) \n PRUNE(!(n$2 == 3), false); [line 125, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$2 == 3), false); [line 125, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" ; @@ -442,11 +442,11 @@ digraph cfg { "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" [label="13: Prune (true branch) \n PRUNE((n$2 == 2), true); [line 121, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" [label="13: Prune (true branch, switch) \n PRUNE((n$2 == 2), true); [line 121, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" [label="14: Prune (false branch) \n PRUNE(!(n$2 == 2), false); [line 121, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$2 == 2), false); [line 121, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" ; @@ -459,11 +459,11 @@ digraph cfg { "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" [label="17: Prune (true branch) \n PRUNE((n$2 == 1), true); [line 118, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" [label="17: Prune (true branch, switch) \n PRUNE((n$2 == 1), true); [line 118, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" [label="18: Prune (false branch) \n PRUNE(!(n$2 == 1), false); [line 118, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" [label="18: Prune (false branch, switch) \n PRUNE(!(n$2 == 1), false); [line 118, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" ; @@ -576,11 +576,11 @@ digraph cfg { "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" ; "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" [label="5: Prune (true branch) \n PRUNE((n$2 != n$4), true); [line 29, column 48]\n " shape="invhouse"] +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$2 != n$4), true); [line 29, column 48]\n " shape="invhouse"] "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_5" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" [label="6: Prune (false branch) \n PRUNE(!(n$2 != n$4), false); [line 29, column 48]\n " shape="invhouse"] +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 29, column 48]\n " shape="invhouse"] "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot index 16e50e4cf..c32587ce3 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot @@ -16,12 +16,12 @@ digraph cfg { "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" ; "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(n$1, true); [line 70, column 10]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" [label="5: Prune (true branch, while) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(n$1, true); [line 70, column 10]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" ; "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(!n$1, false); [line 70, column 10]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" [label="6: Prune (false branch, while) \n n$1=*&a:_Bool [line 70, column 10]\n PRUNE(!n$1, false); [line 70, column 10]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_3" ; @@ -29,11 +29,11 @@ digraph cfg { "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_7" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" [label="8: Prune (true branch) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(n$2, true); [line 71, column 9]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" [label="8: Prune (true branch, if) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(n$2, true); [line 71, column 9]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" [label="9: Prune (false branch) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(!n$2, false); [line 71, column 9]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" [label="9: Prune (false branch, if) \n n$2=*&b:_Bool [line 71, column 9]\n PRUNE(!n$2, false); [line 71, column 9]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" ; @@ -76,11 +76,11 @@ digraph cfg { "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_4" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(n$1, true); [line 90, column 12]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" [label="5: Prune (true branch, do while) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(n$1, true); [line 90, column 12]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_4" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(!n$1, false); [line 90, column 12]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" [label="6: Prune (false branch, do while) \n n$1=*&a:_Bool [line 90, column 12]\n PRUNE(!n$1, false); [line 90, column 12]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_3" ; @@ -93,11 +93,11 @@ digraph cfg { "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_8" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_7" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" [label="9: Prune (true branch) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(n$3, true); [line 84, column 9]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" [label="9: Prune (true branch, if) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(n$3, true); [line 84, column 9]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" [label="10: Prune (false branch) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(!n$3, false); [line 84, column 9]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" [label="10: Prune (false branch, if) \n n$3=*&b:_Bool [line 84, column 9]\n PRUNE(!n$3, false); [line 84, column 9]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" ; @@ -147,11 +147,11 @@ digraph cfg { "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_4" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" ; "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_4" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(n$1, true); [line 95, column 10]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" [label="5: Prune (true branch, while) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(n$1, true); [line 95, column 10]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(!n$1, false); [line 95, column 10]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" [label="6: Prune (false branch, while) \n n$1=*&a:_Bool [line 95, column 10]\n PRUNE(!n$1, false); [line 95, column 10]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_3" ; @@ -164,11 +164,11 @@ digraph cfg { "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_8" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" ; "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_8" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" [label="9: Prune (true branch) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(n$3, true); [line 97, column 12]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" [label="9: Prune (true branch, while) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(n$3, true); [line 97, column 12]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" [label="10: Prune (false branch) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(!n$3, false); [line 97, column 12]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" [label="10: Prune (false branch, while) \n n$3=*&b:_Bool [line 97, column 12]\n PRUNE(!n$3, false); [line 97, column 12]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_7" ; @@ -212,11 +212,11 @@ digraph cfg { "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_5" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" ; "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_5" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" [label="6: Prune (true branch) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(n$2, true); [line 106, column 10]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" [label="6: Prune (true branch, while) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(n$2, true); [line 106, column 10]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_12" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" [label="7: Prune (false branch) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(!n$2, false); [line 106, column 10]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" [label="7: Prune (false branch, while) \n n$2=*&a:_Bool [line 106, column 10]\n PRUNE(!n$2, false); [line 106, column 10]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" ; @@ -229,11 +229,11 @@ digraph cfg { "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_9" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" ; "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_9" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" [label="10: Prune (true branch) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(n$4, true); [line 108, column 12]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" [label="10: Prune (true branch, while) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(n$4, true); [line 108, column 12]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_9" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" [label="11: Prune (false branch) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(!n$4, false); [line 108, column 12]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" [label="11: Prune (false branch, while) \n n$4=*&b:_Bool [line 108, column 12]\n PRUNE(!n$4, false); [line 108, column 12]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" ; @@ -277,11 +277,11 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" ; "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" [label="9: Prune (true branch) \n PRUNE(n$12, true); [line 49, column 12]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$12, true); [line 49, column 12]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" [label="10: Prune (false branch) \n PRUNE(!n$12, false); [line 49, column 12]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$12, false); [line 49, column 12]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" ; @@ -289,11 +289,11 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_11" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" [label="12: Prune (true branch) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(n$13, true); [line 50, column 9]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" [label="12: Prune (true branch, if) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(n$13, true); [line 50, column 9]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" [label="13: Prune (false branch) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(!n$13, false); [line 50, column 9]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" [label="13: Prune (false branch, if) \n n$13=*&b:_Bool [line 50, column 9]\n PRUNE(!n$13, false); [line 50, column 9]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_11" ; @@ -358,12 +358,12 @@ digraph cfg { "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" ; "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" [label="9: Prune (true branch) \n PRUNE(n$10, true); [line 59, column 38]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$10, true); [line 59, column 38]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" ; "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" [label="10: Prune (false branch) \n PRUNE(!n$10, false); [line 59, column 38]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$10, false); [line 59, column 38]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" ; @@ -371,11 +371,11 @@ digraph cfg { "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_11" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" [label="12: Prune (true branch) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(n$11, true); [line 60, column 9]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" [label="12: Prune (true branch, if) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(n$11, true); [line 60, column 9]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" [label="13: Prune (false branch) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(!n$11, false); [line 60, column 9]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" [label="13: Prune (false branch, if) \n n$11=*&b:_Bool [line 60, column 9]\n PRUNE(!n$11, false); [line 60, column 9]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_11" ; @@ -499,11 +499,11 @@ digraph cfg { "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" ; "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" [label="5: Prune (true branch) \n PRUNE((n$2 != n$4), true); [line 29, column 48]\n " shape="invhouse"] +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$2 != n$4), true); [line 29, column 48]\n " shape="invhouse"] "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_5" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" [label="6: Prune (false branch) \n PRUNE(!(n$2 != n$4), false); [line 29, column 48]\n " shape="invhouse"] +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 29, column 48]\n " shape="invhouse"] "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot index 9c361aa35..5aaa4c27e 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot @@ -56,11 +56,11 @@ digraph cfg { "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_4" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_3" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 61, column 7]\n PRUNE(n$1, true); [line 61, column 7]\n " shape="invhouse"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" [label="5: Prune (true branch, if) \n n$1=*&a:_Bool [line 61, column 7]\n PRUNE(n$1, true); [line 61, column 7]\n " shape="invhouse"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 61, column 7]\n PRUNE(!n$1, false); [line 61, column 7]\n " shape="invhouse"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_6" [label="6: Prune (false branch, if) \n n$1=*&a:_Bool [line 61, column 7]\n PRUNE(!n$1, false); [line 61, column 7]\n " shape="invhouse"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_6" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" ; @@ -120,11 +120,11 @@ digraph cfg { "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_9" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_8" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" [label="10: Prune (true branch) \n n$7=*&b:_Bool [line 50, column 11]\n PRUNE(n$7, true); [line 50, column 11]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" [label="10: Prune (true branch, if) \n n$7=*&b:_Bool [line 50, column 11]\n PRUNE(n$7, true); [line 50, column 11]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_12" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_11" [label="11: Prune (false branch) \n n$7=*&b:_Bool [line 50, column 11]\n PRUNE(!n$7, false); [line 50, column 11]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_11" [label="11: Prune (false branch, if) \n n$7=*&b:_Bool [line 50, column 11]\n PRUNE(!n$7, false); [line 50, column 11]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_11" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_9" ; @@ -141,11 +141,11 @@ digraph cfg { "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_14" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_13" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" [label="15: Prune (true branch) \n n$13=*&a:_Bool [line 45, column 9]\n PRUNE(n$13, true); [line 45, column 9]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" [label="15: Prune (true branch, if) \n n$13=*&a:_Bool [line 45, column 9]\n PRUNE(n$13, true); [line 45, column 9]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_17" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" [label="16: Prune (false branch) \n n$13=*&a:_Bool [line 45, column 9]\n PRUNE(!n$13, false); [line 45, column 9]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" [label="16: Prune (false branch, if) \n n$13=*&a:_Bool [line 45, column 9]\n PRUNE(!n$13, false); [line 45, column 9]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_14" ; @@ -237,11 +237,11 @@ digraph cfg { "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_6" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_5" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" [label="7: Prune (true branch) \n n$6=*&this:destructor_scope::W* [line 33, column 9]\n n$7=*n$6.b:_Bool [line 33, column 9]\n PRUNE(n$7, true); [line 33, column 9]\n " shape="invhouse"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" [label="7: Prune (true branch, if) \n n$6=*&this:destructor_scope::W* [line 33, column 9]\n n$7=*n$6.b:_Bool [line 33, column 9]\n PRUNE(n$7, true); [line 33, column 9]\n " shape="invhouse"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_9" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_8" [label="8: Prune (false branch) \n n$6=*&this:destructor_scope::W* [line 33, column 9]\n n$7=*n$6.b:_Bool [line 33, column 9]\n PRUNE(!n$7, false); [line 33, column 9]\n " shape="invhouse"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_8" [label="8: Prune (false branch, if) \n n$6=*&this:destructor_scope::W* [line 33, column 9]\n n$7=*n$6.b:_Bool [line 33, column 9]\n PRUNE(!n$7, false); [line 33, column 9]\n " shape="invhouse"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_8" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_6" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot index 043deebf4..2f1a184e7 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot @@ -12,11 +12,11 @@ digraph cfg { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" ; -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_4" [label="4: Prune (true branch) \n PRUNE(1, true); [line 10, column 20]\n " shape="invhouse"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_4" [label="4: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 10, column 20]\n " shape="invhouse"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_4" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_6" ; -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_5" [label="5: Prune (false branch) \n PRUNE(!1, false); [line 10, column 20]\n " shape="invhouse"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 10, column 20]\n " shape="invhouse"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_5" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_7" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot index ea4c0eb5a..b37f7bf56 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot @@ -15,11 +15,11 @@ digraph cfg { "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" [label="5: Prune (true branch) \n n$1=*&b:_Bool [line 21, column 12]\n PRUNE(n$1, true); [line 21, column 12]\n " shape="invhouse"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" [label="5: Prune (true branch, do while) \n n$1=*&b:_Bool [line 21, column 12]\n PRUNE(n$1, true); [line 21, column 12]\n " shape="invhouse"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" [label="6: Prune (false branch) \n n$1=*&b:_Bool [line 21, column 12]\n PRUNE(!n$1, false); [line 21, column 12]\n " shape="invhouse"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" [label="6: Prune (false branch, do while) \n n$1=*&b:_Bool [line 21, column 12]\n PRUNE(!n$1, false); [line 21, column 12]\n " shape="invhouse"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" ; @@ -32,11 +32,11 @@ digraph cfg { "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_8" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" [label="9: Prune (true branch) \n n$3=*&a:_Bool [line 14, column 9]\n PRUNE(n$3, true); [line 14, column 9]\n " shape="invhouse"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" [label="9: Prune (true branch, if) \n n$3=*&a:_Bool [line 14, column 9]\n PRUNE(n$3, true); [line 14, column 9]\n " shape="invhouse"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" [label="10: Prune (false branch) \n n$3=*&a:_Bool [line 14, column 9]\n PRUNE(!n$3, false); [line 14, column 9]\n " shape="invhouse"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" [label="10: Prune (false branch, if) \n n$3=*&a:_Bool [line 14, column 9]\n PRUNE(!n$3, false); [line 14, column 9]\n " shape="invhouse"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot index 9684f854b..da4aff789 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot @@ -28,11 +28,11 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" ; "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: Prune (true branch) \n PRUNE(n$12, true); [line 37, column 18]\n " shape="invhouse"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: Prune (true branch, for loop) \n PRUNE(n$12, true); [line 37, column 18]\n " shape="invhouse"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" [label="9: Prune (false branch) \n PRUNE(!n$12, false); [line 37, column 18]\n " shape="invhouse"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" [label="9: Prune (false branch, for loop) \n PRUNE(!n$12, false); [line 37, column 18]\n " shape="invhouse"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; @@ -68,11 +68,11 @@ digraph cfg { "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_4" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_5" ; "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_4" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_6" ; -"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_5" [label="5: Prune (true branch) \n PRUNE((n$2 != n$4), true); [line 21, column 52]\n " shape="invhouse"] +"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$2 != n$4), true); [line 21, column 52]\n " shape="invhouse"] "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_5" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_7" ; -"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_6" [label="6: Prune (false branch) \n PRUNE(!(n$2 != n$4), false); [line 21, column 52]\n " shape="invhouse"] +"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 21, column 52]\n " shape="invhouse"] "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_6" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_8" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_in_condition.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_in_condition.cpp.dot index e6e061d36..a5b2a4065 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_in_condition.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_in_condition.cpp.dot @@ -20,11 +20,11 @@ digraph cfg { "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_5" -> "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_6" ; "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_5" -> "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_7" ; -"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_6" [label="6: Prune (true branch) \n n$1=*n$0:int [line 11, column 7]\n PRUNE(n$1, true); [line 11, column 7]\n " shape="invhouse"] +"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_6" [label="6: Prune (true branch, if) \n n$1=*n$0:int [line 11, column 7]\n PRUNE(n$1, true); [line 11, column 7]\n " shape="invhouse"] "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_6" -> "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_8" ; -"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_7" [label="7: Prune (false branch) \n n$1=*n$0:int [line 11, column 7]\n PRUNE(!n$1, false); [line 11, column 7]\n " shape="invhouse"] +"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_7" [label="7: Prune (false branch, if) \n n$1=*n$0:int [line 11, column 7]\n PRUNE(!n$1, false); [line 11, column 7]\n " shape="invhouse"] "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_7" -> "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_4" ; diff --git a/infer/tests/codetoanalyze/cpp/nullable/issues.exp b/infer/tests/codetoanalyze/cpp/nullable/issues.exp index cd1d46886..501f955d0 100644 --- a/infer/tests/codetoanalyze/cpp/nullable/issues.exp +++ b/infer/tests/codetoanalyze/cpp/nullable/issues.exp @@ -1,47 +1,47 @@ codetoanalyze/cpp/nullable/example.cpp, T_FP_dereference_nonnull_field_after_test_for_null_okay, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field nonnull_field is compared to null here] -codetoanalyze/cpp/nullable/example.cpp, T_FP_dereference_nonnull_field_after_test_for_null_okay, 2, NULL_DEREFERENCE, ERROR, [start of procedure FP_dereference_nonnull_field_after_test_for_null_okay,Condition is true] +codetoanalyze/cpp/nullable/example.cpp, T_FP_dereference_nonnull_field_after_test_for_null_okay, 2, NULL_DEREFERENCE, ERROR, [start of procedure FP_dereference_nonnull_field_after_test_for_null_okay,Taking true branch] codetoanalyze/cpp/nullable/example.cpp, T_assign_nonnull_field_to_null_bad, 0, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field nonnull_field is assigned null here] codetoanalyze/cpp/nullable/example.cpp, T_assign_unnanotated_field_to_null_bad, 0, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotated_field is assigned null here] codetoanalyze/cpp/nullable/example.cpp, T_dereference_nullable_field_bad, 0, NULL_DEREFERENCE, ERROR, [start of procedure dereference_nullable_field_bad] codetoanalyze/cpp/nullable/example.cpp, T_dereference_unnanotated_field_after_test_for_null_bad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotated_field is compared to null here] -codetoanalyze/cpp/nullable/example.cpp, T_dereference_unnanotated_field_after_test_for_null_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure dereference_unnanotated_field_after_test_for_null_bad,Condition is true] +codetoanalyze/cpp/nullable/example.cpp, T_dereference_unnanotated_field_after_test_for_null_bad, 2, NULL_DEREFERENCE, ERROR, [start of procedure dereference_unnanotated_field_after_test_for_null_bad,Taking true branch] codetoanalyze/cpp/nullable/example.cpp, T_test_nonnull_field_for_null_bad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field nonnull_field is compared to null here] codetoanalyze/cpp/nullable/example.cpp, T_test_unnanotated_field_for_null_bad, 1, FIELD_SHOULD_BE_NULLABLE, WARNING, [Field unnanotated_field is compared to null here] codetoanalyze/cpp/nullable/method.cpp, assignNullableValueBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of p,assignment of the nullable value,definition of mayReturnNullPointer] -codetoanalyze/cpp/nullable/method.cpp, assignNullableValueBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure assignNullableValueBad(),start of procedure mayReturnNullPointer,Condition is true,return from a call to T_mayReturnNullPointer] +codetoanalyze/cpp/nullable/method.cpp, assignNullableValueBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure assignNullableValueBad(),start of procedure mayReturnNullPointer,Taking true branch,return from a call to T_mayReturnNullPointer] codetoanalyze/cpp/nullable/method.cpp, avoidDoubleReportingBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of p,assignment of the nullable value,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, avoidDoubleReportingBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure avoidDoubleReportingBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, avoidDoubleReportingBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure avoidDoubleReportingBad(),start of procedure mayReturnNullObject,Taking true branch,return from a call to T_mayReturnNullObject] codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectBad, 1, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectBad, 1, NULL_DEREFERENCE, ERROR, [start of procedure callMethodOnNullableObjectBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectOkay, 2, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure callMethodOnNullableObjectOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectBad, 1, NULL_DEREFERENCE, ERROR, [start of procedure callMethodOnNullableObjectBad(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, callMethodOnNullableObjectOkay, 2, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure callMethodOnNullableObjectOkay(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch] codetoanalyze/cpp/nullable/method.cpp, dereferenceFieldOfNullableObjectBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of p,assignment of the nullable value,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, dereferenceFieldOfNullableObjectBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceFieldOfNullableObjectBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, dereferenceOfAliasesCheckedForNullOkay, 3, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure dereferenceOfAliasesCheckedForNullOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, methodAlwaysCheckedForNullOkay, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodAlwaysCheckedForNullOkay(),Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, methodAlwaysCheckedForNullOkay, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodAlwaysCheckedForNullOkay(),Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, dereferenceFieldOfNullableObjectBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure dereferenceFieldOfNullableObjectBad(),start of procedure mayReturnNullObject,Taking true branch,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, dereferenceOfAliasesCheckedForNullOkay, 3, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure dereferenceOfAliasesCheckedForNullOkay(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch] +codetoanalyze/cpp/nullable/method.cpp, methodAlwaysCheckedForNullOkay, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodAlwaysCheckedForNullOkay(),Taking true branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch] +codetoanalyze/cpp/nullable/method.cpp, methodAlwaysCheckedForNullOkay, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodAlwaysCheckedForNullOkay(),Taking true branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking true branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] codetoanalyze/cpp/nullable/method.cpp, methodCallOnFieldOfNullableObjectBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereference of p,assignment of the nullable value,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodCallOnFieldOfNullableObjectBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodCallOnFieldOfNullableObjectBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullAndReturnOkay, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodCheckedForNullAndReturnOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullAndReturnOkay, 4, NULL_DEREFERENCE, ERROR, [start of procedure methodCheckedForNullAndReturnOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullOkay, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodCheckedForNullOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullOkay, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodCheckedForNullOkay(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodNotAlwaysCheckedForNullBad(),Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, methodCallOnFieldOfNullableObjectBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodCallOnFieldOfNullableObjectBad(),start of procedure mayReturnNullObject,Taking true branch,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullAndReturnOkay, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodCheckedForNullAndReturnOkay(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch] +codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullAndReturnOkay, 4, NULL_DEREFERENCE, ERROR, [start of procedure methodCheckedForNullAndReturnOkay(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullOkay, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodCheckedForNullOkay(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch] +codetoanalyze/cpp/nullable/method.cpp, methodCheckedForNullOkay, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodCheckedForNullOkay(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking true branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure methodNotAlwaysCheckedForNullBad(),Taking false branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch] codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodNotAlwaysCheckedForNullBad(),Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, methodNotAlwaysCheckedForNullBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure methodNotAlwaysCheckedForNullBad(),Taking false branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking true branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] codetoanalyze/cpp/nullable/method.cpp, nullableAssignmentInOneBranchBad, 7, NULLABLE_DEREFERENCE, ERROR, [dereference of p,assignment of the nullable value,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, nullableAssignmentInOneBranchBad, 7, NULL_DEREFERENCE, ERROR, [start of procedure nullableAssignmentInOneBranchBad(),Condition is true,start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, nullableAssignmentInOneBranchBad, 7, NULL_DEREFERENCE, ERROR, [start of procedure nullableAssignmentInOneBranchBad(),Taking true branch,start of procedure mayReturnNullObject,Taking true branch,return from a call to T_mayReturnNullObject] codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 1, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 1, NULL_DEREFERENCE, ERROR, [start of procedure onlyReportOnceBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 3, NULL_DEREFERENCE, ERROR, [start of procedure onlyReportOnceBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,start of procedure doSomething,return from a call to T_doSomething,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 1, NULL_DEREFERENCE, ERROR, [start of procedure onlyReportOnceBad(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, onlyReportOnceBad, 3, NULL_DEREFERENCE, ERROR, [start of procedure onlyReportOnceBad(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,start of procedure doSomething,return from a call to T_doSomething,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] codetoanalyze/cpp/nullable/method.cpp, reassigningNullablePointerOkay, 1, DEAD_STORE, ERROR, [Write of unused value] codetoanalyze/cpp/nullable/method.cpp, reassigningNullablePointerToNullOkay, 1, DEAD_STORE, ERROR, [Write of unused value] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure reportsViolationInNotNullElseBranchBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure reportsViolationInNotNullElseBranchBad(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch] codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 3, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 3, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationInNotNullElseBranchBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject,Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure reportsViolationInNullBranchBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNotNullElseBranchBad, 3, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationInNotNullElseBranchBad(),start of procedure mayReturnNullObject,Taking true branch,return from a call to T_mayReturnNullObject,Taking false branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure reportsViolationInNullBranchBad(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch] codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 2, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationInNullBranchBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is false] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject,Condition is true,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationInNullBranchBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationInNullBranchBad(),start of procedure mayReturnNullObject,Taking true branch,return from a call to T_mayReturnNullObject,Taking true branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 1, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking false branch] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 2, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject,Taking true branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 4, NULLABLE_DEREFERENCE, ERROR, [dereferencing the return of mayReturnNullObject,definition of mayReturnNullObject] -codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 4, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Condition is true,return from a call to T_mayReturnNullObject,Condition is false,start of procedure mayReturnNullObject,Condition is false,return from a call to T_mayReturnNullObject] +codetoanalyze/cpp/nullable/method.cpp, reportsViolationOutsideOfNullCheckBad, 4, NULL_DEREFERENCE, ERROR, [start of procedure reportsViolationOutsideOfNullCheckBad(),start of procedure mayReturnNullObject,Taking true branch,return from a call to T_mayReturnNullObject,Taking false branch,start of procedure mayReturnNullObject,Taking false branch,return from a call to T_mayReturnNullObject] diff --git a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot index 64193fb2e..63847278b 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot @@ -20,11 +20,11 @@ digraph cfg { "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" ; "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" [label="6: Prune (true branch) \n PRUNE(n$7, true); [line 24, column 9]\n " shape="invhouse"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$7, true); [line 24, column 9]\n " shape="invhouse"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" [label="7: Prune (false branch) \n PRUNE(!n$7, false); [line 24, column 9]\n " shape="invhouse"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$7, false); [line 24, column 9]\n " shape="invhouse"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" ; @@ -68,11 +68,11 @@ digraph cfg { "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" ; "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" [label="6: Prune (true branch) \n PRUNE(n$6, true); [line 29, column 9]\n " shape="invhouse"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$6, true); [line 29, column 9]\n " shape="invhouse"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_8" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" [label="7: Prune (false branch) \n PRUNE(!n$6, false); [line 29, column 9]\n " shape="invhouse"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$6, false); [line 29, column 9]\n " shape="invhouse"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot index a97c23f5d..107588f02 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot @@ -103,11 +103,11 @@ digraph cfg { "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" [label="5: Prune (true branch) \n n$2=*&a:int [line 12, column 12]\n PRUNE(n$2, true); [line 12, column 12]\n " shape="invhouse"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 12, column 12]\n PRUNE(n$2, true); [line 12, column 12]\n " shape="invhouse"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" [label="6: Prune (false branch) \n n$2=*&a:int [line 12, column 12]\n PRUNE(!n$2, false); [line 12, column 12]\n " shape="invhouse"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 12, column 12]\n PRUNE(!n$2, false); [line 12, column 12]\n " shape="invhouse"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" ; @@ -147,11 +147,11 @@ digraph cfg { "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" [label="5: Prune (true branch) \n n$2=*&a:int [line 18, column 12]\n PRUNE(n$2, true); [line 18, column 12]\n " shape="invhouse"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 18, column 12]\n PRUNE(n$2, true); [line 18, column 12]\n " shape="invhouse"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" [label="6: Prune (false branch) \n n$2=*&a:int [line 18, column 12]\n PRUNE(!n$2, false); [line 18, column 12]\n " shape="invhouse"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 18, column 12]\n PRUNE(!n$2, false); [line 18, column 12]\n " shape="invhouse"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" ; @@ -187,11 +187,11 @@ digraph cfg { "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" [label="5: Prune (true branch) \n n$2=*&a:int [line 24, column 4]\n PRUNE(n$2, true); [line 24, column 4]\n " shape="invhouse"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 24, column 4]\n PRUNE(n$2, true); [line 24, column 4]\n " shape="invhouse"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" [label="6: Prune (false branch) \n n$2=*&a:int [line 24, column 4]\n PRUNE(!n$2, false); [line 24, column 4]\n " shape="invhouse"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 24, column 4]\n PRUNE(!n$2, false); [line 24, column 4]\n " shape="invhouse"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" ; @@ -232,11 +232,11 @@ digraph cfg { "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" [label="5: Prune (true branch) \n n$4=*&a:int [line 29, column 18]\n PRUNE(n$4, true); [line 29, column 18]\n " shape="invhouse"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" [label="5: Prune (true branch, boolean exp) \n n$4=*&a:int [line 29, column 18]\n PRUNE(n$4, true); [line 29, column 18]\n " shape="invhouse"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" [label="6: Prune (false branch) \n n$4=*&a:int [line 29, column 18]\n PRUNE(!n$4, false); [line 29, column 18]\n " shape="invhouse"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" [label="6: Prune (false branch, boolean exp) \n n$4=*&a:int [line 29, column 18]\n PRUNE(!n$4, false); [line 29, column 18]\n " shape="invhouse"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot index 68c81e8c5..0c1dbd2dd 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot @@ -125,11 +125,11 @@ digraph cfg { "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" ; "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" [label="6: Prune (true branch) \n PRUNE(n$4, true); [line 67, column 20]\n " shape="invhouse"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_6" [label="6: Prune (true branch, boolean exp) \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_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" [label="7: Prune (false branch, boolean exp) \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" ; @@ -173,11 +173,11 @@ digraph cfg { "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" ; "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_5" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" [label="6: Prune (true branch) \n PRUNE(n$4, true); [line 73, column 26]\n " shape="invhouse"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$4, true); [line 73, column 26]\n " shape="invhouse"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_6" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_8" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" [label="7: Prune (false branch) \n PRUNE(!n$4, false); [line 73, column 26]\n " shape="invhouse"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$4, false); [line 73, column 26]\n " shape="invhouse"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" ; @@ -225,11 +225,11 @@ digraph cfg { "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" ; "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_7" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" [label="8: Prune (true branch) \n PRUNE(n$7, true); [line 78, column 21]\n " shape="invhouse"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" [label="8: Prune (true branch, boolean exp) \n PRUNE(n$7, true); [line 78, column 21]\n " shape="invhouse"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_8" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_10" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" [label="9: Prune (false branch) \n PRUNE(!n$7, false); [line 78, column 21]\n " shape="invhouse"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" [label="9: Prune (false branch, boolean exp) \n PRUNE(!n$7, false); [line 78, column 21]\n " shape="invhouse"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" ; @@ -276,11 +276,11 @@ digraph cfg { "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_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" [label="5: Prune (true branch, boolean exp) \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_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" [label="6: Prune (false branch, boolean exp) \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" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot index ed80316bf..0896cee7f 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/std_init_list.cpp.dot @@ -35,11 +35,11 @@ digraph cfg { "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_7" ; "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_8" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_7" [label="7: Prune (true branch) \n PRUNE((n$4 != n$7), true); [line 15, column 33]\n " shape="invhouse"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_7" [label="7: Prune (true branch, for loop) \n PRUNE((n$4 != n$7), true); [line 15, column 33]\n " shape="invhouse"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_7" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_9" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_8" [label="8: Prune (false branch) \n PRUNE(!(n$4 != n$7), false); [line 15, column 33]\n " shape="invhouse"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_8" [label="8: Prune (false branch, for loop) \n PRUNE(!(n$4 != n$7), false); [line 15, column 33]\n " shape="invhouse"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_8" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot index 69c7d9586..00293fa47 100644 --- a/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot @@ -42,11 +42,11 @@ digraph cfg { "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" ; "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_5" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" [label="6: Prune (true branch) \n PRUNE((n$2 == null), true); [line 11, column 7]\n " shape="invhouse"] +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" [label="6: Prune (true branch, if) \n PRUNE((n$2 == null), true); [line 11, column 7]\n " shape="invhouse"] "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" [label="7: Prune (false branch) \n PRUNE(!(n$2 == null), false); [line 11, column 7]\n " shape="invhouse"] +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$2 == null), false); [line 11, column 7]\n " shape="invhouse"] "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot index db269d4c2..1d3245646 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot @@ -20,11 +20,11 @@ digraph cfg { "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" ; "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" [label="6: Prune (true branch) \n PRUNE(n$4, true); [line 36, column 7]\n " shape="invhouse"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" [label="6: Prune (true branch, if) \n PRUNE(n$4, true); [line 36, column 7]\n " shape="invhouse"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" [label="7: Prune (false branch) \n PRUNE(!n$4, false); [line 36, column 7]\n " shape="invhouse"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" [label="7: Prune (false branch, if) \n PRUNE(!n$4, false); [line 36, column 7]\n " shape="invhouse"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" ; @@ -60,11 +60,11 @@ digraph cfg { "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" ; "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" [label="6: Prune (true branch) \n PRUNE(n$9, true); [line 47, column 7]\n " shape="invhouse"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" [label="6: Prune (true branch, if) \n PRUNE(n$9, true); [line 47, column 7]\n " shape="invhouse"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" [label="7: Prune (false branch) \n PRUNE(!n$9, false); [line 47, column 7]\n " shape="invhouse"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$9, false); [line 47, column 7]\n " shape="invhouse"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_4" ; @@ -108,11 +108,11 @@ digraph cfg { "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" ; "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" [label="6: Prune (true branch) \n PRUNE(n$4, true); [line 56, column 7]\n " shape="invhouse"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" [label="6: Prune (true branch, if) \n PRUNE(n$4, true); [line 56, column 7]\n " shape="invhouse"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" [label="7: Prune (false branch) \n PRUNE(!n$4, false); [line 56, column 7]\n " shape="invhouse"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" [label="7: Prune (false branch, if) \n PRUNE(!n$4, false); [line 56, column 7]\n " shape="invhouse"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" ; @@ -148,11 +148,11 @@ digraph cfg { "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" ; "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" [label="6: Prune (true branch) \n PRUNE(n$4, true); [line 65, column 7]\n " shape="invhouse"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" [label="6: Prune (true branch, if) \n PRUNE(n$4, true); [line 65, column 7]\n " shape="invhouse"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" [label="7: Prune (false branch) \n PRUNE(!n$4, false); [line 65, column 7]\n " shape="invhouse"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$4, false); [line 65, column 7]\n " shape="invhouse"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_for.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_for.cpp.dot index 4f1737a47..9b4442478 100644 --- a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_for.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_for.cpp.dot @@ -19,11 +19,11 @@ digraph cfg { "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_5" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_3" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" [label="6: Prune (true branch) \n n$1=*&x:int [line 12, column 23]\n PRUNE(n$1, true); [line 12, column 23]\n " shape="invhouse"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" [label="6: Prune (true branch, for loop) \n n$1=*&x:int [line 12, column 23]\n PRUNE(n$1, true); [line 12, column 23]\n " shape="invhouse"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_9" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" [label="7: Prune (false branch) \n n$1=*&x:int [line 12, column 23]\n PRUNE(!n$1, false); [line 12, column 23]\n " shape="invhouse"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" [label="7: Prune (false branch, for loop) \n n$1=*&x:int [line 12, column 23]\n PRUNE(!n$1, false); [line 12, column 23]\n " shape="invhouse"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_2" ; @@ -59,11 +59,11 @@ digraph cfg { "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_5" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_3" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_6" [label="6: Prune (true branch) \n n$1=*&x:int [line 19, column 24]\n PRUNE(n$1, true); [line 19, column 24]\n " shape="invhouse"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_6" [label="6: Prune (true branch, for loop) \n n$1=*&x:int [line 19, column 24]\n PRUNE(n$1, true); [line 19, column 24]\n " shape="invhouse"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_6" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_9" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_7" [label="7: Prune (false branch) \n n$1=*&x:int [line 19, column 24]\n PRUNE(!n$1, false); [line 19, column 24]\n " shape="invhouse"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_7" [label="7: Prune (false branch, for loop) \n n$1=*&x:int [line 19, column 24]\n PRUNE(!n$1, false); [line 19, column 24]\n " shape="invhouse"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_7" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp.dot index e627d692f..0cd49b9b6 100644 --- a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_if.cpp.dot @@ -15,11 +15,11 @@ digraph cfg { "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_4" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_2" ; -"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_5" [label="5: Prune (true branch) \n n$0=*&a:int [line 11, column 11]\n PRUNE(n$0, true); [line 11, column 11]\n " shape="invhouse"] +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 11, column 11]\n PRUNE(n$0, true); [line 11, column 11]\n " shape="invhouse"] "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_5" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" ; -"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_6" [label="6: Prune (false branch) \n n$0=*&a:int [line 11, column 11]\n PRUNE(!n$0, false); [line 11, column 11]\n " shape="invhouse"] +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 11, column 11]\n PRUNE(!n$0, false); [line 11, column 11]\n " shape="invhouse"] "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_6" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_3" ; @@ -47,11 +47,11 @@ digraph cfg { "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_4" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_2" ; -"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_5" [label="5: Prune (true branch) \n n$0=*&a:int [line 17, column 11]\n PRUNE(n$0, true); [line 17, column 11]\n " shape="invhouse"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 17, column 11]\n PRUNE(n$0, true); [line 17, column 11]\n " shape="invhouse"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_5" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_8" ; -"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" [label="6: Prune (false branch) \n n$0=*&a:int [line 17, column 11]\n PRUNE(!n$0, false); [line 17, column 11]\n " shape="invhouse"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 17, column 11]\n PRUNE(!n$0, false); [line 17, column 11]\n " shape="invhouse"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" ; @@ -83,11 +83,11 @@ digraph cfg { "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_4" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_2" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_5" [label="5: Prune (true branch) \n n$0=*&a:int [line 25, column 11]\n PRUNE(n$0, true); [line 25, column 11]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 25, column 11]\n PRUNE(n$0, true); [line 25, column 11]\n " shape="invhouse"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_5" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_8" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_6" [label="6: Prune (false branch) \n n$0=*&a:int [line 25, column 11]\n PRUNE(!n$0, false); [line 25, column 11]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 25, column 11]\n PRUNE(!n$0, false); [line 25, column 11]\n " shape="invhouse"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_6" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_12" ; @@ -104,11 +104,11 @@ digraph cfg { "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_9" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_3" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_10" [label="10: Prune (true branch) \n n$1=*&b:int [line 27, column 18]\n PRUNE(n$1, true); [line 27, column 18]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_10" [label="10: Prune (true branch, if) \n n$1=*&b:int [line 27, column 18]\n PRUNE(n$1, true); [line 27, column 18]\n " shape="invhouse"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_10" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_13" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_11" [label="11: Prune (false branch) \n n$1=*&b:int [line 27, column 18]\n PRUNE(!n$1, false); [line 27, column 18]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_11" [label="11: Prune (false branch, if) \n n$1=*&b:int [line 27, column 18]\n PRUNE(!n$1, false); [line 27, column 18]\n " shape="invhouse"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_11" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" ; @@ -151,11 +151,11 @@ digraph cfg { "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_4" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_2" ; -"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_5" [label="5: Prune (true branch) \n n$0=*&a:int [line 37, column 11]\n PRUNE(n$0, true); [line 37, column 11]\n " shape="invhouse"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 37, column 11]\n PRUNE(n$0, true); [line 37, column 11]\n " shape="invhouse"] "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_5" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" ; -"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_6" [label="6: Prune (false branch) \n n$0=*&a:int [line 37, column 11]\n PRUNE(!n$0, false); [line 37, column 11]\n " shape="invhouse"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 37, column 11]\n PRUNE(!n$0, false); [line 37, column 11]\n " shape="invhouse"] "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_6" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_3" ; @@ -184,11 +184,11 @@ digraph cfg { "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_4" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_2" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_5" [label="5: Prune (true branch) \n n$0=*&a:int [line 43, column 11]\n PRUNE(n$0, true); [line 43, column 11]\n " shape="invhouse"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 43, column 11]\n PRUNE(n$0, true); [line 43, column 11]\n " shape="invhouse"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_5" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_6" [label="6: Prune (false branch) \n n$0=*&a:int [line 43, column 11]\n PRUNE(!n$0, false); [line 43, column 11]\n " shape="invhouse"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 43, column 11]\n PRUNE(!n$0, false); [line 43, column 11]\n " shape="invhouse"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_6" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_3" ; @@ -196,11 +196,11 @@ digraph cfg { "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_7" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_8" [label="8: Prune (true branch) \n PRUNE(1, true); [line 43, column 15]\n " shape="invhouse"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_8" [label="8: Prune (true branch, boolean exp) \n PRUNE(1, true); [line 43, column 15]\n " shape="invhouse"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_8" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_10" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_9" [label="9: Prune (false branch) \n PRUNE(!1, false); [line 43, column 15]\n " shape="invhouse"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_9" [label="9: Prune (false branch, boolean exp) \n PRUNE(!1, false); [line 43, column 15]\n " shape="invhouse"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_9" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_11" ; @@ -236,11 +236,11 @@ digraph cfg { "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" [label="5: Prune (true branch) \n n$1=*&a:int& [line 50, column 12]\n n$2=*n$1:int [line 50, column 12]\n PRUNE(n$2, true); [line 50, column 12]\n " shape="invhouse"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" [label="5: Prune (true branch, if) \n n$1=*&a:int& [line 50, column 12]\n n$2=*n$1:int [line 50, column 12]\n PRUNE(n$2, true); [line 50, column 12]\n " shape="invhouse"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" [label="6: Prune (false branch) \n n$1=*&a:int& [line 50, column 12]\n n$2=*n$1:int [line 50, column 12]\n PRUNE(!n$2, false); [line 50, column 12]\n " shape="invhouse"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" [label="6: Prune (false branch, if) \n n$1=*&a:int& [line 50, column 12]\n n$2=*n$1:int [line 50, column 12]\n PRUNE(!n$2, false); [line 50, column 12]\n " shape="invhouse"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" ; @@ -272,11 +272,11 @@ digraph cfg { "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_4" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_2" ; -"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_5" [label="5: Prune (true branch) \n n$0=*&p:int* [line 57, column 12]\n PRUNE(n$0, true); [line 57, column 12]\n " shape="invhouse"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_5" [label="5: Prune (true branch, if) \n n$0=*&p:int* [line 57, column 12]\n PRUNE(n$0, true); [line 57, column 12]\n " shape="invhouse"] "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_5" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_8" ; -"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_6" [label="6: Prune (false branch) \n n$0=*&p:int* [line 57, column 12]\n PRUNE(!n$0, false); [line 57, column 12]\n " shape="invhouse"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_6" [label="6: Prune (false branch, if) \n n$0=*&p:int* [line 57, column 12]\n PRUNE(!n$0, false); [line 57, column 12]\n " shape="invhouse"] "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_6" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_switch.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_switch.cpp.dot index 4382e4b02..2efd898e7 100644 --- a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_switch.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_switch.cpp.dot @@ -28,11 +28,11 @@ digraph cfg { "get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" [label="8: Prune (true branch) \n PRUNE((n$0 == 2), true); [line 15, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" [label="8: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 15, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" [label="9: Prune (false branch) \n PRUNE(!(n$0 == 2), false); [line 15, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$0 == 2), false); [line 15, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" ; @@ -40,20 +40,20 @@ digraph cfg { "get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" [label="11: Prune (true branch) \n PRUNE((n$0 == 1), true); [line 13, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" [label="11: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 13, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" [label="12: Prune (false branch) \n PRUNE(!(n$0 == 1), false); [line 13, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" [label="12: Prune (false branch, switch) \n PRUNE(!(n$0 == 1), false); [line 13, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" ; "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" [label="13: Prune (true branch) \n PRUNE((n$0 == 0), true); [line 12, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" [label="13: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 12, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_14" [label="14: Prune (false branch) \n PRUNE(!(n$0 == 0), false); [line 12, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_14" [label="14: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 12, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_14" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_while.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_while.cpp.dot index 9b53ea3a5..ed0d1507c 100644 --- a/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_while.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/nestedoperators/var_decl_inside_while.cpp.dot @@ -15,11 +15,11 @@ digraph cfg { "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_4" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_5" [label="5: Prune (true branch) \n n$0=*&a:int [line 13, column 14]\n PRUNE(n$0, true); [line 13, column 14]\n " shape="invhouse"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_5" [label="5: Prune (true branch, while) \n n$0=*&a:int [line 13, column 14]\n PRUNE(n$0, true); [line 13, column 14]\n " shape="invhouse"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_5" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_9" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_6" [label="6: Prune (false branch) \n n$0=*&a:int [line 13, column 14]\n PRUNE(!n$0, false); [line 13, column 14]\n " shape="invhouse"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_6" [label="6: Prune (false branch, while) \n n$0=*&a:int [line 13, column 14]\n PRUNE(!n$0, false); [line 13, column 14]\n " shape="invhouse"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_6" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_3" ; @@ -59,11 +59,11 @@ digraph cfg { "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_4" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_8" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_5" [label="5: Prune (true branch) \n n$0=*&a:int [line 23, column 14]\n PRUNE(n$0, true); [line 23, column 14]\n " shape="invhouse"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_5" [label="5: Prune (true branch, while) \n n$0=*&a:int [line 23, column 14]\n PRUNE(n$0, true); [line 23, column 14]\n " shape="invhouse"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_5" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_15" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_6" [label="6: Prune (false branch) \n n$0=*&a:int [line 23, column 14]\n PRUNE(!n$0, false); [line 23, column 14]\n " shape="invhouse"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_6" [label="6: Prune (false branch, while) \n n$0=*&a:int [line 23, column 14]\n PRUNE(!n$0, false); [line 23, column 14]\n " shape="invhouse"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_6" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_3" ; @@ -76,11 +76,11 @@ digraph cfg { "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_8" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_9" ; "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_8" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_10" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_9" [label="9: Prune (true branch) \n PRUNE((n$2 > 0), true); [line 23, column 18]\n " shape="invhouse"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_9" [label="9: Prune (true branch, boolean exp) \n PRUNE((n$2 > 0), true); [line 23, column 18]\n " shape="invhouse"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_9" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_11" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_10" [label="10: Prune (false branch) \n PRUNE(!(n$2 > 0), false); [line 23, column 18]\n " shape="invhouse"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_10" [label="10: Prune (false branch, boolean exp) \n PRUNE(!(n$2 > 0), false); [line 23, column 18]\n " shape="invhouse"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_10" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_12" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot index e4402550a..999011901 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_struct_e2e.cpp.dot @@ -223,11 +223,11 @@ digraph cfg { "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_4" -> "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_2" ; -"method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_5" [label="5: Prune (true branch) \n n$0=*&x:X* [line 34, column 7]\n PRUNE(n$0, true); [line 34, column 7]\n " shape="invhouse"] +"method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 34, column 7]\n PRUNE(n$0, true); [line 34, column 7]\n " shape="invhouse"] "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_5" -> "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_8" ; -"method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_6" [label="6: Prune (false branch) \n n$0=*&x:X* [line 34, column 7]\n PRUNE(!n$0, false); [line 34, column 7]\n " shape="invhouse"] +"method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 34, column 7]\n PRUNE(!n$0, false); [line 34, column 7]\n " shape="invhouse"] "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_6" -> "method_div0_ptr#6106785648087401281.a4bd2a817d503af4e1865afa4416bdb5_3" ; @@ -255,11 +255,11 @@ digraph cfg { "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_4" -> "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_2" ; -"method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_5" [label="5: Prune (true branch) \n n$0=*&x:X* [line 41, column 7]\n PRUNE(n$0, true); [line 41, column 7]\n " shape="invhouse"] +"method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 41, column 7]\n PRUNE(n$0, true); [line 41, column 7]\n " shape="invhouse"] "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_5" -> "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_8" ; -"method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_6" [label="6: Prune (false branch) \n n$0=*&x:X* [line 41, column 7]\n PRUNE(!n$0, false); [line 41, column 7]\n " shape="invhouse"] +"method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 41, column 7]\n PRUNE(!n$0, false); [line 41, column 7]\n " shape="invhouse"] "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_6" -> "method_div1_ptr#3061685040798671000.94d1209c17222ffe12cc388ae1ff112d_3" ; @@ -287,11 +287,11 @@ digraph cfg { "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_4" -> "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_2" ; -"field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_5" [label="5: Prune (true branch) \n n$0=*&x:X* [line 48, column 7]\n PRUNE(n$0, true); [line 48, column 7]\n " shape="invhouse"] +"field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 48, column 7]\n PRUNE(n$0, true); [line 48, column 7]\n " shape="invhouse"] "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_5" -> "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_8" ; -"field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_6" [label="6: Prune (false branch) \n n$0=*&x:X* [line 48, column 7]\n PRUNE(!n$0, false); [line 48, column 7]\n " shape="invhouse"] +"field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 48, column 7]\n PRUNE(!n$0, false); [line 48, column 7]\n " shape="invhouse"] "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_6" -> "field_div0_ptr#2555781581744357321.4ee118b9c5178d1d4e02dcf5eed47814_3" ; @@ -319,11 +319,11 @@ digraph cfg { "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_4" -> "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_2" ; -"field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_5" [label="5: Prune (true branch) \n n$0=*&x:X* [line 55, column 7]\n PRUNE(n$0, true); [line 55, column 7]\n " shape="invhouse"] +"field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 55, column 7]\n PRUNE(n$0, true); [line 55, column 7]\n " shape="invhouse"] "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_5" -> "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_8" ; -"field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_6" [label="6: Prune (false branch) \n n$0=*&x:X* [line 55, column 7]\n PRUNE(!n$0, false); [line 55, column 7]\n " shape="invhouse"] +"field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 55, column 7]\n PRUNE(!n$0, false); [line 55, column 7]\n " shape="invhouse"] "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_6" -> "field_div1_ptr#10491775926176760544.af54450738e6dc8210ec4a97e984707b_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot index fa9d8d61e..ede25a981 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot @@ -26,11 +26,11 @@ digraph cfg { "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_4" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_3" ; -"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_5" [label="5: Prune (true branch) \n PRUNE((_t$0 == 0), true); [line 17, column 7]\n " shape="invhouse"] +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_5" [label="5: Prune (true branch, if) \n PRUNE((_t$0 == 0), true); [line 17, column 7]\n " shape="invhouse"] "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_5" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_7" ; -"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_6" [label="6: Prune (false branch) \n PRUNE(!(_t$0 == 0), false); [line 17, column 7]\n " shape="invhouse"] +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_6" [label="6: Prune (false branch, if) \n PRUNE(!(_t$0 == 0), false); [line 17, column 7]\n " shape="invhouse"] "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_6" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot index 0bd090a94..304384287 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/struct_forward_declare.cpp.dot @@ -34,11 +34,11 @@ digraph cfg { "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_4" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_5" [label="5: Prune (true branch) \n n$2=*&x.y:struct_forward_declare::Y* [line 51, column 7]\n PRUNE(n$2, true); [line 51, column 7]\n " shape="invhouse"] +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_5" [label="5: Prune (true branch, if) \n n$2=*&x.y:struct_forward_declare::Y* [line 51, column 7]\n PRUNE(n$2, true); [line 51, column 7]\n " shape="invhouse"] "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_5" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" [label="6: Prune (false branch) \n n$2=*&x.y:struct_forward_declare::Y* [line 51, column 7]\n PRUNE(!n$2, false); [line 51, column 7]\n " shape="invhouse"] +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" [label="6: Prune (false branch, if) \n n$2=*&x.y:struct_forward_declare::Y* [line 51, column 7]\n PRUNE(!n$2, false); [line 51, column 7]\n " shape="invhouse"] "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_4" ; diff --git a/infer/tests/codetoanalyze/objc/errors/issues.exp b/infer/tests/codetoanalyze/objc/errors/issues.exp index 84b0d5b51..ccd418c7c 100644 --- a/infer/tests/codetoanalyze/objc/errors/issues.exp +++ b/infer/tests/codetoanalyze/objc/errors/issues.exp @@ -16,14 +16,14 @@ codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorde codetoanalyze/objc/errors/warnings/ParameterNotNullableExample.m, FBAudioRecorder_test, 3, NULL_DEREFERENCE, ERROR, [start of procedure test,Message recordState with receiver nil returns nil.] codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_blockPostBad, 5, NULL_DEREFERENCE, ERROR, [start of procedure blockPostBad,start of procedure block,return from a call to objc_blockBlockVar_blockPostBad_2] codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_capturedNullDeref, 5, NULL_DEREFERENCE, ERROR, [start of procedure capturedNullDeref,start of procedure block] -codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_navigateToURLInBackground, 8, NULL_DEREFERENCE, ERROR, [start of procedure navigateToURLInBackground,start of procedure block,start of procedure test,return from a call to BlockVar_test,return from a call to objc_blockBlockVar_navigateToURLInBackground_1,Condition is true] +codetoanalyze/objc/shared/block/BlockVar.m, BlockVar_navigateToURLInBackground, 8, NULL_DEREFERENCE, ERROR, [start of procedure navigateToURLInBackground,start of procedure block,start of procedure test,return from a call to BlockVar_test,return from a call to objc_blockBlockVar_navigateToURLInBackground_1,Taking true branch] codetoanalyze/objc/shared/block/block.m, main1, 31, DIVIDE_BY_ZERO, ERROR, [start of procedure main1(),start of procedure block,start of procedure block,return from a call to objc_blockobjc_blockmain1_2_3,return from a call to objc_blockmain1_2,start of procedure block,return from a call to objc_blockmain1_1] -codetoanalyze/objc/shared/block/block_no_args.m, My_manager_m, 10, NULL_DEREFERENCE, ERROR, [start of procedure m,start of procedure block,return from a call to objc_blockMy_manager_m_1,Condition is true] +codetoanalyze/objc/shared/block/block_no_args.m, My_manager_m, 10, NULL_DEREFERENCE, ERROR, [start of procedure m,start of procedure block,return from a call to objc_blockMy_manager_m_1,Taking true branch] codetoanalyze/objc/shared/category_procdesc/main.c, CategoryProcdescMain, 3, MEMORY_LEAK, ERROR, [start of procedure CategoryProcdescMain(),Skipping performDaysWork: function or method not found] codetoanalyze/objc/shared/field_superclass/SuperExample.m, ASuper_init, 2, NULL_DEREFERENCE, ERROR, [start of procedure init,start of procedure init,return from a call to BSuper_init] -codetoanalyze/objc/errors/blocks_in_heap/BlockInHeap.m, block_in_heap_executed_after_bi_abduction_ok_test, 3, NULL_DEREFERENCE, ERROR, [start of procedure block_in_heap_executed_after_bi_abduction_ok_test(),start of procedure block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle(),start of procedure assign_block_to_ivar,Executing synthesized setter setHandler:,return from a call to BlockInHeap_assign_block_to_ivar,Executing synthesized getter handler,start of procedure block,return from a call to objc_blockBlockInHeap_assign_block_to_ivar_1,return from a call to block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle,Condition is true] -codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 3, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is false] -codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Condition is true] +codetoanalyze/objc/errors/blocks_in_heap/BlockInHeap.m, block_in_heap_executed_after_bi_abduction_ok_test, 3, NULL_DEREFERENCE, ERROR, [start of procedure block_in_heap_executed_after_bi_abduction_ok_test(),start of procedure block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle(),start of procedure assign_block_to_ivar,Executing synthesized setter setHandler:,return from a call to BlockInHeap_assign_block_to_ivar,Executing synthesized getter handler,start of procedure block,return from a call to objc_blockBlockInHeap_assign_block_to_ivar_1,return from a call to block_in_heap_executed_after_bi_abduction_ok_no_retain_cycle,Taking true branch] +codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 3, NULL_TEST_AFTER_DEREFERENCE, WARNING, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Taking false branch] +codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, Employee_initWithName:andAge:andEducation:, 6, DIVIDE_BY_ZERO, ERROR, [start of procedure initWithName:andAge:andEducation:,start of procedure initWithName:andAge:,return from a call to Person_initWithName:andAge:,Taking true branch] codetoanalyze/objc/errors/field_superclass/SubtypingExample.m, subtyping_test, 0, DIVIDE_BY_ZERO, ERROR, [start of procedure subtyping_test(),start of procedure testFields(),start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure setAge:,return from a call to Person_setAge:,start of procedure setEmployeeEducation:,return from a call to Employee_setEmployeeEducation:,start of procedure getAge,return from a call to Person_getAge,return from a call to testFields] codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, field_set_correctly, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure field_set_correctly()] codetoanalyze/objc/errors/initialization/struct_initlistexpr.c, implicit_expr_set_correctly, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure implicit_expr_set_correctly()] @@ -32,16 +32,16 @@ codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlockCapturedVar.m, codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlocks.m, RCBlock_retain_self_in_block, 1, RETAIN_CYCLE, ERROR, [start of procedure retain_self_in_block,Executing synthesized setter setHandler:] codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlocks.m, objc_blockretain_a_in_block_cycle_3, 1, RETAIN_CYCLE, ERROR, [start of procedure block,Executing synthesized setter setChild:] codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleBlocks.m, retain_a_in_block_cycle, 4, RETAIN_CYCLE, ERROR, [start of procedure retain_a_in_block_cycle(),Executing synthesized setter setB:,Executing synthesized setter setA:] -codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleDeduplication.m, CViewController_setCaptureInteractionController:, 4, RETAIN_CYCLE, ERROR, [start of procedure setCaptureInteractionController:,Condition is true,Executing synthesized setter setDelegate:,Executing synthesized setter setDelegate:] +codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleDeduplication.m, CViewController_setCaptureInteractionController:, 4, RETAIN_CYCLE, ERROR, [start of procedure setCaptureInteractionController:,Taking true branch,Executing synthesized setter setDelegate:,Executing synthesized setter setDelegate:] codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCyclePropertyInProtocol.m, MyCustomViewController_loadViewBad, 3, RETAIN_CYCLE, ERROR, [start of procedure loadViewBad,Executing synthesized setter setView:,Executing synthesized setter setStrong_delegate:] codetoanalyze/objc/errors/memory_leaks_benchmark/retain_cycle.m, strongcycle, 6, RETAIN_CYCLE, ERROR, [start of procedure strongcycle(),Executing synthesized setter setB:,Executing synthesized setter setA:] codetoanalyze/objc/errors/memory_leaks_benchmark/retain_cycle2.m, strongcycle2, 4, RETAIN_CYCLE, ERROR, [start of procedure strongcycle2(),start of procedure init,return from a call to Parent_init,start of procedure init,return from a call to Child_init,start of procedure setChild:,return from a call to Parent_setChild:,start of procedure setParent:,return from a call to Child_setParent:] codetoanalyze/objc/errors/npe/UpdateDict.m, add_nil_in_dict, 10, NULL_DEREFERENCE, ERROR, [start of procedure add_nil_in_dict(),Skipping dictionaryWithObjectsAndKeys:: function or method not found] codetoanalyze/objc/errors/npe/UpdateDict.m, add_nil_to_array, 4, NULL_DEREFERENCE, ERROR, [start of procedure add_nil_to_array()] codetoanalyze/objc/errors/npe/UpdateDict.m, insert_nil_in_array, 4, NULL_DEREFERENCE, ERROR, [start of procedure insert_nil_in_array()] -codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKey, 4, NULL_DEREFERENCE, ERROR, [start of procedure nullable_NSDictionary_objectForKey(),Condition is true,Condition is true,Condition is true] -codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKeyedSubscript, 5, NULL_DEREFERENCE, ERROR, [start of procedure nullable_NSDictionary_objectForKeyedSubscript(),Condition is true,Condition is true,Condition is true] -codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSMapTable_objectForKey, 4, NULL_DEREFERENCE, ERROR, [start of procedure nullable_NSMapTable_objectForKey(),Condition is true,Condition is true,Condition is true] +codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKey, 4, NULL_DEREFERENCE, ERROR, [start of procedure nullable_NSDictionary_objectForKey(),Taking true branch,Condition is true,Taking true branch] +codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSDictionary_objectForKeyedSubscript, 5, NULL_DEREFERENCE, ERROR, [start of procedure nullable_NSDictionary_objectForKeyedSubscript(),Taking true branch,Condition is true,Taking true branch] +codetoanalyze/objc/errors/npe/UpdateDict.m, nullable_NSMapTable_objectForKey, 4, NULL_DEREFERENCE, ERROR, [start of procedure nullable_NSMapTable_objectForKey(),Taking true branch,Condition is true,Taking true branch] codetoanalyze/objc/errors/npe/UpdateDict.m, update_array_with_null, 5, NULL_DEREFERENCE, ERROR, [start of procedure update_array_with_null()] codetoanalyze/objc/errors/npe/UpdateDict.m, update_dict_with_key_null, 10, NULL_DEREFERENCE, ERROR, [start of procedure update_dict_with_key_null(),Skipping dictionaryWithObjectsAndKeys:: function or method not found] codetoanalyze/objc/errors/npe/WeakCapturedVarsNPE.m, objc_blockWeakCapturedA_strongSelfNoCheck_2, 2, NULL_DEREFERENCE, ERROR, [start of procedure block] @@ -60,21 +60,21 @@ codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionary codetoanalyze/objc/errors/npe/nil_in_dictionary_literal.m, ADict_nilInDictionaryLiteralValue3, 4, NULL_DEREFERENCE, ERROR, [start of procedure nilInDictionaryLiteralValue3] codetoanalyze/objc/errors/npe/npe_conditional.m, conditionalNPE, 3, NULL_DEREFERENCE, ERROR, [start of procedure conditionalNPE(),start of procedure name,return from a call to ConditionalA_name,Condition is true] codetoanalyze/objc/errors/npe/npe_self.m, CSelf_init, 2, NULL_DEREFERENCE, ERROR, [start of procedure init] -codetoanalyze/objc/errors/npe/npe_self.m, CSelf_test, 3, NULL_DEREFERENCE, ERROR, [start of procedure test,Condition is false] +codetoanalyze/objc/errors/npe/npe_self.m, CSelf_test, 3, NULL_DEREFERENCE, ERROR, [start of procedure test,Taking false branch] codetoanalyze/objc/errors/npe/nullable.m, derefNullableParamDirect, 0, NULL_DEREFERENCE, ERROR, [start of procedure derefNullableParamDirect()] codetoanalyze/objc/errors/npe/nullable.m, derefNullableParamIndirect, 2, NULL_DEREFERENCE, ERROR, [start of procedure derefNullableParamIndirect()] codetoanalyze/objc/errors/npe/nullable.m, parameter_nullable_bug, 5, NULL_DEREFERENCE, ERROR, [start of procedure parameter_nullable_bug()] -codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testDefaultName, 7, NULL_DEREFERENCE, ERROR, [start of procedure testDefaultName,Skipping setY:: function or method not found,Condition is true] -codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testExplicit, 6, NULL_DEREFERENCE, ERROR, [start of procedure testExplicit,Condition is true] -codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero1, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure shouldThrowDivideByZero1(),start of procedure init,return from a call to Base_init,start of procedure returnsZero1:,Condition is true,return from a call to Base_returnsZero1:] -codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero2, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure shouldThrowDivideByZero2(),start of procedure init,return from a call to Base_init,start of procedure returnsZero2(),Condition is false,return from a call to returnsZero2] -codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero3, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure shouldThrowDivideByZero3(),start of procedure init,return from a call to Derived_init,Condition is true] +codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testDefaultName, 7, NULL_DEREFERENCE, ERROR, [start of procedure testDefaultName,Skipping setY:: function or method not found,Taking true branch] +codetoanalyze/objc/errors/property/ExplicitIvarName.m, ExplicitIvarNameA_testExplicit, 6, NULL_DEREFERENCE, ERROR, [start of procedure testExplicit,Taking true branch] +codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero1, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure shouldThrowDivideByZero1(),start of procedure init,return from a call to Base_init,start of procedure returnsZero1:,Taking true branch,return from a call to Base_returnsZero1:] +codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero2, 2, DIVIDE_BY_ZERO, ERROR, [start of procedure shouldThrowDivideByZero2(),start of procedure init,return from a call to Base_init,start of procedure returnsZero2(),Taking false branch,return from a call to returnsZero2] +codetoanalyze/objc/errors/subtyping/KindOfClassExample.m, shouldThrowDivideByZero3, 3, DIVIDE_BY_ZERO, ERROR, [start of procedure shouldThrowDivideByZero3(),start of procedure init,return from a call to Derived_init,Taking true branch] codetoanalyze/objc/errors/variadic_methods/premature_nil_termination.m, PrematureNilTermA_nilInArrayWithObjects, 5, PREMATURE_NIL_TERMINATION_ARGUMENT, ERROR, [start of procedure nilInArrayWithObjects] codetoanalyze/objc/errors/memory_leaks_benchmark/CoreVideoExample.m, CoreVideoExample_cvpixelbuffer_not_released_leak, 1, MEMORY_LEAK, ERROR, [start of procedure cvpixelbuffer_not_released_leak] codetoanalyze/objc/errors/memory_leaks_benchmark/NSData_models_tests.m, NSData_models_tests_macForIV:, 2, MEMORY_LEAK, ERROR, [start of procedure macForIV:] -codetoanalyze/objc/errors/memory_leaks_benchmark/NSString_models_tests.m, StringInitA_hexStringValue, 11, MEMORY_LEAK, ERROR, [start of procedure hexStringValue,Skipping CFStringCreateWithBytesNoCopy(): function or method not found,Condition is false] +codetoanalyze/objc/errors/memory_leaks_benchmark/NSString_models_tests.m, StringInitA_hexStringValue, 11, MEMORY_LEAK, ERROR, [start of procedure hexStringValue,Skipping CFStringCreateWithBytesNoCopy(): function or method not found,Taking false branch] codetoanalyze/objc/errors/memory_leaks_benchmark/RetainCycleLength3.m, strongcycle, 6, RETAIN_CYCLE, ERROR, [start of procedure strongcycle(),Executing synthesized setter setB:,Executing synthesized setter setC:,Executing synthesized setter setA:] -codetoanalyze/objc/errors/npe/Fraction.m, test_virtual_call, 7, NULL_DEREFERENCE, ERROR, [start of procedure test_virtual_call(),start of procedure setNumerator:,return from a call to Fraction_setNumerator:,start of procedure getNumerator,return from a call to Fraction_getNumerator,Condition is true] +codetoanalyze/objc/errors/npe/Fraction.m, test_virtual_call, 7, NULL_DEREFERENCE, ERROR, [start of procedure test_virtual_call(),start of procedure setNumerator:,return from a call to Fraction_setNumerator:,start of procedure getNumerator,return from a call to Fraction_getNumerator,Taking true branch] codetoanalyze/objc/errors/npe/Npe_with_equal_names.m, EqualNamesTest, 3, NULL_DEREFERENCE, ERROR, [start of procedure EqualNamesTest(),start of procedure meth,return from a call to EqualNamesA_meth] codetoanalyze/objc/errors/npe/block.m, BlockA_doSomethingThenCallback:, 2, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure doSomethingThenCallback:] codetoanalyze/objc/errors/npe/block.m, BlockA_foo, 5, NULL_DEREFERENCE, ERROR, [start of procedure foo] @@ -82,11 +82,11 @@ codetoanalyze/objc/errors/npe/block.m, BlockA_foo3:, 3, NULL_DEREFERENCE, ERROR, codetoanalyze/objc/errors/npe/block.m, BlockA_foo4:, 6, NULL_DEREFERENCE, ERROR, [start of procedure foo4:] codetoanalyze/objc/errors/npe/block.m, BlockA_foo7, 2, IVAR_NOT_NULL_CHECKED, WARNING, [start of procedure foo7] codetoanalyze/objc/errors/npe/ivar_blocks.m, MyClass_ivar_npe, 1, IVAR_NOT_NULL_CHECKED, WARNING, [start of procedure ivar_npe] -codetoanalyze/objc/errors/npe/skip_method_with_nil_object.m, SkipMethodNilA_testBug:, 6, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Condition is false] +codetoanalyze/objc/errors/npe/skip_method_with_nil_object.m, SkipMethodNilA_testBug:, 6, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure testBug:,Message get_a with receiver nil returns nil.,Message skip_method with receiver nil returns nil.,Taking false branch] codetoanalyze/objc/errors/property/main.c, property_main, 3, MEMORY_LEAK, ERROR, [start of procedure property_main(),Skipping aProperty: function or method not found] -codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, ProcessContentsOfFile, 35, RESOURCE_LEAK, ERROR, [start of procedure ProcessContentsOfFile(),Condition is false,Skipping dispatch_get_global_queue(): function or method not found,Skipping dispatch_source_create(): function or method not found,Condition is false] -codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, objc_blockProcessContentsOfFile_2, 6, MEMORY_LEAK, ERROR, [start of procedure block,Skipping dispatch_source_get_data(): function or method not found,Condition is true,Skipping MyProcessFileData(): function or method not found] -codetoanalyze/objc/errors/resource_leaks/ResourceLeakExample.m, NSFileHandle_fileHandleForLoggingAtPath:mode:, 9, RESOURCE_LEAK, ERROR, [start of procedure fileHandleForLoggingAtPath:mode:,Condition is true,Skipping fileSystemRepresentation: function or method not found,Condition is false,Condition is true,Skipping autorelease: function or method not found] +codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, ProcessContentsOfFile, 35, RESOURCE_LEAK, ERROR, [start of procedure ProcessContentsOfFile(),Taking false branch,Skipping dispatch_get_global_queue(): function or method not found,Skipping dispatch_source_create(): function or method not found,Taking false branch] +codetoanalyze/objc/errors/resource_leaks/Dispatch_sources.m, objc_blockProcessContentsOfFile_2, 6, MEMORY_LEAK, ERROR, [start of procedure block,Skipping dispatch_source_get_data(): function or method not found,Taking true branch,Skipping MyProcessFileData(): function or method not found] +codetoanalyze/objc/errors/resource_leaks/ResourceLeakExample.m, NSFileHandle_fileHandleForLoggingAtPath:mode:, 9, RESOURCE_LEAK, ERROR, [start of procedure fileHandleForLoggingAtPath:mode:,Taking true branch,Skipping fileSystemRepresentation: function or method not found,Taking false branch,Taking true branch,Skipping autorelease: function or method not found] codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A_test1:, 2, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure test1:,Message child with receiver nil returns nil.] codetoanalyze/objc/shared/annotations/nonnull_annotations.m, A_test3:, 1, PARAMETER_NOT_NULL_CHECKED, WARNING, [start of procedure test3:] codetoanalyze/objc/shared/annotations/nullable_annotations.m, User_otherUserName, 2, NULL_DEREFERENCE, ERROR, [start of procedure otherUserName,Skipping otherUser: function or method not found] @@ -100,4 +100,4 @@ codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeak codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test, 3, MEMORY_LEAK, ERROR, [start of procedure test,Skipping bounds: function or method not found,Skipping setShadowPath:: function or method not found] codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test1:, 1, MEMORY_LEAK, ERROR, [start of procedure test1:] codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m, MemoryLeakExample_test2:, 1, MEMORY_LEAK, ERROR, [start of procedure test2:] -codetoanalyze/objc/shared/npe/Available_expr.m, Available_expr_test_no_bug, 3, NULL_DEREFERENCE, ERROR, [start of procedure test_no_bug,Condition is true] +codetoanalyze/objc/shared/npe/Available_expr.m, Available_expr_test_no_bug, 3, NULL_DEREFERENCE, ERROR, [start of procedure test_no_bug,Taking true branch] diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot index 082bea599..01cd07254 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot @@ -20,11 +20,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch) \n PRUNE((n$0 != null), true); [line 26, column 3]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 != null), true); [line 26, column 3]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 != null), false); [line 26, column 3]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 != null), false); [line 26, column 3]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot b/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot index e1cc93999..4c3adfbfb 100644 --- a/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot @@ -12,11 +12,11 @@ digraph cfg { "test5:#A#instance.4d6ac42705853160b533ab46b444624a_3" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_4" [label="4: Prune (true branch) \n n$3=*&b:_Bool [line 24, column 23]\n PRUNE(n$3, true); [line 24, column 23]\n " shape="invhouse"] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_4" [label="4: Prune (true branch, boolean exp) \n n$3=*&b:_Bool [line 24, column 23]\n PRUNE(n$3, true); [line 24, column 23]\n " shape="invhouse"] "test5:#A#instance.4d6ac42705853160b533ab46b444624a_4" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_6" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_5" [label="5: Prune (false branch) \n n$3=*&b:_Bool [line 24, column 23]\n PRUNE(!n$3, false); [line 24, column 23]\n " shape="invhouse"] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_5" [label="5: Prune (false branch, boolean exp) \n n$3=*&b:_Bool [line 24, column 23]\n PRUNE(!n$3, false); [line 24, column 23]\n " shape="invhouse"] "test5:#A#instance.4d6ac42705853160b533ab46b444624a_5" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_7" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot index 5efb4ef5e..a777cfd27 100644 --- a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot @@ -30,11 +30,11 @@ digraph cfg { "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_4" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_2" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" [label="5: Prune (true branch) \n n$3=*&s:NSString* [line 29, column 7]\n PRUNE(n$3, true); [line 29, column 7]\n " shape="invhouse"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" [label="5: Prune (true branch, if) \n n$3=*&s:NSString* [line 29, column 7]\n PRUNE(n$3, true); [line 29, column 7]\n " shape="invhouse"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" [label="6: Prune (false branch) \n n$3=*&s:NSString* [line 29, column 7]\n PRUNE(!n$3, false); [line 29, column 7]\n " shape="invhouse"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" [label="6: Prune (false branch, if) \n n$3=*&s:NSString* [line 29, column 7]\n PRUNE(!n$3, false); [line 29, column 7]\n " shape="invhouse"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot b/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot index 1c3f92db8..618c15793 100644 --- a/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/fast_enumeration/Fast_enumeration.m.dot @@ -20,11 +20,11 @@ digraph cfg { "fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_5" -> "fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_6" ; "fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_5" -> "fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_7" ; -"fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_6" [label="6: Prune (true branch) \n PRUNE((n$1 != null), true); [line 19, column 3]\n " shape="invhouse"] +"fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_6" [label="6: Prune (true branch, while) \n PRUNE((n$1 != null), true); [line 19, column 3]\n " shape="invhouse"] "fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_6" -> "fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_9" ; -"fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_7" [label="7: Prune (false branch) \n PRUNE(!(n$1 != null), false); [line 19, column 3]\n " shape="invhouse"] +"fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$1 != null), false); [line 19, column 3]\n " shape="invhouse"] "fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_7" -> "fast_loop:#A#instance.9cd800cb29c7a698fe4cc371a7448f6e_3" ; @@ -64,11 +64,11 @@ digraph cfg { "while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_5" -> "while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_6" ; "while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_5" -> "while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_7" ; -"while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_6" [label="6: Prune (true branch) \n PRUNE(n$12, true); [line 28, column 11]\n " shape="invhouse"] +"while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_6" [label="6: Prune (true branch, while) \n PRUNE(n$12, true); [line 28, column 11]\n " shape="invhouse"] "while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_6" -> "while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_8" ; -"while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_7" [label="7: Prune (false branch) \n PRUNE(!n$12, false); [line 28, column 11]\n " shape="invhouse"] +"while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_7" [label="7: Prune (false branch, while) \n PRUNE(!n$12, false); [line 28, column 11]\n " shape="invhouse"] "while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_7" -> "while_loop:#A#instance.30e9692b3abdc47bcb262e353f292a28_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot b/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot index eaf8ae500..fb4886aef 100644 --- a/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot @@ -20,11 +20,11 @@ digraph cfg { "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_5" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_6" ; "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_5" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_7" ; -"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_6" [label="6: Prune (true branch) \n PRUNE(n$1, true); [line 25, column 7]\n " shape="invhouse"] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_6" [label="6: Prune (true branch, if) \n PRUNE(n$1, true); [line 25, column 7]\n " shape="invhouse"] "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_6" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_8" ; -"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_7" [label="7: Prune (false branch) \n PRUNE(!n$1, false); [line 25, column 7]\n " shape="invhouse"] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_7" [label="7: Prune (false branch, if) \n PRUNE(!n$1, false); [line 25, column 7]\n " shape="invhouse"] "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_7" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot b/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot index 2ce54c18f..5ad728f79 100644 --- a/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot @@ -20,11 +20,11 @@ digraph cfg { "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_5" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_6" ; "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_5" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_7" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_6" [label="6: Prune (true branch) \n PRUNE((n$0 == 0), true); [line 25, column 7]\n " shape="invhouse"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 0), true); [line 25, column 7]\n " shape="invhouse"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_6" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_8" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 == 0), false); [line 25, column 7]\n " shape="invhouse"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 0), false); [line 25, column 7]\n " shape="invhouse"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_7" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_3" ; @@ -41,11 +41,11 @@ digraph cfg { "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_10" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_11" ; "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_10" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_12" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_11" [label="11: Prune (true branch) \n PRUNE((n$2 == 0), true); [line 21, column 7]\n " shape="invhouse"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_11" [label="11: Prune (true branch, if) \n PRUNE((n$2 == 0), true); [line 21, column 7]\n " shape="invhouse"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_11" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_13" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_12" [label="12: Prune (false branch) \n PRUNE(!(n$2 == 0), false); [line 21, column 7]\n " shape="invhouse"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$2 == 0), false); [line 21, column 7]\n " shape="invhouse"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_12" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_9" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot index 47a2f2cca..a028e345c 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot @@ -67,11 +67,11 @@ digraph cfg { "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" ; "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_5" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" [label="6: Prune (true branch) \n PRUNE((sizeof(t=A) != n$15), true); [line 95, column 7]\n " shape="invhouse"] +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" [label="6: Prune (true branch, if) \n PRUNE((sizeof(t=A) != n$15), true); [line 95, column 7]\n " shape="invhouse"] "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_6" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_8" ; -"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" [label="7: Prune (false branch) \n PRUNE(!(sizeof(t=A) != n$15), false); [line 95, column 7]\n " shape="invhouse"] +"used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" [label="7: Prune (false branch, if) \n PRUNE(!(sizeof(t=A) != n$15), false); [line 95, column 7]\n " shape="invhouse"] "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_7" -> "used_in_binary_op:#A#class.9f855a338b344f4b5060d2d4a2a955ed_9" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot index 52526abc8..3937022ca 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot @@ -15,11 +15,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch) \n n$0=*&o:AClass* [line 42, column 7]\n PRUNE(n$0, true); [line 42, column 7]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, if) \n n$0=*&o:AClass* [line 42, column 7]\n PRUNE(n$0, true); [line 42, column 7]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch) \n n$0=*&o:AClass* [line 42, column 7]\n PRUNE(!n$0, false); [line 42, column 7]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, if) \n n$0=*&o:AClass* [line 42, column 7]\n PRUNE(!n$0, false); [line 42, column 7]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot index 2b65c889a..867fedbb8 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot @@ -31,11 +31,11 @@ digraph cfg { "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" ; "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" [label="6: Prune (true branch) \n PRUNE((n$0 == 8), true); [line 25, column 7]\n " shape="invhouse"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 8), true); [line 25, column 7]\n " shape="invhouse"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 == 8), false); [line 25, column 7]\n " shape="invhouse"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 8), false); [line 25, column 7]\n " shape="invhouse"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot index 1eba13143..a95793e92 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot @@ -16,11 +16,11 @@ digraph cfg { "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_4" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_2" ; -"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_5" [label="5: Prune (true branch) \n n$1=*&ShouldStop:int [line 26, column 9]\n PRUNE(n$1, true); [line 26, column 9]\n " shape="invhouse"] +"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_5" [label="5: Prune (true branch, if) \n n$1=*&ShouldStop:int [line 26, column 9]\n PRUNE(n$1, true); [line 26, column 9]\n " shape="invhouse"] "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_5" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_7" ; -"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_6" [label="6: Prune (false branch) \n n$1=*&ShouldStop:int [line 26, column 9]\n PRUNE(!n$1, false); [line 26, column 9]\n " shape="invhouse"] +"objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_6" [label="6: Prune (false branch, if) \n n$1=*&ShouldStop:int [line 26, column 9]\n PRUNE(!n$1, false); [line 26, column 9]\n " shape="invhouse"] "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_6" -> "objc_blockMyBlock_array_1.876ea7470c254ef92f8b4921d5f810e1_3" ; @@ -44,11 +44,11 @@ digraph cfg { "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_4" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_2" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_5" [label="5: Prune (true branch) \n n$21=*&ShouldStop:int [line 44, column 13]\n PRUNE(n$21, true); [line 44, column 13]\n " shape="invhouse"] +"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_5" [label="5: Prune (true branch, if) \n n$21=*&ShouldStop:int [line 44, column 13]\n PRUNE(n$21, true); [line 44, column 13]\n " shape="invhouse"] "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_5" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_7" ; -"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_6" [label="6: Prune (false branch) \n n$21=*&ShouldStop:int [line 44, column 13]\n PRUNE(!n$21, false); [line 44, column 13]\n " shape="invhouse"] +"objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_6" [label="6: Prune (false branch, if) \n n$21=*&ShouldStop:int [line 44, column 13]\n PRUNE(!n$21, false); [line 44, column 13]\n " shape="invhouse"] "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_6" -> "objc_blockMyBlock_array_trans_2.5153520a659dce1fe6582bd44cf47e84_3" ; @@ -99,11 +99,11 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" ; "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" [label="8: Prune (true branch) \n PRUNE((n$7 < n$9), true); [line 51, column 28]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$7 < n$9), true); [line 51, column 28]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" [label="9: Prune (false branch) \n PRUNE(!(n$7 < n$9), false); [line 51, column 28]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$7 < n$9), false); [line 51, column 28]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" ; @@ -116,11 +116,11 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" ; "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" [label="12: Prune (true branch) \n PRUNE((n$11 == 1), true); [line 55, column 9]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" [label="12: Prune (true branch, if) \n PRUNE((n$11 == 1), true); [line 55, column 9]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" [label="13: Prune (false branch) \n PRUNE(!(n$11 == 1), false); [line 55, column 9]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$11 == 1), false); [line 55, column 9]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_10" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot index b96e0e78f..d064512a9 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_no_args.m.dot @@ -20,11 +20,11 @@ digraph cfg { "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_5" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_6" ; "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_5" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_7" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_6" [label="6: Prune (true branch) \n PRUNE((n$0 == 6), true); [line 30, column 7]\n " shape="invhouse"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 6), true); [line 30, column 7]\n " shape="invhouse"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_6" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_8" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 == 6), false); [line 30, column 7]\n " shape="invhouse"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 6), false); [line 30, column 7]\n " shape="invhouse"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_7" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_9" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot index 61162a9ff..545e984af 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot @@ -15,11 +15,11 @@ digraph cfg { "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" [label="5: Prune (true branch) \n n$1=*&context:CGContext* [line 30, column 7]\n PRUNE(n$1, true); [line 30, column 7]\n " shape="invhouse"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" [label="5: Prune (true branch, if) \n n$1=*&context:CGContext* [line 30, column 7]\n PRUNE(n$1, true); [line 30, column 7]\n " shape="invhouse"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" [label="6: Prune (false branch) \n n$1=*&context:CGContext* [line 30, column 7]\n PRUNE(!n$1, false); [line 30, column 7]\n " shape="invhouse"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" [label="6: Prune (false branch, if) \n n$1=*&context:CGContext* [line 30, column 7]\n PRUNE(!n$1, false); [line 30, column 7]\n " shape="invhouse"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" ; @@ -64,11 +64,11 @@ digraph cfg { "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_4" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_2" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_5" [label="5: Prune (true branch) \n n$6=*&newImage:CGImage* [line 26, column 9]\n PRUNE(n$6, true); [line 26, column 9]\n " shape="invhouse"] +"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_5" [label="5: Prune (true branch, if) \n n$6=*&newImage:CGImage* [line 26, column 9]\n PRUNE(n$6, true); [line 26, column 9]\n " shape="invhouse"] "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_5" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_7" ; -"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_6" [label="6: Prune (false branch) \n n$6=*&newImage:CGImage* [line 26, column 9]\n PRUNE(!n$6, false); [line 26, column 9]\n " shape="invhouse"] +"objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_6" [label="6: Prune (false branch, if) \n n$6=*&newImage:CGImage* [line 26, column 9]\n PRUNE(!n$6, false); [line 26, column 9]\n " shape="invhouse"] "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_6" -> "objc_blockMy_manager_blockReleaseNoLeak_1.a1f2f2c370e78fee994cf9a9d53a7210_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot index 2b6323104..0e672e846 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot @@ -178,11 +178,11 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" ; "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" [label="6: Prune (true branch) \n PRUNE((n$0 == null), true); [line 87, column 7]\n " shape="invhouse"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == null), true); [line 87, column 7]\n " shape="invhouse"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" [label="7: Prune (false branch) \n PRUNE(!(n$0 == null), false); [line 87, column 7]\n " shape="invhouse"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == null), false); [line 87, column 7]\n " shape="invhouse"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" ; diff --git a/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot b/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot index 0d8442c66..d9dc5a1e7 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot @@ -15,11 +15,11 @@ digraph cfg { "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_4" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_3" ; -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_5" [label="5: Prune (true branch) \n PRUNE(n$0, true); [line 19, column 7]\n " shape="invhouse"] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_5" [label="5: Prune (true branch, if) \n PRUNE(n$0, true); [line 19, column 7]\n " shape="invhouse"] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_5" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_7" ; -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_6" [label="6: Prune (false branch) \n PRUNE(!n$0, false); [line 19, column 7]\n " shape="invhouse"] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_6" [label="6: Prune (false branch, if) \n PRUNE(!n$0, false); [line 19, column 7]\n " shape="invhouse"] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_6" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot index 86d236e28..c3c677170 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot @@ -49,11 +49,11 @@ digraph cfg { "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" [label="5: Prune (true branch) \n n$2=*&other:PropertyA* [line 32, column 7]\n PRUNE(n$2, true); [line 32, column 7]\n " shape="invhouse"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" [label="5: Prune (true branch, if) \n n$2=*&other:PropertyA* [line 32, column 7]\n PRUNE(n$2, true); [line 32, column 7]\n " shape="invhouse"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" [label="6: Prune (false branch) \n n$2=*&other:PropertyA* [line 32, column 7]\n PRUNE(!n$2, false); [line 32, column 7]\n " shape="invhouse"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" [label="6: Prune (false branch, if) \n n$2=*&other:PropertyA* [line 32, column 7]\n PRUNE(!n$2, false); [line 32, column 7]\n " shape="invhouse"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" ;