diff --git a/infer/src/clang/cTrans.ml b/infer/src/clang/cTrans.ml index 6db70902c..01870c10b 100644 --- a/infer/src/clang/cTrans.ml +++ b/infer/src/clang/cTrans.ml @@ -335,13 +335,6 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s let call_instr = Sil.Call (ret_id', function_sil, params, sil_loc, call_flags) in {empty_res_trans with instrs= [call_instr]; exps= ret_exps; initd_exps} - let breakStmt_trans trans_state = - match trans_state.continuation with - | Some bn - -> {empty_res_trans with root_nodes= bn.break} - | _ - -> assert false - let continueStmt_trans trans_state = match trans_state.continuation with | Some bn @@ -2923,6 +2916,16 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s | _ -> assert false + and breakStmt_trans trans_state stmt_info = + match trans_state.continuation with + | Some bn + -> let trans_state' = {trans_state with succ_nodes= bn.break} in + let destr_trans_result = inject_destructors trans_state' stmt_info in + if destr_trans_result.root_nodes <> [] then destr_trans_result + else {empty_res_trans with root_nodes= bn.break} + | _ + -> assert false + (* Expect that this doesn't happen *) and trans_into_undefined_expr trans_state expr_info = let tenv = trans_state.context.CContext.tenv in @@ -3075,8 +3078,8 @@ module CTrans_funct (F : CModule_type.CFrontend) : CModule_type.CTranslation = s -> objCDictionaryLiteral_trans trans_state info stmt_info stmts | ObjCStringLiteral (stmt_info, stmts, info) -> objCStringLiteral_trans trans_state stmt_info stmts info - | BreakStmt _ - -> breakStmt_trans trans_state + | BreakStmt (stmt_info, _) + -> breakStmt_trans trans_state stmt_info | ContinueStmt _ -> continueStmt_trans trans_state | ObjCAtSynchronizedStmt (_, stmt_list) diff --git a/infer/src/clang/cTrans_utils.ml b/infer/src/clang/cTrans_utils.ml index 2ad0784d9..5fd2d787d 100644 --- a/infer/src/clang/cTrans_utils.ml +++ b/infer/src/clang/cTrans_utils.ml @@ -300,8 +300,10 @@ module Scope = struct let ptr = stmt_info.Clang_ast_t.si_pointer in StmtMap.add var_map ~key:ptr ~data:vars - let rec compute_vars vars_in_scope var_map stmt = + let rec compute_vars vars_in_scope break_count var_map stmt = (* vars_in_scope corresponds to the list of all variables existing in the current scope *) + (* break_count saves the number of variables in the current scope when entering the most recent loop *) + (* there is an assumption that break can only be used in iteration statements *) let open Clang_ast_t in let get_var_info_from_decl = function VarDecl _ as decl -> Some decl | _ -> None in let get_new_vars = function @@ -310,31 +312,44 @@ module Scope = struct | _ -> [] in - let rec handle_instructions_block var_map vars_in_scope instrs = + let rec handle_instructions_block var_map vars_in_scope break_count instrs = match instrs with | [] -> (vars_in_scope, var_map) | stmt :: rest - -> let new_var_map = compute_vars vars_in_scope var_map stmt in + -> let new_var_map = compute_vars vars_in_scope break_count var_map stmt in let new_vars_in_stmt = get_new_vars stmt in - handle_instructions_block new_var_map (new_vars_in_stmt @ vars_in_scope) rest + handle_instructions_block new_var_map (new_vars_in_stmt @ vars_in_scope) break_count rest in (* TODO handle following stmts: *) - (* BreakStmt _ | ContinueStmt _ | GotoStmt _ | ForStmt _ | WhileStmt _ | - DoStmt _ | IfStmt _ | SwitchStmt _ | CXXForRangeStmt _ | LabelStmt_ *) + (* ContinueStmt _ | GotoStmt _ | | LabelStmt_ *) match stmt with | CompoundStmt (stmt_info, stmt_list) - -> let vars, new_var_map = handle_instructions_block var_map vars_in_scope stmt_list in + -> let vars, new_var_map = + handle_instructions_block var_map vars_in_scope break_count stmt_list + in (* vars contains the variables defined in the current compound statement + vars_in_scope *) let vars_to_destroy = List.take vars (List.length vars - List.length vars_in_scope) in add_scope_vars_to_destroy new_var_map stmt_info vars_to_destroy | ReturnStmt (stmt_info, _) -> add_scope_vars_to_destroy var_map stmt_info vars_in_scope + | BreakStmt (stmt_info, _) + -> let vars_to_destroy = List.take vars_in_scope (List.length vars_in_scope - break_count) in + add_scope_vars_to_destroy var_map stmt_info vars_to_destroy + | WhileStmt (_, stmt_list) + | DoStmt (_, stmt_list) + | SwitchStmt (_, stmt_list) + (* TODO handle variable declarations inside for / foreach *) + | ForStmt (_, stmt_list) + | CXXForRangeStmt (_, stmt_list) + -> let break_count = List.length vars_in_scope in + List.fold_left ~f:(compute_vars vars_in_scope break_count) stmt_list ~init:var_map | _ -> let stmt_list = snd (Clang_ast_proj.get_stmt_tuple stmt) in - List.fold_left ~f:(compute_vars vars_in_scope) stmt_list ~init:var_map + List.fold_left ~f:(compute_vars vars_in_scope break_count) stmt_list ~init:var_map - let compute_vars_to_destroy body = List.fold_left ~f:(compute_vars []) ~init:StmtMap.empty [body] + let compute_vars_to_destroy body = + List.fold_left ~f:(compute_vars [] 0) ~init:StmtMap.empty [body] end (** This function handles ObjC new/alloc and C++ new calls *) diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp new file mode 100644 index 000000000..23a64d1fe --- /dev/null +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2017 - present Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ +namespace break_scope { + +struct X { + ~X() {} +}; + +struct vec; + +// iterator +struct iterator { + int position; + const vec* vector; + + iterator(const vec* v, int pos) : position(pos), vector(v) {} + + iterator operator++() { + position++; + return *this; + } + + bool operator!=(const iterator& i2) { return position != i2.position; } + + X operator*() const; +}; + +struct vec { + vec() {} + iterator begin() { return iterator(this, 0); } + iterator end() { return iterator(this, 10); } + + X get(int pos) const { return _data[pos]; } + + X _data[10]; +}; + +X iterator::operator*() const { return vector->get(position); } + +void test_for_range(bool b) { + vec vector; + X x1; + for (X x : vector) { + if (b) { + X x2 = x; + break; + } + } +} + +void test_for(bool b) { + vec vector; + for (iterator it = vector.begin(); it != vector.end(); ++it) { + if (b) { + X x1; + break; + } + } + X x2; +} + +void test_while1(bool a, bool b) { + X x1; + while (a) { + if (b) { + X x2; + break; + } else { + X x4; + } + } +} + +void test_do_while(bool a, bool b) { + X x1; + do { + X x2; + if (b) { + X x3; + break; + } else { + X x4; + } + } while (a); +} + +void test_while2(bool a, bool b) { + X x1; + while (a) { + X x2; + while (b) { + X x3; + break; + } + } +} + +void test_while3(bool a, bool b) { + X x1; + while (a) { + X x2; + while (b) { + break; + } + } + X x3; +} + +void test_switch(int n) { + X x1; + switch (n) { + case 1: { + X x2; + } + case 2: { + X x3; + break; + } + case 3: { + X x4; + } + } + X x5; +} + +} // namespace break_scope diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot new file mode 100644 index 000000000..cd2fc45d0 --- /dev/null +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot @@ -0,0 +1,654 @@ +/* @generated */ +digraph iCFG { +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_1" [label="1: Start break_scope::test_while1\nFormals: a:_Bool b:_Bool\nLocals: x2:break_scope::X x4:break_scope::X x1:break_scope::X \n DECLARE_LOCALS(&return,&x2,&x4,&x1); [line 68]\n " color=yellow style=filled] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_1" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_15" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_2" [label="2: Exit break_scope::test_while1 \n " color=yellow style=filled] + + +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 78]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 78]\n " shape="box"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_3" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_2" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_4" [label="4: + \n " ] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_4" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_5" ; + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_4" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_6" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 70]\n PRUNE((n$1 != 0), true); [line 70]\n " shape="invhouse"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_5" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_8" ; + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_5" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_9" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 70]\n PRUNE((n$1 == 0), false); [line 70]\n " shape="invhouse"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_6" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_3" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_7" [label="7: + \n " ] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_7" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_4" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_8" [label="8: Prune (true branch) \n n$2=*&b:_Bool [line 71]\n PRUNE((n$2 != 0), true); [line 71]\n " shape="invhouse"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_8" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_12" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_9" [label="9: Prune (false branch) \n n$2=*&b:_Bool [line 71]\n PRUNE((n$2 == 0), false); [line 71]\n " shape="invhouse"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_9" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_14" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_10" [label="10: Destruction \n _=*&x2:break_scope::X [line 74]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 74]\n " shape="box"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_10" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_7" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_11" [label="11: Destruction \n _=*&x2:break_scope::X [line 73]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 73]\n " shape="box"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_11" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_3" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_12" [label="12: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 72]\n " shape="box"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_12" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_11" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_13" [label="13: Destruction \n _=*&x4:break_scope::X [line 76]\n _fun_break_scope::X_~X(&x4:break_scope::X*) [line 76]\n " shape="box"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_13" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_7" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_14" [label="14: DeclStmt \n _fun_break_scope::X_X(&x4:break_scope::X*) [line 75]\n " shape="box"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_14" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_13" ; +"test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_15" [label="15: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 69]\n " shape="box"] + + + "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_15" -> "test_while1#break_scope#_ZN11break_scope11test_while1Ebb.87234e85e70cb0cc1aa3913b17181871_4" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_1" [label="1: Start break_scope::test_do_while\nFormals: a:_Bool b:_Bool\nLocals: x3:break_scope::X x4:break_scope::X x2:break_scope::X x1:break_scope::X \n DECLARE_LOCALS(&return,&x3,&x4,&x2,&x1); [line 80]\n " color=yellow style=filled] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_1" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_17" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_2" [label="2: Exit break_scope::test_do_while \n " color=yellow style=filled] + + +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 91]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 91]\n " shape="box"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_3" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_2" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_4" [label="4: + \n " ] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_4" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_16" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 90]\n PRUNE((n$1 != 0), true); [line 90]\n " shape="invhouse"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_5" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_4" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 90]\n PRUNE((n$1 == 0), false); [line 90]\n " shape="invhouse"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_6" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_3" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_7" [label="7: Destruction \n _=*&x2:break_scope::X [line 90]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 90]\n " shape="box"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_7" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_5" ; + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_7" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_6" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_8" [label="8: + \n " ] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_8" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_7" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_9" [label="9: Prune (true branch) \n n$3=*&b:_Bool [line 84]\n PRUNE((n$3 != 0), true); [line 84]\n " shape="invhouse"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_9" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_13" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_10" [label="10: Prune (false branch) \n n$3=*&b:_Bool [line 84]\n PRUNE((n$3 == 0), false); [line 84]\n " shape="invhouse"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_10" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_15" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_11" [label="11: Destruction \n _=*&x3:break_scope::X [line 87]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 87]\n " shape="box"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_11" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_8" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_12" [label="12: Destruction \n _=*&x3:break_scope::X [line 86]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 86]\n _=*&x2:break_scope::X [line 86]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 86]\n " shape="box"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_12" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_3" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_13" [label="13: DeclStmt \n _fun_break_scope::X_X(&x3:break_scope::X*) [line 85]\n " shape="box"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_13" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_12" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_14" [label="14: Destruction \n _=*&x4:break_scope::X [line 89]\n _fun_break_scope::X_~X(&x4:break_scope::X*) [line 89]\n " shape="box"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_14" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_8" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_15" [label="15: DeclStmt \n _fun_break_scope::X_X(&x4:break_scope::X*) [line 88]\n " shape="box"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_15" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_14" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_16" [label="16: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 83]\n " shape="box"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_16" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_9" ; + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_16" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_10" ; +"test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_17" [label="17: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 81]\n " shape="box"] + + + "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_17" -> "test_do_while#break_scope#_ZN11break_scope13test_do_whileEbb.ac867a723153cd864495ab1a123b5fbf_4" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_1" [label="1: Start break_scope::test_while2\nFormals: a:_Bool b:_Bool\nLocals: x3:break_scope::X x2:break_scope::X x1:break_scope::X \n DECLARE_LOCALS(&return,&x3,&x2,&x1); [line 93]\n " color=yellow style=filled] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_1" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_15" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_2" [label="2: Exit break_scope::test_while2 \n " color=yellow style=filled] + + +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 102]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 102]\n " shape="box"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_3" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_2" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_4" [label="4: + \n " ] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_4" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_5" ; + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_4" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_6" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_5" [label="5: Prune (true branch) \n n$1=*&a:_Bool [line 95]\n PRUNE((n$1 != 0), true); [line 95]\n " shape="invhouse"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_5" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_14" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_6" [label="6: Prune (false branch) \n n$1=*&a:_Bool [line 95]\n PRUNE((n$1 == 0), false); [line 95]\n " shape="invhouse"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_6" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_3" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_7" [label="7: Destruction \n _=*&x2:break_scope::X [line 101]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 101]\n " shape="box"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_7" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_4" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_8" [label="8: + \n " ] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_8" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_9" ; + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_8" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_10" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_9" [label="9: Prune (true branch) \n n$3=*&b:_Bool [line 97]\n PRUNE((n$3 != 0), true); [line 97]\n " shape="invhouse"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_9" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_13" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_10" [label="10: Prune (false branch) \n n$3=*&b:_Bool [line 97]\n PRUNE((n$3 == 0), false); [line 97]\n " shape="invhouse"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_10" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_7" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_11" [label="11: Destruction \n _=*&x3:break_scope::X [line 100]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 100]\n " shape="box"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_11" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_8" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_12" [label="12: Destruction \n _=*&x3:break_scope::X [line 99]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 99]\n " shape="box"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_12" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_7" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_13" [label="13: DeclStmt \n _fun_break_scope::X_X(&x3:break_scope::X*) [line 98]\n " shape="box"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_13" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_12" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_14" [label="14: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 96]\n " shape="box"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_14" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_8" ; +"test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_15" [label="15: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 94]\n " shape="box"] + + + "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_15" -> "test_while2#break_scope#_ZN11break_scope11test_while2Ebb.93a3742c6f6f3cb77337b80b2e23fbaa_4" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_1" [label="1: Start break_scope::test_while3\nFormals: a:_Bool b:_Bool\nLocals: x3:break_scope::X x2:break_scope::X x1:break_scope::X \n DECLARE_LOCALS(&return,&x3,&x2,&x1); [line 104]\n " color=yellow style=filled] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_1" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_13" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_2" [label="2: Exit break_scope::test_while3 \n " color=yellow style=filled] + + +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_3" [label="3: Destruction \n _=*&x3:break_scope::X [line 113]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 113]\n _=*&x1:break_scope::X [line 113]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 113]\n " shape="box"] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_3" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_2" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_4" [label="4: DeclStmt \n _fun_break_scope::X_X(&x3:break_scope::X*) [line 112]\n " shape="box"] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_4" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_3" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_5" [label="5: + \n " ] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_5" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_6" ; + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_5" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_7" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_6" [label="6: Prune (true branch) \n n$2=*&a:_Bool [line 106]\n PRUNE((n$2 != 0), true); [line 106]\n " shape="invhouse"] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_6" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_12" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_7" [label="7: Prune (false branch) \n n$2=*&a:_Bool [line 106]\n PRUNE((n$2 == 0), false); [line 106]\n " shape="invhouse"] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_7" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_4" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_8" [label="8: Destruction \n _=*&x2:break_scope::X [line 111]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 111]\n " shape="box"] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_8" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_5" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_9" [label="9: + \n " ] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_9" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_10" ; + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_9" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_11" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_10" [label="10: Prune (true branch) \n n$4=*&b:_Bool [line 108]\n PRUNE((n$4 != 0), true); [line 108]\n " shape="invhouse"] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_10" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_8" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_11" [label="11: Prune (false branch) \n n$4=*&b:_Bool [line 108]\n PRUNE((n$4 == 0), false); [line 108]\n " shape="invhouse"] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_11" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_8" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_12" [label="12: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 107]\n " shape="box"] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_12" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_9" ; +"test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_13" [label="13: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 105]\n " shape="box"] + + + "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_13" -> "test_while3#break_scope#_ZN11break_scope11test_while3Ebb.816f0f6b0e9672402973ccf27843e9f2_5" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_1" [label="1: Start break_scope::test_for_range\nFormals: b:_Bool\nLocals: __end:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator __begin:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$6:break_scope::iterator 0$?%__sil_tmp__temp_return_n$11:break_scope::iterator x2:break_scope::X x:break_scope::X 0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::X __range:break_scope::vec& x1:break_scope::X vector:break_scope::vec \n DECLARE_LOCALS(&return,&__end,&0$?%__sil_tmpSIL_materialize_temp__n$2,&__begin,&0$?%__sil_tmpSIL_materialize_temp__n$6,&0$?%__sil_tmp__temp_return_n$11,&x2,&x,&0$?%__sil_tmpSIL_materialize_temp__n$16,&__range,&x1,&vector); [line 46]\n " color=yellow style=filled] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_1" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_20" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_2" [label="2: Exit break_scope::test_for_range \n " color=yellow style=filled] + + +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_3" [label="3: Destruction \n _=*&x1:break_scope::X [line 55]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 55]\n _=*&vector:break_scope::vec [line 55]\n _fun_break_scope::vec_~vec(&vector:break_scope::vec*) [line 55]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_3" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_2" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_4" [label="4: + \n " ] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_4" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_8" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_5" [label="5: DeclStmt \n n$3=*&__range:break_scope::vec& [line 49]\n _=*n$3:break_scope::vec [line 49]\n _fun_break_scope::vec_end(n$3:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator*) [line 49]\n _fun_break_scope::iterator_iterator(&__end:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator&) [line 49]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_5" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_4" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_6" [label="6: DeclStmt \n n$7=*&__range:break_scope::vec& [line 49]\n _=*n$7:break_scope::vec [line 49]\n _fun_break_scope::vec_begin(n$7:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$6:break_scope::iterator*) [line 49]\n _fun_break_scope::iterator_iterator(&__begin:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$6:break_scope::iterator&) [line 49]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_6" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_5" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_7" [label="7: Call _fun_break_scope::iterator_operator++ \n _fun_break_scope::iterator_operator++(&__begin:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$11:break_scope::iterator*) [line 49]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_7" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_4" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_8" [label="8: Call _fun_break_scope::iterator_operator!= \n n$12=_fun_break_scope::iterator_operator!=(&__begin:break_scope::iterator&,&__end:break_scope::iterator&) [line 49]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_8" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_9" ; + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_8" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_10" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_9" [label="9: Prune (true branch) \n PRUNE((n$12 != 0), true); [line 49]\n " shape="invhouse"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_9" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_17" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_10" [label="10: Prune (false branch) \n PRUNE((n$12 == 0), false); [line 49]\n " shape="invhouse"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_10" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_3" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_11" [label="11: + \n " ] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_11" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_7" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_12" [label="12: Prune (true branch) \n n$13=*&b:_Bool [line 50]\n PRUNE((n$13 != 0), true); [line 50]\n " shape="invhouse"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_12" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_16" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_13" [label="13: Prune (false branch) \n n$13=*&b:_Bool [line 50]\n PRUNE((n$13 == 0), false); [line 50]\n " shape="invhouse"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_13" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_11" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_14" [label="14: Destruction \n _=*&x2:break_scope::X [line 53]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 53]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_14" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_11" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_15" [label="15: Destruction \n _=*&x2:break_scope::X [line 52]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 52]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_15" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_3" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_16" [label="16: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*,&x:break_scope::X&) [line 51]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_16" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_15" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_17" [label="17: DeclStmt \n _fun_break_scope::iterator_operator*(&__begin:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::X*) [line 49]\n _fun_break_scope::X_X(&x:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$16:break_scope::X&) [line 49]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_17" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_12" ; + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_17" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_13" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_18" [label="18: DeclStmt \n *&__range:break_scope::vec&=&vector [line 49]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_18" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_6" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_19" [label="19: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 48]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_19" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_18" ; +"test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_20" [label="20: DeclStmt \n _fun_break_scope::vec_vec(&vector:break_scope::vec*) [line 47]\n " shape="box"] + + + "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_20" -> "test_for_range#break_scope#_ZN11break_scope14test_for_rangeEb.a82df87d502190ce4b0145f61f38178e_19" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_1" [label="1: Start break_scope::test_for\nFormals: b:_Bool\nLocals: x2:break_scope::X it:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator 0$?%__sil_tmp__temp_return_n$6:break_scope::iterator 0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator x1:break_scope::X vector:break_scope::vec \n DECLARE_LOCALS(&return,&x2,&it,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmp__temp_return_n$6,&0$?%__sil_tmpSIL_materialize_temp__n$7,&x1,&vector); [line 57]\n " color=yellow style=filled] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_1" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_17" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_2" [label="2: Exit break_scope::test_for \n " color=yellow style=filled] + + +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_3" [label="3: Destruction \n _=*&x2:break_scope::X [line 66]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 66]\n _=*&vector:break_scope::vec [line 66]\n _fun_break_scope::vec_~vec(&vector:break_scope::vec*) [line 66]\n " shape="box"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_3" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_2" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_4" [label="4: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 65]\n " shape="box"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_4" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_3" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_5" [label="5: + \n " ] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_5" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_8" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_6" [label="6: DeclStmt \n _=*&vector:break_scope::vec [line 59]\n _fun_break_scope::vec_begin(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator*) [line 59]\n _fun_break_scope::iterator_iterator(&it:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$2:break_scope::iterator&) [line 59]\n " shape="box"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_6" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_5" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_7" [label="7: Call _fun_break_scope::iterator_operator++ \n _fun_break_scope::iterator_operator++(&it:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$6:break_scope::iterator*) [line 59]\n " shape="box"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_7" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_5" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_8" [label="8: Call _fun_break_scope::iterator_operator!= \n _=*&vector:break_scope::vec [line 59]\n _fun_break_scope::vec_end(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator*) [line 59]\n n$10=_fun_break_scope::iterator_operator!=(&it:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$7:break_scope::iterator&) [line 59]\n " shape="box"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_8" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_9" ; + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_8" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_10" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_9" [label="9: Prune (true branch) \n PRUNE((n$10 != 0), true); [line 59]\n " shape="invhouse"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_9" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_12" ; + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_9" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_13" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_10" [label="10: Prune (false branch) \n PRUNE((n$10 == 0), false); [line 59]\n " shape="invhouse"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_10" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_4" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_11" [label="11: + \n " ] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_11" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_7" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_12" [label="12: Prune (true branch) \n n$11=*&b:_Bool [line 60]\n PRUNE((n$11 != 0), true); [line 60]\n " shape="invhouse"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_12" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_16" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_13" [label="13: Prune (false branch) \n n$11=*&b:_Bool [line 60]\n PRUNE((n$11 == 0), false); [line 60]\n " shape="invhouse"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_13" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_11" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_14" [label="14: Destruction \n _=*&x1:break_scope::X [line 63]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 63]\n " shape="box"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_14" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_11" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_15" [label="15: Destruction \n _=*&x1:break_scope::X [line 62]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 62]\n " shape="box"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_15" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_4" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_16" [label="16: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 61]\n " shape="box"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_16" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_15" ; +"test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_17" [label="17: DeclStmt \n _fun_break_scope::vec_vec(&vector:break_scope::vec*) [line 58]\n " shape="box"] + + + "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_17" -> "test_for#break_scope#_ZN11break_scope8test_forEb.48a8fc76815c8ffdf17a13ca35665eab_6" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_1" [label="1: Start break_scope::test_switch\nFormals: n:int\nLocals: x5:break_scope::X x4:break_scope::X x3:break_scope::X x2:break_scope::X x1:break_scope::X \n DECLARE_LOCALS(&return,&x5,&x4,&x3,&x2,&x1); [line 115]\n " color=yellow style=filled] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_1" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_19" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_2" [label="2: Exit break_scope::test_switch \n " color=yellow style=filled] + + +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_3" [label="3: Destruction \n _=*&x5:break_scope::X [line 130]\n _fun_break_scope::X_~X(&x5:break_scope::X*) [line 130]\n _=*&x1:break_scope::X [line 130]\n _fun_break_scope::X_~X(&x1:break_scope::X*) [line 130]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_3" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_2" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_4" [label="4: DeclStmt \n _fun_break_scope::X_X(&x5:break_scope::X*) [line 129]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_4" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_3" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_5" [label="5: Switch_stmt \n n$2=*&n:int [line 117]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_5" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_17" ; + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_5" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_18" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_6" [label="6: Destruction \n _=*&x4:break_scope::X [line 127]\n _fun_break_scope::X_~X(&x4:break_scope::X*) [line 127]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_6" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_4" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_7" [label="7: DeclStmt \n _fun_break_scope::X_X(&x4:break_scope::X*) [line 126]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_7" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_6" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_8" [label="8: Prune (true branch) \n PRUNE(((n$2 == 3) != 0), true); [line 125]\n " shape="invhouse"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_8" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_7" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_9" [label="9: Prune (false branch) \n PRUNE(((n$2 == 3) == 0), false); [line 125]\n " shape="invhouse"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_9" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_4" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_10" [label="10: Destruction \n _=*&x3:break_scope::X [line 124]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 124]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_10" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_7" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_11" [label="11: Destruction \n _=*&x3:break_scope::X [line 123]\n _fun_break_scope::X_~X(&x3:break_scope::X*) [line 123]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_11" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_4" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_12" [label="12: DeclStmt \n _fun_break_scope::X_X(&x3:break_scope::X*) [line 122]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_12" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_11" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_13" [label="13: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 121]\n " shape="invhouse"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_13" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_12" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_14" [label="14: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 121]\n " shape="invhouse"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_14" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_8" ; + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_14" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_9" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_15" [label="15: Destruction \n _=*&x2:break_scope::X [line 120]\n _fun_break_scope::X_~X(&x2:break_scope::X*) [line 120]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_15" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_12" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_16" [label="16: DeclStmt \n _fun_break_scope::X_X(&x2:break_scope::X*) [line 119]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_16" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_15" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_17" [label="17: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 118]\n " shape="invhouse"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_17" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_16" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_18" [label="18: Prune (false branch) \n PRUNE(((n$2 == 1) == 0), false); [line 118]\n " shape="invhouse"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_18" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_13" ; + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_18" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_14" ; +"test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_19" [label="19: DeclStmt \n _fun_break_scope::X_X(&x1:break_scope::X*) [line 116]\n " shape="box"] + + + "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_19" -> "test_switch#break_scope#_ZN11break_scope11test_switchEi.ba6acc7c74c8feaa80e2cb25d3074678_5" ; +"X#X#break_scope#{_ZN11break_scope1XC1Ev|constexpr}.c40e3536eb37af840612f198a520182a_1" [label="1: Start break_scope::X_X\nFormals: this:break_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled] + + + "X#X#break_scope#{_ZN11break_scope1XC1Ev|constexpr}.c40e3536eb37af840612f198a520182a_1" -> "X#X#break_scope#{_ZN11break_scope1XC1Ev|constexpr}.c40e3536eb37af840612f198a520182a_2" ; +"X#X#break_scope#{_ZN11break_scope1XC1Ev|constexpr}.c40e3536eb37af840612f198a520182a_2" [label="2: Exit break_scope::X_X \n " color=yellow style=filled] + + +"~X#X#break_scope#(_ZN11break_scope1XD0Ev).c4abbf50a9425a7490a5d9414ad324ac_1" [label="1: Start break_scope::X_~X\nFormals: this:break_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled] + + + "~X#X#break_scope#(_ZN11break_scope1XD0Ev).c4abbf50a9425a7490a5d9414ad324ac_1" -> "~X#X#break_scope#(_ZN11break_scope1XD0Ev).c4abbf50a9425a7490a5d9414ad324ac_2" ; +"~X#X#break_scope#(_ZN11break_scope1XD0Ev).c4abbf50a9425a7490a5d9414ad324ac_2" [label="2: Exit break_scope::X_~X \n " color=yellow style=filled] + + +"X#X#break_scope#{_ZN11break_scope1XC1ERKS0_|constexpr}.ac741cc117694680a0db71143e20b138_1" [label="1: Start break_scope::X_X\nFormals: this:break_scope::X* __param_0:break_scope::X const &\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled] + + + "X#X#break_scope#{_ZN11break_scope1XC1ERKS0_|constexpr}.ac741cc117694680a0db71143e20b138_1" -> "X#X#break_scope#{_ZN11break_scope1XC1ERKS0_|constexpr}.ac741cc117694680a0db71143e20b138_2" ; +"X#X#break_scope#{_ZN11break_scope1XC1ERKS0_|constexpr}.ac741cc117694680a0db71143e20b138_2" [label="2: Exit break_scope::X_X \n " color=yellow style=filled] + + +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_1" [label="1: Start break_scope::iterator_iterator\nFormals: this:break_scope::iterator* __param_0:break_scope::iterator&\nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled] + + + "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_1" -> "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_4" ; +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_2" [label="2: Exit break_scope::iterator_iterator \n " color=yellow style=filled] + + +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_3" [label="3: Constructor Init \n n$0=*&this:break_scope::iterator* [line 18]\n n$1=*&__param_0:break_scope::iterator& [line 18]\n n$2=*n$1.vector:break_scope::vec const * [line 18]\n *n$0.vector:break_scope::vec const *=n$2 [line 18]\n " shape="box"] + + + "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_3" -> "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_2" ; +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_4" [label="4: Constructor Init \n n$3=*&this:break_scope::iterator* [line 18]\n n$4=*&__param_0:break_scope::iterator& [line 18]\n n$5=*n$4.position:int [line 18]\n *n$3.position:int=n$5 [line 18]\n " shape="box"] + + + "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_4" -> "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EOS0_|constexpr}.2f52ae14dd1c943ad18ad0b9f076ed2f_3" ; +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_1" [label="1: Start break_scope::iterator_iterator\nFormals: this:break_scope::iterator* __param_0:break_scope::iterator const &\nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled] + + + "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_1" -> "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_4" ; +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_2" [label="2: Exit break_scope::iterator_iterator \n " color=yellow style=filled] + + +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_3" [label="3: Constructor Init \n n$0=*&this:break_scope::iterator* [line 18]\n n$1=*&__param_0:break_scope::iterator const & [line 18]\n n$2=*n$1.vector:break_scope::vec const * [line 18]\n *n$0.vector:break_scope::vec const *=n$2 [line 18]\n " shape="box"] + + + "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_3" -> "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_2" ; +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_4" [label="4: Constructor Init \n n$3=*&this:break_scope::iterator* [line 18]\n n$4=*&__param_0:break_scope::iterator const & [line 18]\n n$5=*n$4.position:int [line 18]\n *n$3.position:int=n$5 [line 18]\n " shape="box"] + + + "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_4" -> "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1ERKS0_|constexpr}.ce4c19d3d6f0f3b95cd86a91ec6ed3fc_3" ; +"operator*#iterator#break_scope#(_ZNK11break_scope8iteratordeEv).63f86082e1486428f2091f677107c2cd_1" [label="1: Start break_scope::iterator_operator*\nFormals: this:break_scope::iterator* __return_param:break_scope::X*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 44]\n " color=yellow style=filled] + + + "operator*#iterator#break_scope#(_ZNK11break_scope8iteratordeEv).63f86082e1486428f2091f677107c2cd_1" -> "operator*#iterator#break_scope#(_ZNK11break_scope8iteratordeEv).63f86082e1486428f2091f677107c2cd_3" ; +"operator*#iterator#break_scope#(_ZNK11break_scope8iteratordeEv).63f86082e1486428f2091f677107c2cd_2" [label="2: Exit break_scope::iterator_operator* \n " color=yellow style=filled] + + +"operator*#iterator#break_scope#(_ZNK11break_scope8iteratordeEv).63f86082e1486428f2091f677107c2cd_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 44]\n n$2=*&this:break_scope::iterator const * [line 44]\n n$3=*n$2.vector:break_scope::vec const * [line 44]\n _=*n$3:break_scope::vec const [line 44]\n n$5=*&this:break_scope::iterator const * [line 44]\n n$6=*n$5.position:int [line 44]\n _fun_break_scope::vec_get(n$3:break_scope::vec const *,n$6:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X*) [line 44]\n _fun_break_scope::X_X(n$0:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X&) [line 44]\n " shape="box"] + + + "operator*#iterator#break_scope#(_ZNK11break_scope8iteratordeEv).63f86082e1486428f2091f677107c2cd_3" -> "operator*#iterator#break_scope#(_ZNK11break_scope8iteratordeEv).63f86082e1486428f2091f677107c2cd_2" ; +"operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_1" [label="1: Start break_scope::iterator_operator++\nFormals: this:break_scope::iterator* __return_param:break_scope::iterator*\nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled] + + + "operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_1" -> "operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_4" ; +"operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_2" [label="2: Exit break_scope::iterator_operator++ \n " color=yellow style=filled] + + +"operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 26]\n n$1=*&this:break_scope::iterator* [line 26]\n _fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,n$1:break_scope::iterator&) [line 26]\n " shape="box"] + + + "operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_3" -> "operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_2" ; +"operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_4" [label="4: UnaryOperator \n n$2=*&this:break_scope::iterator* [line 25]\n n$3=*n$2.position:int [line 25]\n *n$2.position:int=(n$3 + 1) [line 25]\n " shape="box"] + + + "operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_4" -> "operator++#iterator#break_scope#(_ZN11break_scope8iteratorppEv).46a79aad0398876fa211bce8ff8a841d_3" ; +"operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_1" [label="1: Start break_scope::iterator_operator!=\nFormals: this:break_scope::iterator* i2:break_scope::iterator const &\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 29]\n " color=yellow style=filled] + + + "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_1" -> "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_4" ; +"operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_2" [label="2: Exit break_scope::iterator_operator!= \n " color=yellow style=filled] + + +"operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_3" [label="3: + \n " ] + + + "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_3" -> "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_9" ; +"operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&this:break_scope::iterator* [line 29]\n n$2=*n$1.position:int [line 29]\n n$3=*&i2:break_scope::iterator const & [line 29]\n n$4=*n$3.position:int [line 29]\n " shape="box"] + + + "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_4" -> "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_5" ; + "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_4" -> "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_6" ; +"operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_5" [label="5: Prune (true branch) \n PRUNE(((n$2 != n$4) != 0), true); [line 29]\n " shape="invhouse"] + + + "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_5" -> "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_7" ; +"operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_6" [label="6: Prune (false branch) \n PRUNE(((n$2 != n$4) == 0), false); [line 29]\n " shape="invhouse"] + + + "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_6" -> "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_8" ; +"operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 29]\n " shape="box"] + + + "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_7" -> "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_3" ; +"operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 29]\n " shape="box"] + + + "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_8" -> "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_3" ; +"operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 29]\n *&return:_Bool=n$5 [line 29]\n " shape="box"] + + + "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_9" -> "operator!=#iterator#break_scope#(_ZN11break_scope8iteratorneERKS0_).f09ab1c2847188a3508d156b5037e2e3_2" ; +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_1" [label="1: Start break_scope::iterator_iterator\nFormals: this:break_scope::iterator* v:break_scope::vec const * pos:int\nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled] + + + "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_1" -> "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_4" ; +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_2" [label="2: Exit break_scope::iterator_iterator \n " color=yellow style=filled] + + +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_3" [label="3: Constructor Init \n n$0=*&this:break_scope::iterator* [line 22]\n n$1=*&v:break_scope::vec const * [line 22]\n *n$0.vector:break_scope::vec const *=n$1 [line 22]\n " shape="box"] + + + "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_3" -> "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_2" ; +"iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_4" [label="4: Constructor Init \n n$2=*&this:break_scope::iterator* [line 22]\n n$3=*&pos:int [line 22]\n *n$2.position:int=n$3 [line 22]\n " shape="box"] + + + "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_4" -> "iterator#iterator#break_scope#{_ZN11break_scope8iteratorC1EPKNS_3vecEi}.55d4dcb0c606f7b9276eafcdd78220a5_3" ; +"vec#vec#break_scope#{_ZN11break_scope3vecC1Ev}.cb47feb1d11066b4d5321ee0edf92827_1" [label="1: Start break_scope::vec_vec\nFormals: this:break_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 35]\n " color=yellow style=filled] + + + "vec#vec#break_scope#{_ZN11break_scope3vecC1Ev}.cb47feb1d11066b4d5321ee0edf92827_1" -> "vec#vec#break_scope#{_ZN11break_scope3vecC1Ev}.cb47feb1d11066b4d5321ee0edf92827_3" ; +"vec#vec#break_scope#{_ZN11break_scope3vecC1Ev}.cb47feb1d11066b4d5321ee0edf92827_2" [label="2: Exit break_scope::vec_vec \n " color=yellow style=filled] + + +"vec#vec#break_scope#{_ZN11break_scope3vecC1Ev}.cb47feb1d11066b4d5321ee0edf92827_3" [label="3: Constructor Init \n n$0=*&this:break_scope::vec* [line 35]\n _fun_break_scope::X_X(n$0._data:break_scope::X[10*1](*)) [line 35]\n " shape="box"] + + + "vec#vec#break_scope#{_ZN11break_scope3vecC1Ev}.cb47feb1d11066b4d5321ee0edf92827_3" -> "vec#vec#break_scope#{_ZN11break_scope3vecC1Ev}.cb47feb1d11066b4d5321ee0edf92827_2" ; +"~vec#vec#break_scope#(_ZN11break_scope3vecD0Ev).053725d75c82d883e2b287c914d73376_1" [label="1: Start break_scope::vec_~vec\nFormals: this:break_scope::vec*\nLocals: \n DECLARE_LOCALS(&return); [line 34]\n " color=yellow style=filled] + + + "~vec#vec#break_scope#(_ZN11break_scope3vecD0Ev).053725d75c82d883e2b287c914d73376_1" -> "~vec#vec#break_scope#(_ZN11break_scope3vecD0Ev).053725d75c82d883e2b287c914d73376_2" ; +"~vec#vec#break_scope#(_ZN11break_scope3vecD0Ev).053725d75c82d883e2b287c914d73376_2" [label="2: Exit break_scope::vec_~vec \n " color=yellow style=filled] + + +"begin#vec#break_scope#(_ZN11break_scope3vec5beginEv).74725bafe1f90b7d151b8912e60afd42_1" [label="1: Start break_scope::vec_begin\nFormals: this:break_scope::vec* __return_param:break_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 36]\n " color=yellow style=filled] + + + "begin#vec#break_scope#(_ZN11break_scope3vec5beginEv).74725bafe1f90b7d151b8912e60afd42_1" -> "begin#vec#break_scope#(_ZN11break_scope3vec5beginEv).74725bafe1f90b7d151b8912e60afd42_3" ; +"begin#vec#break_scope#(_ZN11break_scope3vec5beginEv).74725bafe1f90b7d151b8912e60afd42_2" [label="2: Exit break_scope::vec_begin \n " color=yellow style=filled] + + +"begin#vec#break_scope#(_ZN11break_scope3vec5beginEv).74725bafe1f90b7d151b8912e60afd42_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 36]\n n$2=*&this:break_scope::vec* [line 36]\n _fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,0:int) [line 36]\n _fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 36]\n " shape="box"] + + + "begin#vec#break_scope#(_ZN11break_scope3vec5beginEv).74725bafe1f90b7d151b8912e60afd42_3" -> "begin#vec#break_scope#(_ZN11break_scope3vec5beginEv).74725bafe1f90b7d151b8912e60afd42_2" ; +"end#vec#break_scope#(_ZN11break_scope3vec3endEv).6b3b01431838f66b355b102f485b58be_1" [label="1: Start break_scope::vec_end\nFormals: this:break_scope::vec* __return_param:break_scope::iterator*\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 37]\n " color=yellow style=filled] + + + "end#vec#break_scope#(_ZN11break_scope3vec3endEv).6b3b01431838f66b355b102f485b58be_1" -> "end#vec#break_scope#(_ZN11break_scope3vec3endEv).6b3b01431838f66b355b102f485b58be_3" ; +"end#vec#break_scope#(_ZN11break_scope3vec3endEv).6b3b01431838f66b355b102f485b58be_2" [label="2: Exit break_scope::vec_end \n " color=yellow style=filled] + + +"end#vec#break_scope#(_ZN11break_scope3vec3endEv).6b3b01431838f66b355b102f485b58be_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 37]\n n$2=*&this:break_scope::vec* [line 37]\n _fun_break_scope::iterator_iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$2:break_scope::vec*,10:int) [line 37]\n _fun_break_scope::iterator_iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 37]\n " shape="box"] + + + "end#vec#break_scope#(_ZN11break_scope3vec3endEv).6b3b01431838f66b355b102f485b58be_3" -> "end#vec#break_scope#(_ZN11break_scope3vec3endEv).6b3b01431838f66b355b102f485b58be_2" ; +"get#vec#break_scope#(_ZNK11break_scope3vec3getEi).0fc8cabc5147f8e9b56fa4c3a67226e2_1" [label="1: Start break_scope::vec_get\nFormals: this:break_scope::vec* pos:int __return_param:break_scope::X*\nLocals: \n DECLARE_LOCALS(&return); [line 39]\n " color=yellow style=filled] + + + "get#vec#break_scope#(_ZNK11break_scope3vec3getEi).0fc8cabc5147f8e9b56fa4c3a67226e2_1" -> "get#vec#break_scope#(_ZNK11break_scope3vec3getEi).0fc8cabc5147f8e9b56fa4c3a67226e2_3" ; +"get#vec#break_scope#(_ZNK11break_scope3vec3getEi).0fc8cabc5147f8e9b56fa4c3a67226e2_2" [label="2: Exit break_scope::vec_get \n " color=yellow style=filled] + + +"get#vec#break_scope#(_ZNK11break_scope3vec3getEi).0fc8cabc5147f8e9b56fa4c3a67226e2_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 39]\n n$1=*&this:break_scope::vec const * [line 39]\n n$2=*&pos:int [line 39]\n _fun_break_scope::X_X(n$0:break_scope::X*,n$1._data[n$2]:break_scope::X const &) [line 39]\n " shape="box"] + + + "get#vec#break_scope#(_ZNK11break_scope3vec3getEi).0fc8cabc5147f8e9b56fa4c3a67226e2_3" -> "get#vec#break_scope#(_ZNK11break_scope3vec3getEi).0fc8cabc5147f8e9b56fa4c3a67226e2_2" ; +}