diff --git a/infer/src/IR/DotCfg.ml b/infer/src/IR/DotCfg.ml index 31468c777..b2aee3f19 100644 --- a/infer/src/IR/DotCfg.ml +++ b/infer/src/IR/DotCfg.ml @@ -96,33 +96,26 @@ let pp_cfgnode pdesc fmt (n : Procdesc.Node.t) = List.iter ~f:(fun n' -> print_edge n n' true) (Procdesc.Node.get_exn n) -(** Print the flowgraphs in [cfg]. Nodes are printed only if (a) their location is [source] or -(b) [Config.dotty_cfg_libs] is set. This triggers preanalysis. *) -let print_icfg source fmt cfg = +let print_pdesc source fmt pdesc = let print_node pdesc node = let loc = Procdesc.Node.get_loc node in if Config.dotty_cfg_libs || SourceFile.equal loc.Location.file source then F.fprintf fmt "%a@\n" (pp_cfgnode pdesc) node in - let print_pdesc pdesc = - Procdesc.get_nodes pdesc - |> List.sort ~compare:Procdesc.Node.compare - |> List.iter ~f:(fun node -> print_node pdesc node) - in - Cfg.iter_sorted cfg ~f:(fun pdesc -> print_pdesc pdesc) + Procdesc.get_nodes pdesc + |> List.sort ~compare:Procdesc.Node.compare + |> List.iter ~f:(fun node -> print_node pdesc node) -let write_icfg_dotty_to_file source cfg fname = +let with_dot_file fname ~pp = let chan = Out_channel.create fname in let fmt = Format.formatter_of_out_channel chan in (* avoid phabricator thinking this file was generated by substituting substring with %s *) - F.fprintf fmt "@[/* %@%s */@\ndigraph cfg {@\n" "generated" ; - print_icfg source fmt cfg ; - F.fprintf fmt "}@]@." ; + F.fprintf fmt "@[/* %@%s */@\ndigraph cfg {@\n%t}@]@." "generated" pp ; Out_channel.close chan -let emit source cfg = +let emit_frontend_cfg source cfg = let fname = match Config.icfg_dotty_outfile with | Some file -> @@ -132,6 +125,18 @@ let emit source cfg = | None -> DB.filename_to_string (DB.Results_dir.path_to_filename (DB.Results_dir.Abs_source_dir source) - [Config.dotty_output]) + [Config.dotty_frontend_output]) + in + with_dot_file fname ~pp:(fun fmt -> + Cfg.iter_sorted cfg ~f:(fun pdesc -> print_pdesc source fmt pdesc) ) + + +let emit_proc_desc source proc_desc = + let filename = + let db_name = + DB.Results_dir.path_to_filename (DB.Results_dir.Abs_source_dir source) + [Typ.Procname.to_filename (Procdesc.get_proc_name proc_desc)] + in + DB.filename_to_string db_name ^ ".dot" in - write_icfg_dotty_to_file source cfg fname + with_dot_file filename ~pp:(fun fmt -> print_pdesc source fmt proc_desc) diff --git a/infer/src/IR/DotCfg.mli b/infer/src/IR/DotCfg.mli index e2febac85..06d7248a7 100644 --- a/infer/src/IR/DotCfg.mli +++ b/infer/src/IR/DotCfg.mli @@ -8,5 +8,8 @@ open! IStd -val emit : SourceFile.t -> Cfg.t -> unit +val emit_frontend_cfg : SourceFile.t -> Cfg.t -> unit (** emit the given {!Cfg.t} in the "dot" format to a file determined by {!Config} values *) + +val emit_proc_desc : SourceFile.t -> Procdesc.t -> unit +(** emit the given {!Procdesc.t} in the "dot" format to a file in infer-out/captured/ *) diff --git a/infer/src/backend/InferAnalyze.ml b/infer/src/backend/InferAnalyze.ml index 7e177ae40..d50139e71 100644 --- a/infer/src/backend/InferAnalyze.ml +++ b/infer/src/backend/InferAnalyze.ml @@ -25,7 +25,7 @@ let analyze_target : SchedulerTypes.target Tasks.doer = L.task_progress SourceFile.pp source_file ~f:(fun () -> Ondemand.analyze_file exe_env source_file ; if Topl.is_active () && Config.debug_mode then - DotCfg.emit (Topl.sourcefile ()) (Topl.cfg ()) ; + DotCfg.emit_frontend_cfg (Topl.sourcefile ()) (Topl.cfg ()) ; if Config.write_html then Printer.write_all_html_files source_file ) in (* In call-graph scheduling, log progress every [per_procedure_logging_granularity] procedures. diff --git a/infer/src/backend/ondemand.ml b/infer/src/backend/ondemand.ml index c32f420e4..96f86806a 100644 --- a/infer/src/backend/ondemand.ml +++ b/infer/src/backend/ondemand.ml @@ -175,6 +175,9 @@ let run_proc_analysis ~caller_pdesc callee_pdesc = Typ.Procname.pp callee_pname ; let preprocess () = incr nesting ; + Preanal.do_preanalysis (Option.value_exn !exe_env_ref) callee_pdesc ; + if Config.debug_mode then + DotCfg.emit_proc_desc (Procdesc.get_attributes callee_pdesc).translation_unit callee_pdesc ; let initial_callee_summary = Summary.OnDisk.reset callee_pdesc in add_active callee_pname ; initial_callee_summary in diff --git a/infer/src/backend/preanal.ml b/infer/src/backend/preanal.ml index d0cf129c3..b38cc1822 100644 --- a/infer/src/backend/preanal.ml +++ b/infer/src/backend/preanal.ml @@ -210,8 +210,9 @@ module FunctionPointerSubstitution = struct if updated then Attributes.store ~proc_desc:(Some pdesc) (Procdesc.get_attributes pdesc) end -let do_preanalysis pdesc tenv = +let do_preanalysis exe_env pdesc = let summary = Summary.OnDisk.reset pdesc in + let tenv = Exe_env.get_tenv exe_env (Procdesc.get_proc_name pdesc) in if Config.function_pointer_specialization && not (Typ.Procname.is_java (Procdesc.get_proc_name pdesc)) diff --git a/infer/src/backend/preanal.mli b/infer/src/backend/preanal.mli index dd7b06806..96650fd34 100644 --- a/infer/src/backend/preanal.mli +++ b/infer/src/backend/preanal.mli @@ -8,5 +8,5 @@ open! IStd -val do_preanalysis : Procdesc.t -> Tenv.t -> unit +val do_preanalysis : Exe_env.t -> Procdesc.t -> unit (** Various preanalysis passes for transforming the IR in useful ways *) diff --git a/infer/src/base/Config.ml b/infer/src/base/Config.ml index 111494a02..3f6490524 100644 --- a/infer/src/base/Config.ml +++ b/infer/src/base/Config.ml @@ -184,7 +184,7 @@ let default_failure_name = "ASSERTION_FAILURE" let default_in_zip_results_dir = "infer" (** Dotty output filename **) -let dotty_output = "icfg.dot" +let dotty_frontend_output = "proc_cfgs_frontend.dot" let driver_stats_dir_name = "driver_stats" diff --git a/infer/src/base/Config.mli b/infer/src/base/Config.mli index 5331e1ddf..13fddc57a 100644 --- a/infer/src/base/Config.mli +++ b/infer/src/base/Config.mli @@ -83,7 +83,7 @@ val default_failure_name : string val default_in_zip_results_dir : string -val dotty_output : string +val dotty_frontend_output : string val driver_stats_dir_name : string diff --git a/infer/src/clang/cFrontend.ml b/infer/src/clang/cFrontend.ml index 349c737bd..b2edd0b6f 100644 --- a/infer/src/clang/cFrontend.ml +++ b/infer/src/clang/cFrontend.ml @@ -52,17 +52,14 @@ let do_source_file (translation_unit_context : CFrontend_config.translation_unit let cfg = compute_icfg translation_unit_context tenv ast in L.(debug Capture Verbose) "@\n End building call/cfg graph for '%a'.@\n" SourceFile.pp source_file ; - (* This part below is a boilerplate in every frontends. *) - (* This could be moved in the cfg_infer module *) NullabilityPreanalysis.analysis cfg tenv ; - Typ.Procname.Hash.iter (fun _ pdesc -> Preanal.do_preanalysis pdesc tenv) cfg ; SourceFiles.add source_file cfg (Tenv.FileLocal tenv) (Some integer_type_widths) ; if Config.debug_mode then Tenv.store_debug_file_for_source source_file tenv ; if Config.debug_mode || Config.testing_mode || Config.frontend_tests || Option.is_some Config.icfg_dotty_outfile - then DotCfg.emit source_file cfg ; - L.(debug Capture Verbose) "Stored on disk:@[%a@]@." Cfg.pp_proc_signatures cfg ; + then DotCfg.emit_frontend_cfg source_file cfg ; + L.debug Capture Verbose "Stored on disk:@[%a@]@." Cfg.pp_proc_signatures cfg ; let procedures_translated_summary = EventLogger.ProceduresTranslatedSummary { procedures_translated_total= !CFrontend_config.procedures_attempted diff --git a/infer/src/infer.ml b/infer/src/infer.ml index cafcf4db7..4bf33f278 100644 --- a/infer/src/infer.ml +++ b/infer/src/infer.ml @@ -190,8 +190,8 @@ let () = Procdesc.load proc_name |> Option.iter ~f:(fun cfg -> Typ.Procname.Hash.add cfgs proc_name cfg) ) ; (* emit the dot file in captured/... *) - DotCfg.emit source_file cfgs ) ; - L.result "CFGs written in %s/*/%s@." Config.captured_dir Config.dotty_output ) + DotCfg.emit_frontend_cfg source_file cfgs ) ; + L.result "CFGs written in %s/*/%s@." Config.captured_dir Config.dotty_frontend_output ) | false, false -> let if_some key opt args = match opt with None -> args | Some arg -> key :: string_of_int arg :: args diff --git a/infer/src/java/jMain.ml b/infer/src/java/jMain.ml index 1042da62f..641d9915b 100644 --- a/infer/src/java/jMain.ml +++ b/infer/src/java/jMain.ml @@ -19,10 +19,9 @@ let init_global_state source_file = JContext.reset_exn_node_table () -let store_icfg tenv source_file cfg = - Typ.Procname.Hash.iter (fun _ pdesc -> Preanal.do_preanalysis pdesc tenv) cfg ; +let store_icfg source_file cfg = SourceFiles.add source_file cfg Tenv.Global None ; - if Config.debug_mode || Config.frontend_tests then DotCfg.emit source_file cfg ; + if Config.debug_mode || Config.frontend_tests then DotCfg.emit_frontend_cfg source_file cfg ; () @@ -35,7 +34,7 @@ let do_source_file linereader classes program tenv source_basename package_opt s JFrontend.compute_source_icfg linereader classes program tenv source_basename package_opt source_file in - store_icfg tenv source_file cfg + store_icfg source_file cfg let capture_libs linereader program tenv = @@ -49,8 +48,7 @@ let capture_libs linereader program tenv = let fake_source_file = SourceFile.from_abs_path (JFrontend.path_of_cached_classname cn) in init_global_state fake_source_file ; let cfg = JFrontend.compute_class_icfg fake_source_file linereader program tenv node in - store_icfg tenv fake_source_file cfg ; - JFrontend.cache_classname cn + store_icfg fake_source_file cfg ; JFrontend.cache_classname cn in JBasics.ClassMap.iter (capture_class tenv) (JClasspath.get_classmap program) diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot index 28ebbd104..905d83ebc 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" [label="2: Exit internal::fun \n " color=yellow style=filled] -"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n NULLIFY(&a); [line 10, column 18]\n EXIT_SCOPE(n$0,a); [line 10, column 18]\n APPLY_ABSTRACTION; [line 10, column 18]\n " shape="box"] +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n " shape="box"] "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; @@ -15,30 +15,30 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&x); [line 22, column 1]\n NULLIFY(&s); [line 22, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction(Scope) \n _=*&s:std::basic_string,std::allocator> [line 22, column 1]\n n$1=_fun_std::basic_string,std::allocator>::~basic_string(&s:std::basic_string,std::allocator>*) injected [line 22, column 1]\n _=*&x:std::shared_ptr [line 22, column 1]\n n$3=_fun_std::shared_ptr::~shared_ptr(&x:std::shared_ptr*) injected [line 22, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,s,x); [line 22, column 1]\n APPLY_ABSTRACTION; [line 22, column 1]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction(Scope) \n _=*&s:std::basic_string,std::allocator> [line 22, column 1]\n n$1=_fun_std::basic_string,std::allocator>::~basic_string(&s:std::basic_string,std::allocator>*) injected [line 22, column 1]\n _=*&x:std::shared_ptr [line 22, column 1]\n n$3=_fun_std::shared_ptr::~shared_ptr(&x:std::shared_ptr*) injected [line 22, column 1]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5); [line 20, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:std::shared_ptr); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:std::shared_ptr*) [line 19, column 24]\n EXIT_SCOPE(n$6); [line 19, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:std::shared_ptr); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:std::shared_ptr*) [line 19, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n EXIT_SCOPE(n$8); [line 17, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$9); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -49,11 +49,11 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" [label="2: Exit unused_deref_in_header \n " color=yellow style=filled] -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n NULLIFY(&a); [line 16, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$2,x); [line 15, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; @@ -64,7 +64,7 @@ digraph cfg { "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" [label="2: Exit internal::used_in_main_header \n " color=yellow style=filled] -"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n NULLIFY(&a); [line 17, column 34]\n EXIT_SCOPE(n$0,a); [line 17, column 34]\n APPLY_ABSTRACTION; [line 17, column 34]\n " shape="box"] +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n " shape="box"] "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot index 28ebbd104..905d83ebc 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_root.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" [label="2: Exit internal::fun \n " color=yellow style=filled] -"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n NULLIFY(&a); [line 10, column 18]\n EXIT_SCOPE(n$0,a); [line 10, column 18]\n APPLY_ABSTRACTION; [line 10, column 18]\n " shape="box"] +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n " shape="box"] "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; @@ -15,30 +15,30 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&x); [line 22, column 1]\n NULLIFY(&s); [line 22, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction(Scope) \n _=*&s:std::basic_string,std::allocator> [line 22, column 1]\n n$1=_fun_std::basic_string,std::allocator>::~basic_string(&s:std::basic_string,std::allocator>*) injected [line 22, column 1]\n _=*&x:std::shared_ptr [line 22, column 1]\n n$3=_fun_std::shared_ptr::~shared_ptr(&x:std::shared_ptr*) injected [line 22, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,s,x); [line 22, column 1]\n APPLY_ABSTRACTION; [line 22, column 1]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction(Scope) \n _=*&s:std::basic_string,std::allocator> [line 22, column 1]\n n$1=_fun_std::basic_string,std::allocator>::~basic_string(&s:std::basic_string,std::allocator>*) injected [line 22, column 1]\n _=*&x:std::shared_ptr [line 22, column 1]\n n$3=_fun_std::shared_ptr::~shared_ptr(&x:std::shared_ptr*) injected [line 22, column 1]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5); [line 20, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:std::shared_ptr); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:std::shared_ptr*) [line 19, column 24]\n EXIT_SCOPE(n$6); [line 19, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:std::shared_ptr); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:std::shared_ptr*) [line 19, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n EXIT_SCOPE(n$8); [line 17, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$9); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -49,11 +49,11 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" [label="2: Exit unused_deref_in_header \n " color=yellow style=filled] -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n NULLIFY(&a); [line 16, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$2,x); [line 15, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; @@ -64,7 +64,7 @@ digraph cfg { "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" [label="2: Exit internal::used_in_main_header \n " color=yellow style=filled] -"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n NULLIFY(&a); [line 17, column 34]\n EXIT_SCOPE(n$0,a); [line 17, column 34]\n APPLY_ABSTRACTION; [line 17, column 34]\n " shape="box"] +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n " shape="box"] "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot index 28ebbd104..905d83ebc 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_default_symlink.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" [label="2: Exit internal::fun \n " color=yellow style=filled] -"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n NULLIFY(&a); [line 10, column 18]\n EXIT_SCOPE(n$0,a); [line 10, column 18]\n APPLY_ABSTRACTION; [line 10, column 18]\n " shape="box"] +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n " shape="box"] "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; @@ -15,30 +15,30 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&x); [line 22, column 1]\n NULLIFY(&s); [line 22, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction(Scope) \n _=*&s:std::basic_string,std::allocator> [line 22, column 1]\n n$1=_fun_std::basic_string,std::allocator>::~basic_string(&s:std::basic_string,std::allocator>*) injected [line 22, column 1]\n _=*&x:std::shared_ptr [line 22, column 1]\n n$3=_fun_std::shared_ptr::~shared_ptr(&x:std::shared_ptr*) injected [line 22, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,s,x); [line 22, column 1]\n APPLY_ABSTRACTION; [line 22, column 1]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction(Scope) \n _=*&s:std::basic_string,std::allocator> [line 22, column 1]\n n$1=_fun_std::basic_string,std::allocator>::~basic_string(&s:std::basic_string,std::allocator>*) injected [line 22, column 1]\n _=*&x:std::shared_ptr [line 22, column 1]\n n$3=_fun_std::shared_ptr::~shared_ptr(&x:std::shared_ptr*) injected [line 22, column 1]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5); [line 20, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:std::shared_ptr); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:std::shared_ptr*) [line 19, column 24]\n EXIT_SCOPE(n$6); [line 19, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:std::shared_ptr); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:std::shared_ptr*) [line 19, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n EXIT_SCOPE(n$8); [line 17, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$9); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -49,11 +49,11 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" [label="2: Exit unused_deref_in_header \n " color=yellow style=filled] -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n NULLIFY(&a); [line 16, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$2,x); [line 15, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; @@ -64,7 +64,7 @@ digraph cfg { "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" [label="2: Exit internal::used_in_main_header \n " color=yellow style=filled] -"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n NULLIFY(&a); [line 17, column 34]\n EXIT_SCOPE(n$0,a); [line 17, column 34]\n APPLY_ABSTRACTION; [line 17, column 34]\n " shape="box"] +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n " shape="box"] "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; diff --git a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot index 28ebbd104..905d83ebc 100644 --- a/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot +++ b/infer/tests/build_systems/codetoanalyze/clang_translation/src/main_symlink.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" [label="2: Exit internal::fun \n " color=yellow style=filled] -"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n NULLIFY(&a); [line 10, column 18]\n EXIT_SCOPE(n$0,a); [line 10, column 18]\n APPLY_ABSTRACTION; [line 10, column 18]\n " shape="box"] +"fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" [label="3: Return Stmt \n n$0=*&a:int [line 10, column 25]\n *&return:int=n$0 [line 10, column 18]\n " shape="box"] "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_3" -> "fun#internal#3922054098004616643.55c3f2ad552457f847bc1570fce79224_2" ; @@ -15,30 +15,30 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&x); [line 22, column 1]\n NULLIFY(&s); [line 22, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction(Scope) \n _=*&s:std::basic_string,std::allocator> [line 22, column 1]\n n$1=_fun_std::basic_string,std::allocator>::~basic_string(&s:std::basic_string,std::allocator>*) injected [line 22, column 1]\n _=*&x:std::shared_ptr [line 22, column 1]\n n$3=_fun_std::shared_ptr::~shared_ptr(&x:std::shared_ptr*) injected [line 22, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,s,x); [line 22, column 1]\n APPLY_ABSTRACTION; [line 22, column 1]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Destruction(Scope) \n _=*&s:std::basic_string,std::allocator> [line 22, column 1]\n n$1=_fun_std::basic_string,std::allocator>::~basic_string(&s:std::basic_string,std::allocator>*) injected [line 22, column 1]\n _=*&x:std::shared_ptr [line 22, column 1]\n n$3=_fun_std::shared_ptr::~shared_ptr(&x:std::shared_ptr*) injected [line 22, column 1]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n EXIT_SCOPE(n$5); [line 20, column 15]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:std::basic_string,std::allocator>); [line 20, column 3]\n n$5=_fun_std::basic_string,std::allocator>::basic_string(&s:std::basic_string,std::allocator>*,\"1234\":char const *) [line 20, column 15]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:std::shared_ptr); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:std::shared_ptr*) [line 19, column 24]\n EXIT_SCOPE(n$6); [line 19, column 24]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:std::shared_ptr); [line 19, column 3]\n n$6=_fun_std::shared_ptr::shared_ptr(&x:std::shared_ptr*) [line 19, column 24]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Call _fun_external::fun \n n$7=_fun_external::fun(1:int) [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n EXIT_SCOPE(n$8); [line 17, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Call _fun_internal_exclude::fun \n n$8=_fun_internal_exclude::fun(1:int) [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n EXIT_SCOPE(n$9); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_internal::fun \n n$9=_fun_internal::fun(1:int) [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -49,11 +49,11 @@ digraph cfg { "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" [label="2: Exit unused_deref_in_header \n " color=yellow style=filled] -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n NULLIFY(&a); [line 16, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" [label="3: Return Stmt \n n$0=*&a:int* [line 16, column 11]\n n$1=*n$0:int [line 16, column 10]\n *&return:int=n$1 [line 16, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_2" ; -"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(n$2,x); [line 15, column 3]\n " shape="box"] +"unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$2=_fun_internal::used_in_main_header(0:int) [line 15, column 11]\n *&x:int=n$2 [line 15, column 3]\n " shape="box"] "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_4" -> "unused_deref_in_header#15260603227785084028.ec2f844a26989dc35e9856ba0d7a485b_3" ; @@ -64,7 +64,7 @@ digraph cfg { "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" [label="2: Exit internal::used_in_main_header \n " color=yellow style=filled] -"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n NULLIFY(&a); [line 17, column 34]\n EXIT_SCOPE(n$0,a); [line 17, column 34]\n APPLY_ABSTRACTION; [line 17, column 34]\n " shape="box"] +"used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" [label="3: Return Stmt \n n$0=*&a:int [line 17, column 41]\n *&return:int=n$0 [line 17, column 34]\n " shape="box"] "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_3" -> "used_in_main_header#internal#16695915931787022844.43e60de71a2b141c8436dddf68ff1b63_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/compound_assignment.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/compound_assignment.c.dot index 69f5457c4..dc3688d31 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/compound_assignment.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/compound_assignment.c.dot @@ -7,31 +7,31 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 21, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: XorAssign \n n$0=*&b:int [line 20, column 3]\n *&b:int=(n$0 ^ 1) [line 20, column 3]\n NULLIFY(&b); [line 20, column 3]\n EXIT_SCOPE(n$0,b); [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: XorAssign \n n$0=*&b:int [line 20, column 3]\n *&b:int=(n$0 ^ 1) [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: OrAssign \n n$1=*&b:int [line 19, column 3]\n *&b:int=(n$1 | 1) [line 19, column 3]\n EXIT_SCOPE(n$1); [line 19, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: OrAssign \n n$1=*&b:int [line 19, column 3]\n *&b:int=(n$1 | 1) [line 19, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: AndAssign \n n$2=*&b:int [line 18, column 3]\n *&b:int=(n$2 & 1) [line 18, column 3]\n EXIT_SCOPE(n$2); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: AndAssign \n n$2=*&b:int [line 18, column 3]\n *&b:int=(n$2 & 1) [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: RemAssing \n n$3=*&b:int [line 17, column 3]\n *&b:int=(n$3 % 1) [line 17, column 3]\n EXIT_SCOPE(n$3); [line 17, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: RemAssing \n n$3=*&b:int [line 17, column 3]\n *&b:int=(n$3 % 1) [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: ShrAssign \n n$4=*&b:int [line 16, column 3]\n *&b:int=(n$4 >> 1) [line 16, column 3]\n EXIT_SCOPE(n$4); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: ShrAssign \n n$4=*&b:int [line 16, column 3]\n *&b:int=(n$4 >> 1) [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: ShlAssign \n n$5=*&b:int [line 15, column 3]\n *&b:int=(n$5 << 1) [line 15, column 3]\n EXIT_SCOPE(n$5); [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: ShlAssign \n n$5=*&b:int [line 15, column 3]\n *&b:int=(n$5 << 1) [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; @@ -39,19 +39,19 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: MulAssign \n n$6=*&x:double [line 13, column 3]\n *&x:double=(n$6 * 1.) [line 13, column 3]\n NULLIFY(&x); [line 13, column 3]\n EXIT_SCOPE(n$6,x); [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: MulAssign \n n$6=*&x:double [line 13, column 3]\n *&x:double=(n$6 * 1.) [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: BinaryOperatorStmt: DivAssign \n n$7=*&x:double [line 12, column 3]\n *&x:double=(n$7 / 1.) [line 12, column 3]\n EXIT_SCOPE(n$7); [line 12, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: BinaryOperatorStmt: DivAssign \n n$7=*&x:double [line 12, column 3]\n *&x:double=(n$7 / 1.) [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: SubAssign \n n$8=*&x:double [line 11, column 3]\n *&x:double=(n$8 - 1.) [line 11, column 3]\n EXIT_SCOPE(n$8); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: SubAssign \n n$8=*&x:double [line 11, column 3]\n *&x:double=(n$8 - 1.) [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 10, column 3]\n *&x:double=(n$9 + 1.) [line 10, column 3]\n EXIT_SCOPE(n$9); [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 10, column 3]\n *&x:double=(n$9 + 1.) [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot index fd0f945e6..b5d71dbc1 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/int_const.c.dot @@ -7,15 +7,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(overflow_int:int); [line 18, column 3]\n *&overflow_int:int=9223372036854775808 [line 18, column 3]\n NULLIFY(&overflow_int); [line 18, column 3]\n EXIT_SCOPE(overflow_int); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(overflow_int:int); [line 18, column 3]\n *&overflow_int:int=9223372036854775808 [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(large_int:int); [line 17, column 3]\n *&large_int:int=9223372036854775807 [line 17, column 3]\n NULLIFY(&large_int); [line 17, column 3]\n EXIT_SCOPE(large_int); [line 17, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(large_int:int); [line 17, column 3]\n *&large_int:int=9223372036854775807 [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/negate.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/negate.c.dot index 146fc4689..a58589372 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/negate.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/negate.c.dot @@ -12,23 +12,23 @@ digraph cfg { "neg_bool.e953d6477eaaeafaa430423a26fbaac9_3" -> "neg_bool.e953d6477eaaeafaa430423a26fbaac9_8" ; -"neg_bool.e953d6477eaaeafaa430423a26fbaac9_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&a:_Bool [line 12, column 33]\n PRUNE(n$1, true); [line 12, column 33]\n NULLIFY(&a); [line 12, column 33]\n EXIT_SCOPE(n$1,a); [line 12, column 33]\n " shape="invhouse"] +"neg_bool.e953d6477eaaeafaa430423a26fbaac9_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&a:_Bool [line 12, column 33]\n PRUNE(n$1, true); [line 12, column 33]\n " shape="invhouse"] "neg_bool.e953d6477eaaeafaa430423a26fbaac9_4" -> "neg_bool.e953d6477eaaeafaa430423a26fbaac9_6" ; -"neg_bool.e953d6477eaaeafaa430423a26fbaac9_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&a:_Bool [line 12, column 33]\n PRUNE(!n$1, false); [line 12, column 33]\n NULLIFY(&a); [line 12, column 33]\n EXIT_SCOPE(n$1,a); [line 12, column 33]\n " shape="invhouse"] +"neg_bool.e953d6477eaaeafaa430423a26fbaac9_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&a:_Bool [line 12, column 33]\n PRUNE(!n$1, false); [line 12, column 33]\n " shape="invhouse"] "neg_bool.e953d6477eaaeafaa430423a26fbaac9_5" -> "neg_bool.e953d6477eaaeafaa430423a26fbaac9_7" ; -"neg_bool.e953d6477eaaeafaa430423a26fbaac9_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 12, column 32]\n APPLY_ABSTRACTION; [line 12, column 32]\n " shape="box"] +"neg_bool.e953d6477eaaeafaa430423a26fbaac9_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 12, column 32]\n " shape="box"] "neg_bool.e953d6477eaaeafaa430423a26fbaac9_6" -> "neg_bool.e953d6477eaaeafaa430423a26fbaac9_3" ; -"neg_bool.e953d6477eaaeafaa430423a26fbaac9_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 12, column 32]\n APPLY_ABSTRACTION; [line 12, column 32]\n " shape="box"] +"neg_bool.e953d6477eaaeafaa430423a26fbaac9_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 12, column 32]\n " shape="box"] "neg_bool.e953d6477eaaeafaa430423a26fbaac9_7" -> "neg_bool.e953d6477eaaeafaa430423a26fbaac9_3" ; -"neg_bool.e953d6477eaaeafaa430423a26fbaac9_8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12, column 32]\n *&return:int=n$2 [line 12, column 25]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12, column 25]\n EXIT_SCOPE(n$2,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12, column 25]\n APPLY_ABSTRACTION; [line 12, column 25]\n " shape="box"] +"neg_bool.e953d6477eaaeafaa430423a26fbaac9_8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12, column 32]\n *&return:int=n$2 [line 12, column 25]\n " shape="box"] "neg_bool.e953d6477eaaeafaa430423a26fbaac9_8" -> "neg_bool.e953d6477eaaeafaa430423a26fbaac9_2" ; @@ -44,23 +44,23 @@ digraph cfg { "neg_char.53ef6b31d84386046a4728d1c45b5f7a_3" -> "neg_char.53ef6b31d84386046a4728d1c45b5f7a_8" ; -"neg_char.53ef6b31d84386046a4728d1c45b5f7a_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&a:char [line 10, column 32]\n PRUNE(n$1, true); [line 10, column 32]\n NULLIFY(&a); [line 10, column 32]\n EXIT_SCOPE(n$1,a); [line 10, column 32]\n " shape="invhouse"] +"neg_char.53ef6b31d84386046a4728d1c45b5f7a_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&a:char [line 10, column 32]\n PRUNE(n$1, true); [line 10, column 32]\n " shape="invhouse"] "neg_char.53ef6b31d84386046a4728d1c45b5f7a_4" -> "neg_char.53ef6b31d84386046a4728d1c45b5f7a_6" ; -"neg_char.53ef6b31d84386046a4728d1c45b5f7a_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&a:char [line 10, column 32]\n PRUNE(!n$1, false); [line 10, column 32]\n NULLIFY(&a); [line 10, column 32]\n EXIT_SCOPE(n$1,a); [line 10, column 32]\n " shape="invhouse"] +"neg_char.53ef6b31d84386046a4728d1c45b5f7a_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&a:char [line 10, column 32]\n PRUNE(!n$1, false); [line 10, column 32]\n " shape="invhouse"] "neg_char.53ef6b31d84386046a4728d1c45b5f7a_5" -> "neg_char.53ef6b31d84386046a4728d1c45b5f7a_7" ; -"neg_char.53ef6b31d84386046a4728d1c45b5f7a_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 10, column 31]\n APPLY_ABSTRACTION; [line 10, column 31]\n " shape="box"] +"neg_char.53ef6b31d84386046a4728d1c45b5f7a_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 10, column 31]\n " shape="box"] "neg_char.53ef6b31d84386046a4728d1c45b5f7a_6" -> "neg_char.53ef6b31d84386046a4728d1c45b5f7a_3" ; -"neg_char.53ef6b31d84386046a4728d1c45b5f7a_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 10, column 31]\n APPLY_ABSTRACTION; [line 10, column 31]\n " shape="box"] +"neg_char.53ef6b31d84386046a4728d1c45b5f7a_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 10, column 31]\n " shape="box"] "neg_char.53ef6b31d84386046a4728d1c45b5f7a_7" -> "neg_char.53ef6b31d84386046a4728d1c45b5f7a_3" ; -"neg_char.53ef6b31d84386046a4728d1c45b5f7a_8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10, column 31]\n *&return:int=n$2 [line 10, column 24]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 10, column 24]\n EXIT_SCOPE(n$2,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 10, column 24]\n APPLY_ABSTRACTION; [line 10, column 24]\n " shape="box"] +"neg_char.53ef6b31d84386046a4728d1c45b5f7a_8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10, column 31]\n *&return:int=n$2 [line 10, column 24]\n " shape="box"] "neg_char.53ef6b31d84386046a4728d1c45b5f7a_8" -> "neg_char.53ef6b31d84386046a4728d1c45b5f7a_2" ; @@ -76,23 +76,23 @@ digraph cfg { "neg_int.2aa25aca565c41dd997912d11504462c_3" -> "neg_int.2aa25aca565c41dd997912d11504462c_8" ; -"neg_int.2aa25aca565c41dd997912d11504462c_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&a:int [line 8, column 30]\n PRUNE(n$1, true); [line 8, column 30]\n NULLIFY(&a); [line 8, column 30]\n EXIT_SCOPE(n$1,a); [line 8, column 30]\n " shape="invhouse"] +"neg_int.2aa25aca565c41dd997912d11504462c_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&a:int [line 8, column 30]\n PRUNE(n$1, true); [line 8, column 30]\n " shape="invhouse"] "neg_int.2aa25aca565c41dd997912d11504462c_4" -> "neg_int.2aa25aca565c41dd997912d11504462c_6" ; -"neg_int.2aa25aca565c41dd997912d11504462c_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&a:int [line 8, column 30]\n PRUNE(!n$1, false); [line 8, column 30]\n NULLIFY(&a); [line 8, column 30]\n EXIT_SCOPE(n$1,a); [line 8, column 30]\n " shape="invhouse"] +"neg_int.2aa25aca565c41dd997912d11504462c_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&a:int [line 8, column 30]\n PRUNE(!n$1, false); [line 8, column 30]\n " shape="invhouse"] "neg_int.2aa25aca565c41dd997912d11504462c_5" -> "neg_int.2aa25aca565c41dd997912d11504462c_7" ; -"neg_int.2aa25aca565c41dd997912d11504462c_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 8, column 29]\n APPLY_ABSTRACTION; [line 8, column 29]\n " shape="box"] +"neg_int.2aa25aca565c41dd997912d11504462c_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 8, column 29]\n " shape="box"] "neg_int.2aa25aca565c41dd997912d11504462c_6" -> "neg_int.2aa25aca565c41dd997912d11504462c_3" ; -"neg_int.2aa25aca565c41dd997912d11504462c_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 8, column 29]\n APPLY_ABSTRACTION; [line 8, column 29]\n " shape="box"] +"neg_int.2aa25aca565c41dd997912d11504462c_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 8, column 29]\n " shape="box"] "neg_int.2aa25aca565c41dd997912d11504462c_7" -> "neg_int.2aa25aca565c41dd997912d11504462c_3" ; -"neg_int.2aa25aca565c41dd997912d11504462c_8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 8, column 29]\n *&return:int=n$2 [line 8, column 22]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 8, column 22]\n EXIT_SCOPE(n$2,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 8, column 22]\n APPLY_ABSTRACTION; [line 8, column 22]\n " shape="box"] +"neg_int.2aa25aca565c41dd997912d11504462c_8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 8, column 29]\n *&return:int=n$2 [line 8, column 22]\n " shape="box"] "neg_int.2aa25aca565c41dd997912d11504462c_8" -> "neg_int.2aa25aca565c41dd997912d11504462c_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot index 1b17ac66c..f11c6ccef 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/plus_expr.c.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&x:int [line 11, column 10]\n n$1=*&z:int [line 11, column 14]\n *&return:int=(n$0 + n$1) [line 11, column 3]\n NULLIFY(&z); [line 11, column 3]\n NULLIFY(&x); [line 11, column 3]\n EXIT_SCOPE(n$0,n$1,z,x); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&x:int [line 11, column 10]\n n$1=*&z:int [line 11, column 14]\n *&return:int=(n$0 + n$1) [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/arithmetic/unary.c.dot b/infer/tests/codetoanalyze/c/frontend/arithmetic/unary.c.dot index efa495e8e..0289e3308 100644 --- a/infer/tests/codetoanalyze/c/frontend/arithmetic/unary.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/arithmetic/unary.c.dot @@ -4,54 +4,54 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&a); [line 31, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 30, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:int [line 28, column 7]\n *&a:int=n$0 [line 28, column 3]\n EXIT_SCOPE(n$0,a); [line 28, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:int [line 28, column 7]\n *&a:int=n$0 [line 28, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&b:int* [line 27, column 4]\n n$2=*&b:int* [line 27, column 9]\n n$3=*n$2:int [line 27, column 8]\n *n$1:int=(n$3 + 1) [line 27, column 3]\n NULLIFY(&b); [line 27, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,b); [line 27, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&b:int* [line 27, column 4]\n n$2=*&b:int* [line 27, column 9]\n n$3=*n$2:int [line 27, column 8]\n *n$1:int=(n$3 + 1) [line 27, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$4=*&b:int* [line 26, column 9]\n n$5=*(n$4 + 1):int [line 26, column 7]\n *&a:int=n$5 [line 26, column 3]\n EXIT_SCOPE(n$4,n$5); [line 26, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$4=*&b:int* [line 26, column 9]\n n$5=*(n$4 + 1):int [line 26, column 7]\n *&a:int=n$5 [line 26, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&b:int*=&a [line 25, column 3]\n EXIT_SCOPE(a); [line 25, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&b:int*=&a [line 25, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 20, column 7]\n *&x:int=(n$6 - 1) [line 20, column 7]\n *&y:int=n$6 [line 20, column 3]\n NULLIFY(&y); [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(n$6,y,x); [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 20, column 7]\n *&x:int=(n$6 - 1) [line 20, column 7]\n *&y:int=n$6 [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: Assign \n n$7=*&x:int [line 19, column 7]\n *&x:int=(n$7 - 1) [line 19, column 7]\n *&y:int=(n$7 - 1) [line 19, column 3]\n NULLIFY(&y); [line 19, column 3]\n EXIT_SCOPE(n$7,y); [line 19, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: Assign \n n$7=*&x:int [line 19, column 7]\n *&x:int=(n$7 - 1) [line 19, column 7]\n *&y:int=(n$7 - 1) [line 19, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 17, column 7]\n *&x:int=(n$8 + 1) [line 17, column 7]\n *&y:int=(n$8 + 1) [line 17, column 3]\n NULLIFY(&y); [line 17, column 3]\n EXIT_SCOPE(n$8,y); [line 17, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 17, column 7]\n *&x:int=(n$8 + 1) [line 17, column 7]\n *&y:int=(n$8 + 1) [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 16, column 7]\n *&x:int=(n$9 + 1) [line 16, column 7]\n *&y:int=n$9 [line 16, column 3]\n NULLIFY(&y); [line 16, column 3]\n EXIT_SCOPE(n$9,y); [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 16, column 7]\n *&x:int=(n$9 + 1) [line 16, column 7]\n *&y:int=n$9 [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: BinaryOperatorStmt: Assign \n n$10=*&x:int [line 14, column 8]\n *&y:int=n$10 [line 14, column 3]\n NULLIFY(&y); [line 14, column 3]\n EXIT_SCOPE(n$10,y); [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: BinaryOperatorStmt: Assign \n n$10=*&x:int [line 14, column 8]\n *&y:int=n$10 [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: Assign \n n$11=*&x:int [line 13, column 8]\n *&y:int=-n$11 [line 13, column 3]\n NULLIFY(&y); [line 13, column 3]\n EXIT_SCOPE(n$11,y); [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: Assign \n n$11=*&x:int [line 13, column 8]\n *&y:int=-n$11 [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: BinaryOperatorStmt: Assign \n n$12=*&x:int [line 12, column 8]\n *&y:int=~n$12 [line 12, column 3]\n NULLIFY(&y); [line 12, column 3]\n EXIT_SCOPE(n$12,y); [line 12, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: BinaryOperatorStmt: Assign \n n$12=*&x:int [line 12, column 8]\n *&y:int=~n$12 [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; diff --git a/infer/tests/codetoanalyze/c/frontend/booleans/bool_example.c.dot b/infer/tests/codetoanalyze/c/frontend/booleans/bool_example.c.dot index 283fa5b19..d6b6120c0 100644 --- a/infer/tests/codetoanalyze/c/frontend/booleans/bool_example.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/booleans/bool_example.c.dot @@ -7,7 +7,7 @@ digraph cfg { "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_2" [label="2: Exit revert \n " color=yellow style=filled] -"revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_3" [label="3: Return Stmt \n n$0=*&e:_Bool [line 10, column 30]\n *&return:_Bool=n$0 [line 10, column 23]\n NULLIFY(&e); [line 10, column 23]\n EXIT_SCOPE(n$0,e); [line 10, column 23]\n APPLY_ABSTRACTION; [line 10, column 23]\n " shape="box"] +"revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_3" [label="3: Return Stmt \n n$0=*&e:_Bool [line 10, column 30]\n *&return:_Bool=n$0 [line 10, column 23]\n " shape="box"] "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_3" -> "revert.4bc48a3c9ac7468d2d5d1a6fb5f87654_2" ; 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 b6dab32f0..450717dd6 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 @@ -18,28 +18,28 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: LT \n n$1=*&x:int [line 12, column 9]\n NULLIFY(&x); [line 12, column 9]\n EXIT_SCOPE(x); [line 12, column 9]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: LT \n n$1=*&x:int [line 12, column 9]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$1 < 2), true); [line 12, column 9]\n EXIT_SCOPE(n$1); [line 12, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$1 < 2), true); [line 12, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$1 < 2), false); [line 12, column 9]\n EXIT_SCOPE(n$1); [line 12, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$1 < 2), false); [line 12, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 12, column 9]\n APPLY_ABSTRACTION; [line 12, column 9]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 12, column 9]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 12, column 9]\n APPLY_ABSTRACTION; [line 12, column 9]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 12, column 9]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_check \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12, column 9]\n n$3=_fun_check(n$2:int) [line 12, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12, column 3]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_check \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12, column 9]\n n$3=_fun_check(n$2:int) [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/c_prototype/prototype.c.dot b/infer/tests/codetoanalyze/c/frontend/c_prototype/prototype.c.dot index ab165f1af..0062053eb 100644 --- a/infer/tests/codetoanalyze/c/frontend/c_prototype/prototype.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/c_prototype/prototype.c.dot @@ -7,11 +7,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_sum(2:int,3:int) [line 18, column 11]\n *&total:int=n$0 [line 18, column 3]\n NULLIFY(&total); [line 18, column 3]\n EXIT_SCOPE(n$0,total); [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_sum(2:int,3:int) [line 18, column 11]\n *&total:int=n$0 [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -22,7 +22,7 @@ digraph cfg { "sum.1d623b89683f9ce4e074de1676d12416_2" [label="2: Exit sum \n " color=yellow style=filled] -"sum.1d623b89683f9ce4e074de1676d12416_3" [label="3: Return Stmt \n n$0=*&a:int [line 23, column 32]\n n$1=*&b:int [line 23, column 36]\n *&return:int=(n$0 + n$1) [line 23, column 25]\n NULLIFY(&a); [line 23, column 25]\n NULLIFY(&b); [line 23, column 25]\n EXIT_SCOPE(n$0,n$1,a,b); [line 23, column 25]\n APPLY_ABSTRACTION; [line 23, column 25]\n " shape="box"] +"sum.1d623b89683f9ce4e074de1676d12416_3" [label="3: Return Stmt \n n$0=*&a:int [line 23, column 32]\n n$1=*&b:int [line 23, column 36]\n *&return:int=(n$0 + n$1) [line 23, column 25]\n " shape="box"] "sum.1d623b89683f9ce4e074de1676d12416_3" -> "sum.1d623b89683f9ce4e074de1676d12416_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot b/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot index a20e666fc..4da7abcf7 100644 --- a/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/comma/comma.c.dot @@ -7,15 +7,15 @@ digraph cfg { "comma_1.bafaed8336991f5a2e612ee2580c1506_2" [label="2: Exit comma_1 \n " color=yellow style=filled] -"comma_1.bafaed8336991f5a2e612ee2580c1506_3" [label="3: Return Stmt \n n$0=*&d:int [line 11, column 10]\n *&return:int=n$0 [line 11, column 3]\n NULLIFY(&d); [line 11, column 3]\n EXIT_SCOPE(n$0,d); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"comma_1.bafaed8336991f5a2e612ee2580c1506_3" [label="3: Return Stmt \n n$0=*&d:int [line 11, column 10]\n *&return:int=n$0 [line 11, column 3]\n " shape="box"] "comma_1.bafaed8336991f5a2e612ee2580c1506_3" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_2" ; -"comma_1.bafaed8336991f5a2e612ee2580c1506_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 10, column 3]\n n$1=*&a:int [line 10, column 16]\n *&a:int=(n$1 * 2) [line 10, column 12]\n n$2=*&a:int [line 10, column 12]\n n$3=*&a:int [line 10, column 31]\n *&a:int=(n$3 + 1) [line 10, column 31]\n *&b:int=(7 * n$3) [line 10, column 23]\n n$4=*&b:int [line 10, column 23]\n *&d:int=n$4 [line 10, column 3]\n NULLIFY(&a); [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,a,b); [line 10, column 3]\n " shape="box"] +"comma_1.bafaed8336991f5a2e612ee2580c1506_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 10, column 3]\n n$1=*&a:int [line 10, column 16]\n *&a:int=(n$1 * 2) [line 10, column 12]\n n$2=*&a:int [line 10, column 12]\n n$3=*&a:int [line 10, column 31]\n *&a:int=(n$3 + 1) [line 10, column 31]\n *&b:int=(7 * n$3) [line 10, column 23]\n n$4=*&b:int [line 10, column 23]\n *&d:int=n$4 [line 10, column 3]\n " shape="box"] "comma_1.bafaed8336991f5a2e612ee2580c1506_4" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_3" ; -"comma_1.bafaed8336991f5a2e612ee2580c1506_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 9, column 3]\n *&b:int=7 [line 9, column 3]\n NULLIFY(&b); [line 9, column 3]\n EXIT_SCOPE(b); [line 9, column 3]\n " shape="box"] +"comma_1.bafaed8336991f5a2e612ee2580c1506_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 9, column 3]\n *&b:int=7 [line 9, column 3]\n " shape="box"] "comma_1.bafaed8336991f5a2e612ee2580c1506_5" -> "comma_1.bafaed8336991f5a2e612ee2580c1506_4" ; @@ -30,15 +30,15 @@ digraph cfg { "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_2" [label="2: Exit comma_2 \n " color=yellow style=filled] -"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" [label="3: Return Stmt \n n$0=*&d:int [line 17, column 10]\n *&return:int=n$0 [line 17, column 3]\n NULLIFY(&d); [line 17, column 3]\n EXIT_SCOPE(n$0,d); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" [label="3: Return Stmt \n n$0=*&d:int [line 17, column 10]\n *&return:int=n$0 [line 17, column 3]\n " shape="box"] "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_2" ; -"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 16, column 3]\n n$1=*&a:int [line 16, column 16]\n *&a:int=(n$1 * 2) [line 16, column 12]\n n$2=*&a:int [line 16, column 12]\n n$3=*&a:int [line 16, column 31]\n *&a:int=(n$3 + 1) [line 16, column 31]\n *&b:int=(7 * n$3) [line 16, column 23]\n n$4=*&b:int [line 16, column 23]\n n$5=*&a:int [line 16, column 36]\n n$6=*&b:int [line 16, column 40]\n *&d:int=((n$5 + n$6) + 9) [line 16, column 3]\n NULLIFY(&b); [line 16, column 3]\n NULLIFY(&a); [line 16, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,b,a); [line 16, column 3]\n " shape="box"] +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 16, column 3]\n n$1=*&a:int [line 16, column 16]\n *&a:int=(n$1 * 2) [line 16, column 12]\n n$2=*&a:int [line 16, column 12]\n n$3=*&a:int [line 16, column 31]\n *&a:int=(n$3 + 1) [line 16, column 31]\n *&b:int=(7 * n$3) [line 16, column 23]\n n$4=*&b:int [line 16, column 23]\n n$5=*&a:int [line 16, column 36]\n n$6=*&b:int [line 16, column 40]\n *&d:int=((n$5 + n$6) + 9) [line 16, column 3]\n " shape="box"] "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_3" ; -"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 15, column 3]\n *&b:int=7 [line 15, column 3]\n NULLIFY(&b); [line 15, column 3]\n EXIT_SCOPE(b); [line 15, column 3]\n " shape="box"] +"comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 15, column 3]\n *&b:int=7 [line 15, column 3]\n " shape="box"] "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_5" -> "comma_2.aa5fd44d8dfe78041d816bb9ce86a85f_4" ; @@ -53,19 +53,19 @@ digraph cfg { "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_2" [label="2: Exit comma_3 \n " color=yellow style=filled] -"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" [label="3: Return Stmt \n n$0=*&d:int [line 23, column 10]\n *&return:int=n$0 [line 23, column 3]\n NULLIFY(&d); [line 23, column 3]\n EXIT_SCOPE(n$0,d); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" [label="3: Return Stmt \n n$0=*&d:int [line 23, column 10]\n *&return:int=n$0 [line 23, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_2" ; -"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 22, column 3]\n n$1=*&a:int [line 22, column 16]\n *&a:int=(n$1 * 2) [line 22, column 12]\n n$2=*&a:int [line 22, column 12]\n n$3=*&a:int [line 22, column 31]\n *&a:int=(n$3 + 1) [line 22, column 31]\n *&b:int=(7 * n$3) [line 22, column 23]\n n$4=*&b:int [line 22, column 23]\n n$5=*&a:int [line 22, column 40]\n n$6=*&b:int [line 22, column 44]\n *&c:int=((n$5 + n$6) + 9) [line 22, column 36]\n n$7=*&c:int [line 22, column 36]\n n$8=*&c:int [line 22, column 51]\n *&d:int=n$8 [line 22, column 3]\n NULLIFY(&c); [line 22, column 3]\n NULLIFY(&b); [line 22, column 3]\n NULLIFY(&a); [line 22, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,c,b,a); [line 22, column 3]\n " shape="box"] +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 22, column 3]\n n$1=*&a:int [line 22, column 16]\n *&a:int=(n$1 * 2) [line 22, column 12]\n n$2=*&a:int [line 22, column 12]\n n$3=*&a:int [line 22, column 31]\n *&a:int=(n$3 + 1) [line 22, column 31]\n *&b:int=(7 * n$3) [line 22, column 23]\n n$4=*&b:int [line 22, column 23]\n n$5=*&a:int [line 22, column 40]\n n$6=*&b:int [line 22, column 44]\n *&c:int=((n$5 + n$6) + 9) [line 22, column 36]\n n$7=*&c:int [line 22, column 36]\n n$8=*&c:int [line 22, column 51]\n *&d:int=n$8 [line 22, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_3" ; -"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 21, column 3]\n *&c:int=3 [line 21, column 3]\n NULLIFY(&c); [line 21, column 3]\n EXIT_SCOPE(c); [line 21, column 3]\n " shape="box"] +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 21, column 3]\n *&c:int=3 [line 21, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_4" ; -"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 21, column 3]\n *&b:int=7 [line 21, column 3]\n NULLIFY(&b); [line 21, column 3]\n EXIT_SCOPE(b); [line 21, column 3]\n " shape="box"] +"comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 21, column 3]\n *&b:int=7 [line 21, column 3]\n " shape="box"] "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_6" -> "comma_3.94b9d12e6a2f1dbb384d21928d4e092d_5" ; 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 14826d9cb..4ee8c849c 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 @@ -12,7 +12,7 @@ digraph cfg { "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_3" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_4" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_4" [label="4: between_join_and_exit \n " shape="box"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_4" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_2" ; @@ -20,16 +20,16 @@ digraph cfg { "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_5" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_6" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_6" [label="6: UnaryOperator \n n$2=*&p:int** [line 15, column 14]\n n$3=*n$2:int* [line 15, column 13]\n NULLIFY(&p); [line 15, column 13]\n EXIT_SCOPE(n$2,p); [line 15, column 13]\n " shape="box"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_6" [label="6: UnaryOperator \n n$2=*&p:int** [line 15, column 14]\n n$3=*n$2:int* [line 15, column 13]\n " shape="box"] "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, if) \n n$1=*n$0:int* [line 15, column 7]\n n$4=*n$3:int [line 15, column 12]\n n$5=*n$1[n$4]:int [line 15, column 7]\n PRUNE(n$5, true); [line 15, column 7]\n EXIT_SCOPE(n$0,n$1,n$3,n$4,n$5); [line 15, column 7]\n APPLY_ABSTRACTION; [line 15, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_7" [label="7: Prune (true branch, if) \n n$1=*n$0:int* [line 15, column 7]\n n$4=*n$3:int [line 15, column 12]\n n$5=*n$1[n$4]:int [line 15, column 7]\n PRUNE(n$5, true); [line 15, 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, if) \n n$1=*n$0:int* [line 15, column 7]\n n$4=*n$3:int [line 15, column 12]\n n$5=*n$1[n$4]:int [line 15, column 7]\n PRUNE(!n$5, false); [line 15, column 7]\n EXIT_SCOPE(n$0,n$1,n$3,n$4,n$5); [line 15, column 7]\n APPLY_ABSTRACTION; [line 15, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_8" [label="8: Prune (false branch, if) \n n$1=*n$0:int* [line 15, column 7]\n n$4=*n$3:int [line 15, column 12]\n n$5=*n$1[n$4]:int [line 15, column 7]\n PRUNE(!n$5, false); [line 15, column 7]\n " shape="invhouse"] "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_8" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_3" ; @@ -37,16 +37,16 @@ digraph cfg { "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_9" -> "dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_5" ; -"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_10" [label="10: UnaryOperator \n n$10=*&p:int** [line 13, column 11]\n n$11=*n$10:int* [line 13, column 10]\n EXIT_SCOPE(n$10); [line 13, column 10]\n " shape="box"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_10" [label="10: UnaryOperator \n n$10=*&p:int** [line 13, column 11]\n n$11=*n$10:int* [line 13, column 10]\n " shape="box"] "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, if) \n n$9=*&p:int** [line 13, column 7]\n n$12=*n$11:int [line 13, column 9]\n n$13=*n$9[n$12]:int* [line 13, column 7]\n PRUNE(n$13, true); [line 13, column 7]\n EXIT_SCOPE(n$9,n$11,n$12,n$13); [line 13, column 7]\n APPLY_ABSTRACTION; [line 13, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_11" [label="11: Prune (true branch, if) \n n$9=*&p:int** [line 13, column 7]\n n$12=*n$11:int [line 13, column 9]\n n$13=*n$9[n$12]:int* [line 13, column 7]\n PRUNE(n$13, true); [line 13, 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, if) \n n$9=*&p:int** [line 13, column 7]\n n$12=*n$11:int [line 13, column 9]\n n$13=*n$9[n$12]:int* [line 13, column 7]\n PRUNE(!n$13, false); [line 13, column 7]\n EXIT_SCOPE(n$9,n$11,n$12,n$13); [line 13, column 7]\n APPLY_ABSTRACTION; [line 13, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_12" [label="12: Prune (false branch, if) \n n$9=*&p:int** [line 13, column 7]\n n$12=*n$11:int [line 13, column 9]\n n$13=*n$9[n$12]:int* [line 13, column 7]\n PRUNE(!n$13, false); [line 13, 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, if) \n n$18=*n$17:int* [line 11, column 7]\n n$19=*n$18[1]:int [line 11, column 7]\n PRUNE(n$19, true); [line 11, column 7]\n EXIT_SCOPE(n$17,n$18,n$19); [line 11, column 7]\n APPLY_ABSTRACTION; [line 11, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_15" [label="15: Prune (true branch, if) \n n$18=*n$17:int* [line 11, column 7]\n n$19=*n$18[1]:int [line 11, column 7]\n PRUNE(n$19, true); [line 11, 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, if) \n n$18=*n$17:int* [line 11, column 7]\n n$19=*n$18[1]:int [line 11, column 7]\n PRUNE(!n$19, false); [line 11, column 7]\n EXIT_SCOPE(n$17,n$18,n$19); [line 11, column 7]\n APPLY_ABSTRACTION; [line 11, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_16" [label="16: Prune (false branch, if) \n n$18=*n$17:int* [line 11, column 7]\n n$19=*n$18[1]:int [line 11, column 7]\n PRUNE(!n$19, false); [line 11, 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, if) \n n$23=*&p:int** [line 9, column 7]\n n$24=*n$23[0]:int* [line 9, column 7]\n PRUNE(n$24, true); [line 9, column 7]\n EXIT_SCOPE(n$23,n$24); [line 9, column 7]\n APPLY_ABSTRACTION; [line 9, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_18" [label="18: Prune (true branch, if) \n n$23=*&p:int** [line 9, column 7]\n n$24=*n$23[0]:int* [line 9, column 7]\n PRUNE(n$24, true); [line 9, 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, if) \n n$23=*&p:int** [line 9, column 7]\n n$24=*n$23[0]:int* [line 9, column 7]\n PRUNE(!n$24, false); [line 9, column 7]\n EXIT_SCOPE(n$23,n$24); [line 9, column 7]\n APPLY_ABSTRACTION; [line 9, column 7]\n " shape="invhouse"] +"dereference_in_array_access.d3133bf0c1bc11000c355c50d0fbb3c0_19" [label="19: Prune (false branch, if) \n n$23=*&p:int** [line 9, column 7]\n n$24=*n$23[0]:int* [line 9, column 7]\n PRUNE(!n$24, false); [line 9, 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 f3b95c45b..4bda4d19f 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 @@ -21,11 +21,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_5" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_7" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_6" [label="6: ConditionalStmt Branch \n n$1=*&z:int [line 24, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$1 [line 24, column 13]\n EXIT_SCOPE(n$1); [line 24, column 13]\n APPLY_ABSTRACTION; [line 24, column 13]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_6" [label="6: ConditionalStmt Branch \n n$1=*&z:int [line 24, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$1 [line 24, column 13]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_6" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_3" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_7" [label="7: ConditionalStmt Branch \n n$2=*&z:int [line 24, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$2 [line 24, column 13]\n EXIT_SCOPE(n$2); [line 24, column 13]\n APPLY_ABSTRACTION; [line 24, column 13]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_7" [label="7: ConditionalStmt Branch \n n$2=*&z:int [line 24, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$2 [line 24, column 13]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_7" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_3" ; @@ -41,15 +41,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_10" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_12" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_11" [label="11: ConditionalStmt Branch \n n$5=*&z:int [line 24, column 31]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=n$5 [line 24, column 27]\n NULLIFY(&z); [line 24, column 27]\n EXIT_SCOPE(n$5,z); [line 24, column 27]\n APPLY_ABSTRACTION; [line 24, column 27]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_11" [label="11: ConditionalStmt Branch \n n$5=*&z:int [line 24, column 31]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=n$5 [line 24, column 27]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_11" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_8" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_12" [label="12: ConditionalStmt Branch \n n$6=*&z:int [line 24, column 35]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=n$6 [line 24, column 27]\n NULLIFY(&z); [line 24, column 27]\n EXIT_SCOPE(n$6,z); [line 24, column 27]\n APPLY_ABSTRACTION; [line 24, column 27]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_12" [label="12: ConditionalStmt Branch \n n$6=*&z:int [line 24, column 35]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=n$6 [line 24, column 27]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_12" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_8" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_13" [label="13: DeclStmt \n VARIABLE_DECLARED(y3:int); [line 24, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 24, column 13]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 24, column 27]\n *&y3:int=(n$3 + n$7) [line 24, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 24, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 24, column 3]\n NULLIFY(&y3); [line 24, column 3]\n EXIT_SCOPE(n$3,n$7,0$?%__sil_tmpSIL_temp_conditional___n$0,0$?%__sil_tmpSIL_temp_conditional___n$4,y3); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_13" [label="13: DeclStmt \n VARIABLE_DECLARED(y3:int); [line 24, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 24, column 13]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 24, column 27]\n *&y3:int=(n$3 + n$7) [line 24, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_13" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_2" ; @@ -65,15 +65,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_16" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_18" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_17" [label="17: ConditionalStmt Branch \n n$9=*&z:int [line 22, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=n$9 [line 22, column 18]\n EXIT_SCOPE(n$9); [line 22, column 18]\n APPLY_ABSTRACTION; [line 22, column 18]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_17" [label="17: ConditionalStmt Branch \n n$9=*&z:int [line 22, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=n$9 [line 22, column 18]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_17" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_14" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_18" [label="18: ConditionalStmt Branch \n n$10=*&z:int [line 22, column 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=n$10 [line 22, column 18]\n EXIT_SCOPE(n$10); [line 22, column 18]\n APPLY_ABSTRACTION; [line 22, column 18]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_18" [label="18: ConditionalStmt Branch \n n$10=*&z:int [line 22, column 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=n$10 [line 22, column 18]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_18" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_14" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_19" [label="19: DeclStmt \n VARIABLE_DECLARED(y2:int); [line 22, column 3]\n n$11=*&0$?%__sil_tmpSIL_temp_conditional___n$8:int [line 22, column 18]\n *&y2:int=(77 + n$11) [line 22, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$8); [line 22, column 3]\n NULLIFY(&y2); [line 22, column 3]\n EXIT_SCOPE(n$11,0$?%__sil_tmpSIL_temp_conditional___n$8,y2); [line 22, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_19" [label="19: DeclStmt \n VARIABLE_DECLARED(y2:int); [line 22, column 3]\n n$11=*&0$?%__sil_tmpSIL_temp_conditional___n$8:int [line 22, column 18]\n *&y2:int=(77 + n$11) [line 22, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_19" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_4" ; @@ -90,15 +90,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_22" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_24" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_23" [label="23: ConditionalStmt Branch \n n$13=*&z:int [line 20, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int=n$13 [line 20, column 13]\n EXIT_SCOPE(n$13); [line 20, column 13]\n APPLY_ABSTRACTION; [line 20, column 13]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_23" [label="23: ConditionalStmt Branch \n n$13=*&z:int [line 20, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int=n$13 [line 20, column 13]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_23" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_20" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_24" [label="24: ConditionalStmt Branch \n n$14=*&z:int [line 20, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int=n$14 [line 20, column 13]\n EXIT_SCOPE(n$14); [line 20, column 13]\n APPLY_ABSTRACTION; [line 20, column 13]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_24" [label="24: ConditionalStmt Branch \n n$14=*&z:int [line 20, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int=n$14 [line 20, column 13]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_24" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_20" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_25" [label="25: DeclStmt \n VARIABLE_DECLARED(y1:int); [line 20, column 3]\n n$15=*&0$?%__sil_tmpSIL_temp_conditional___n$12:int [line 20, column 13]\n *&y1:int=(n$15 + 77) [line 20, column 3]\n NULLIFY(&y1); [line 20, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$12); [line 20, column 3]\n EXIT_SCOPE(n$15,y1,0$?%__sil_tmpSIL_temp_conditional___n$12); [line 20, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_25" [label="25: DeclStmt \n VARIABLE_DECLARED(y1:int); [line 20, column 3]\n n$15=*&0$?%__sil_tmpSIL_temp_conditional___n$12:int [line 20, column 13]\n *&y1:int=(n$15 + 77) [line 20, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_25" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_15" ; @@ -116,11 +116,11 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_28" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_30" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_29" [label="29: ConditionalStmt Branch \n n$17=*&z:int [line 17, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int=n$17 [line 17, column 9]\n EXIT_SCOPE(n$17); [line 17, column 9]\n APPLY_ABSTRACTION; [line 17, column 9]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_29" [label="29: ConditionalStmt Branch \n n$17=*&z:int [line 17, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int=n$17 [line 17, column 9]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_29" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_26" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_30" [label="30: ConditionalStmt Branch \n n$18=*&z:int [line 17, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int=n$18 [line 17, column 9]\n EXIT_SCOPE(n$18); [line 17, column 9]\n APPLY_ABSTRACTION; [line 17, column 9]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_30" [label="30: ConditionalStmt Branch \n n$18=*&z:int [line 17, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int=n$18 [line 17, column 9]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_30" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_26" ; @@ -136,15 +136,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_33" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_35" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_34" [label="34: ConditionalStmt Branch \n n$21=*&z:int [line 17, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int=n$21 [line 17, column 23]\n EXIT_SCOPE(n$21); [line 17, column 23]\n APPLY_ABSTRACTION; [line 17, column 23]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_34" [label="34: ConditionalStmt Branch \n n$21=*&z:int [line 17, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int=n$21 [line 17, column 23]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_34" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_31" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_35" [label="35: ConditionalStmt Branch \n n$22=*&z:int [line 17, column 31]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int=n$22 [line 17, column 23]\n EXIT_SCOPE(n$22); [line 17, column 23]\n APPLY_ABSTRACTION; [line 17, column 23]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_35" [label="35: ConditionalStmt Branch \n n$22=*&z:int [line 17, column 31]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int=n$22 [line 17, column 23]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_35" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_31" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_36" [label="36: BinaryOperatorStmt: Assign \n n$19=*&0$?%__sil_tmpSIL_temp_conditional___n$16:int [line 17, column 9]\n n$23=*&0$?%__sil_tmpSIL_temp_conditional___n$20:int [line 17, column 23]\n *&x3:int=(n$19 + n$23) [line 17, column 3]\n NULLIFY(&x3); [line 17, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$16); [line 17, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$20); [line 17, column 3]\n EXIT_SCOPE(n$19,n$23,x3,0$?%__sil_tmpSIL_temp_conditional___n$16,0$?%__sil_tmpSIL_temp_conditional___n$20); [line 17, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_36" [label="36: BinaryOperatorStmt: Assign \n n$19=*&0$?%__sil_tmpSIL_temp_conditional___n$16:int [line 17, column 9]\n n$23=*&0$?%__sil_tmpSIL_temp_conditional___n$20:int [line 17, column 23]\n *&x3:int=(n$19 + n$23) [line 17, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_36" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_21" ; @@ -161,15 +161,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_39" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_41" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_40" [label="40: ConditionalStmt Branch \n n$25=*&z:int [line 14, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int=n$25 [line 14, column 14]\n EXIT_SCOPE(n$25); [line 14, column 14]\n APPLY_ABSTRACTION; [line 14, column 14]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_40" [label="40: ConditionalStmt Branch \n n$25=*&z:int [line 14, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int=n$25 [line 14, column 14]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_40" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_37" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_41" [label="41: ConditionalStmt Branch \n n$26=*&z:int [line 14, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int=n$26 [line 14, column 14]\n EXIT_SCOPE(n$26); [line 14, column 14]\n APPLY_ABSTRACTION; [line 14, column 14]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_41" [label="41: ConditionalStmt Branch \n n$26=*&z:int [line 14, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int=n$26 [line 14, column 14]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_41" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_37" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_42" [label="42: BinaryOperatorStmt: Assign \n n$27=*&0$?%__sil_tmpSIL_temp_conditional___n$24:int [line 14, column 14]\n *&x2:int=(77 + n$27) [line 14, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$24); [line 14, column 3]\n NULLIFY(&x2); [line 14, column 3]\n EXIT_SCOPE(n$27,0$?%__sil_tmpSIL_temp_conditional___n$24,x2); [line 14, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_42" [label="42: BinaryOperatorStmt: Assign \n n$27=*&0$?%__sil_tmpSIL_temp_conditional___n$24:int [line 14, column 14]\n *&x2:int=(77 + n$27) [line 14, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_42" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_27" ; @@ -186,15 +186,15 @@ digraph cfg { "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_45" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_47" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_46" [label="46: ConditionalStmt Branch \n n$29=*&z:int [line 11, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int=n$29 [line 11, column 9]\n EXIT_SCOPE(n$29); [line 11, column 9]\n APPLY_ABSTRACTION; [line 11, column 9]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_46" [label="46: ConditionalStmt Branch \n n$29=*&z:int [line 11, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int=n$29 [line 11, column 9]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_46" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_43" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_47" [label="47: ConditionalStmt Branch \n n$30=*&z:int [line 11, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int=n$30 [line 11, column 9]\n EXIT_SCOPE(n$30); [line 11, column 9]\n APPLY_ABSTRACTION; [line 11, column 9]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_47" [label="47: ConditionalStmt Branch \n n$30=*&z:int [line 11, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int=n$30 [line 11, column 9]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_47" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_43" ; -"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_48" [label="48: BinaryOperatorStmt: Assign \n n$31=*&0$?%__sil_tmpSIL_temp_conditional___n$28:int [line 11, column 9]\n *&x1:int=(n$31 + 77) [line 11, column 3]\n NULLIFY(&x1); [line 11, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$28); [line 11, column 3]\n EXIT_SCOPE(n$31,x1,0$?%__sil_tmpSIL_temp_conditional___n$28); [line 11, column 3]\n " shape="box"] +"binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_48" [label="48: BinaryOperatorStmt: Assign \n n$31=*&0$?%__sil_tmpSIL_temp_conditional___n$28:int [line 11, column 9]\n *&x1:int=(n$31 + 77) [line 11, column 3]\n " shape="box"] "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_48" -> "binop_with_side_effects.9cbc0255c95bd7e0ccf9d7a826fa2a2d_38" ; 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 a7bcb7360..ffaafeffe 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/cond2.c.dot @@ -23,36 +23,36 @@ digraph cfg { "bar.37b51d194a7513e45b56f6524f2d51f2_6" -> "bar.37b51d194a7513e45b56f6524f2d51f2_8" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 22, column 17]\n APPLY_ABSTRACTION; [line 22, column 17]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 22, column 17]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_7" -> "bar.37b51d194a7513e45b56f6524f2d51f2_4" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=2 [line 22, column 17]\n APPLY_ABSTRACTION; [line 22, column 17]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=2 [line 22, column 17]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_8" -> "bar.37b51d194a7513e45b56f6524f2d51f2_4" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_9" [label="9: BinaryOperatorStmt: GT \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 22, column 17]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 22, column 17]\n EXIT_SCOPE(0$?%__sil_tmpSIL_temp_conditional___n$1); [line 22, column 17]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_9" [label="9: BinaryOperatorStmt: GT \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 22, column 17]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_9" -> "bar.37b51d194a7513e45b56f6524f2d51f2_10" ; "bar.37b51d194a7513e45b56f6524f2d51f2_9" -> "bar.37b51d194a7513e45b56f6524f2d51f2_11" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_10" [label="10: Prune (true branch, boolean exp) \n PRUNE((n$2 > 1), true); [line 22, column 16]\n EXIT_SCOPE(n$2); [line 22, column 16]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_10" [label="10: Prune (true branch, boolean exp) \n PRUNE((n$2 > 1), true); [line 22, column 16]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_10" -> "bar.37b51d194a7513e45b56f6524f2d51f2_12" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_11" [label="11: Prune (false branch, boolean exp) \n PRUNE(!(n$2 > 1), false); [line 22, column 16]\n EXIT_SCOPE(n$2); [line 22, column 16]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_11" [label="11: Prune (false branch, boolean exp) \n PRUNE(!(n$2 > 1), false); [line 22, column 16]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_11" -> "bar.37b51d194a7513e45b56f6524f2d51f2_13" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_12" [label="12: ConditionalStmt Branch \n *&x:int=1 [line 22, column 39]\n n$3=*&x:int [line 22, column 39]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$3 [line 22, column 16]\n NULLIFY(&x); [line 22, column 16]\n EXIT_SCOPE(n$3,x); [line 22, column 16]\n APPLY_ABSTRACTION; [line 22, column 16]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_12" [label="12: ConditionalStmt Branch \n *&x:int=1 [line 22, column 39]\n n$3=*&x:int [line 22, column 39]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$3 [line 22, column 16]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_12" -> "bar.37b51d194a7513e45b56f6524f2d51f2_3" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_13" [label="13: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 22, column 16]\n APPLY_ABSTRACTION; [line 22, column 16]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_13" [label="13: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 22, column 16]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_13" -> "bar.37b51d194a7513e45b56f6524f2d51f2_3" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_14" [label="14: Return Stmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22, column 16]\n *&return:int=(0 + n$4) [line 22, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 22, column 3]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_14" [label="14: Return Stmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22, column 16]\n *&return:int=(0 + n$4) [line 22, column 3]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_14" -> "bar.37b51d194a7513e45b56f6524f2d51f2_2" ; @@ -65,23 +65,23 @@ digraph cfg { "bar.37b51d194a7513e45b56f6524f2d51f2_16" -> "bar.37b51d194a7513e45b56f6524f2d51f2_17" ; "bar.37b51d194a7513e45b56f6524f2d51f2_16" -> "bar.37b51d194a7513e45b56f6524f2d51f2_18" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_17" [label="17: Prune (true branch, boolean exp) \n PRUNE((n$6 > 1), true); [line 21, column 7]\n EXIT_SCOPE(n$6); [line 21, column 7]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_17" [label="17: Prune (true branch, boolean exp) \n PRUNE((n$6 > 1), true); [line 21, column 7]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_17" -> "bar.37b51d194a7513e45b56f6524f2d51f2_19" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_18" [label="18: Prune (false branch, boolean exp) \n PRUNE(!(n$6 > 1), false); [line 21, column 7]\n EXIT_SCOPE(n$6); [line 21, column 7]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_18" [label="18: Prune (false branch, boolean exp) \n PRUNE(!(n$6 > 1), false); [line 21, column 7]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_18" -> "bar.37b51d194a7513e45b56f6524f2d51f2_20" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_19" [label="19: ConditionalStmt Branch \n n$7=*&x:int [line 21, column 22]\n *&x:int=(n$7 + 1) [line 21, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int=(n$7 + 1) [line 21, column 7]\n NULLIFY(&x); [line 21, column 7]\n EXIT_SCOPE(n$7,x); [line 21, column 7]\n APPLY_ABSTRACTION; [line 21, column 7]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_19" [label="19: ConditionalStmt Branch \n n$7=*&x:int [line 21, column 22]\n *&x:int=(n$7 + 1) [line 21, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int=(n$7 + 1) [line 21, column 7]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_19" -> "bar.37b51d194a7513e45b56f6524f2d51f2_15" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_20" [label="20: ConditionalStmt Branch \n n$8=*&x:int [line 21, column 30]\n *&x:int=(n$8 - 1) [line 21, column 30]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int=n$8 [line 21, column 7]\n NULLIFY(&x); [line 21, column 7]\n EXIT_SCOPE(n$8,x); [line 21, column 7]\n APPLY_ABSTRACTION; [line 21, column 7]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_20" [label="20: ConditionalStmt Branch \n n$8=*&x:int [line 21, column 30]\n *&x:int=(n$8 - 1) [line 21, column 30]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int=n$8 [line 21, column 7]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_20" -> "bar.37b51d194a7513e45b56f6524f2d51f2_15" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_21" [label="21: BinaryOperatorStmt: Assign \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int [line 21, column 7]\n *&y:int=n$9 [line 21, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$5); [line 21, column 3]\n NULLIFY(&y); [line 21, column 3]\n EXIT_SCOPE(n$9,0$?%__sil_tmpSIL_temp_conditional___n$5,y); [line 21, column 3]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_21" [label="21: BinaryOperatorStmt: Assign \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int [line 21, column 7]\n *&y:int=n$9 [line 21, column 3]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_21" -> "bar.37b51d194a7513e45b56f6524f2d51f2_5" ; @@ -105,15 +105,15 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_7" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 16, column 16]\n APPLY_ABSTRACTION; [line 16, column 16]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 16, column 16]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_6" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 16, column 16]\n APPLY_ABSTRACTION; [line 16, column 16]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 16, column 16]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_7" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_8" [label="8: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 16, column 16]\n *&return:int=(0 + n$1) [line 16, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 16, column 3]\n EXIT_SCOPE(n$1,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_8" [label="8: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 16, column 16]\n *&return:int=(0 + n$1) [line 16, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_8" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; @@ -130,7 +130,7 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_11" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_14" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_11" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_15" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 15, column 8]\n APPLY_ABSTRACTION; [line 15, column 8]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 15, column 8]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_12" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_9" ; @@ -146,19 +146,19 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_15" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_17" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_16" [label="16: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=1 [line 15, column 21]\n APPLY_ABSTRACTION; [line 15, column 21]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_16" [label="16: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=1 [line 15, column 21]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_16" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_13" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=2 [line 15, column 21]\n APPLY_ABSTRACTION; [line 15, column 21]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=2 [line 15, column 21]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_17" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_13" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_18" [label="18: ConditionalStmt Branch \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 15, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=n$4 [line 15, column 8]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$3); [line 15, column 8]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_temp_conditional___n$3); [line 15, column 8]\n APPLY_ABSTRACTION; [line 15, column 8]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_18" [label="18: ConditionalStmt Branch \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 15, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=n$4 [line 15, column 8]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_18" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_9" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_19" [label="19: BinaryOperatorStmt: Assign \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 15, column 8]\n *&n:int=n$5 [line 15, column 3]\n NULLIFY(&n); [line 15, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 15, column 3]\n EXIT_SCOPE(n$5,n,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 15, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_19" [label="19: BinaryOperatorStmt: Assign \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 15, column 8]\n *&n:int=n$5 [line 15, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_19" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" ; @@ -167,7 +167,7 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_20" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_28" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_21" [label="21: Prune (true branch, boolean exp) \n PRUNE((3 < 4), true); [line 14, column 13]\n NULLIFY(&y); [line 14, column 13]\n NULLIFY(&x); [line 14, column 13]\n EXIT_SCOPE(y,x); [line 14, column 13]\n APPLY_ABSTRACTION; [line 14, column 13]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_21" [label="21: Prune (true branch, boolean exp) \n PRUNE((3 < 4), true); [line 14, column 13]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_21" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_26" ; @@ -175,28 +175,28 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_22" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_23" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_23" [label="23: BinaryOperatorStmt: LT \n n$7=*&x:int [line 14, column 28]\n *&x:int=(n$7 + 1) [line 14, column 28]\n n$8=*&y:int [line 14, column 35]\n NULLIFY(&y); [line 14, column 35]\n NULLIFY(&x); [line 14, column 35]\n EXIT_SCOPE(y,x); [line 14, column 35]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_23" [label="23: BinaryOperatorStmt: LT \n n$7=*&x:int [line 14, column 28]\n *&x:int=(n$7 + 1) [line 14, column 28]\n n$8=*&y:int [line 14, column 35]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_23" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_24" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_23" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_25" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_24" [label="24: Prune (true branch, boolean exp) \n PRUNE((7 < (n$7 - n$8)), true); [line 14, column 22]\n EXIT_SCOPE(n$7,n$8); [line 14, column 22]\n APPLY_ABSTRACTION; [line 14, column 22]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_24" [label="24: Prune (true branch, boolean exp) \n PRUNE((7 < (n$7 - n$8)), true); [line 14, column 22]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_24" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_26" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_25" [label="25: Prune (false branch, boolean exp) \n PRUNE(!(7 < (n$7 - n$8)), false); [line 14, column 22]\n EXIT_SCOPE(n$7,n$8); [line 14, column 22]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_25" [label="25: Prune (false branch, boolean exp) \n PRUNE(!(7 < (n$7 - n$8)), false); [line 14, column 22]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_25" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_27" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_26" [label="26: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=1 [line 14, column 12]\n APPLY_ABSTRACTION; [line 14, column 12]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_26" [label="26: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=1 [line 14, column 12]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_26" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_20" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_27" [label="27: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=2 [line 14, column 12]\n APPLY_ABSTRACTION; [line 14, column 12]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_27" [label="27: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=2 [line 14, column 12]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_27" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_20" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_28" [label="28: DeclStmt \n VARIABLE_DECLARED(n:int); [line 14, column 3]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 14, column 12]\n *&n:int=n$9 [line 14, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 14, column 3]\n NULLIFY(&n); [line 14, column 3]\n EXIT_SCOPE(n$9,0$?%__sil_tmpSIL_temp_conditional___n$6,n); [line 14, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_28" [label="28: DeclStmt \n VARIABLE_DECLARED(n:int); [line 14, column 3]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 14, column 12]\n *&n:int=n$9 [line 14, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_28" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_10" ; @@ -210,7 +210,7 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_29" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_31" [label="31: Prune (true branch, if) \n PRUNE((3 < 4), true); [line 10, column 7]\n NULLIFY(&x); [line 10, column 7]\n EXIT_SCOPE(x); [line 10, column 7]\n APPLY_ABSTRACTION; [line 10, column 7]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_31" [label="31: Prune (true branch, if) \n PRUNE((3 < 4), true); [line 10, column 7]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_31" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" ; @@ -223,15 +223,15 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_33" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_34" [label="34: Prune (true branch, if) \n PRUNE((7 < n$11), true); [line 10, column 16]\n NULLIFY(&x); [line 10, column 16]\n EXIT_SCOPE(n$11,x); [line 10, column 16]\n APPLY_ABSTRACTION; [line 10, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_34" [label="34: Prune (true branch, if) \n PRUNE((7 < n$11), true); [line 10, column 16]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_34" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_35" [label="35: Prune (false branch, if) \n PRUNE(!(7 < n$11), false); [line 10, column 16]\n EXIT_SCOPE(n$11); [line 10, column 16]\n APPLY_ABSTRACTION; [line 10, column 16]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_35" [label="35: Prune (false branch, if) \n PRUNE(!(7 < n$11), false); [line 10, column 16]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_35" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_36" [label="36: BinaryOperatorStmt: Assign \n *&x:int=0 [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_36" [label="36: BinaryOperatorStmt: Assign \n *&x:int=0 [line 11, column 5]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_36" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_30" ; 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 8e2ed98fc..14a139660 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,23 +12,23 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_8" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&b:int [line 12, column 32]\n PRUNE(n$1, true); [line 12, column 32]\n EXIT_SCOPE(n$1); [line 12, column 32]\n " shape="invhouse"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&b:int [line 12, column 32]\n PRUNE(n$1, true); [line 12, column 32]\n " shape="invhouse"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_6" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&b:int [line 12, column 32]\n PRUNE(!n$1, false); [line 12, column 32]\n NULLIFY(&b); [line 12, column 32]\n EXIT_SCOPE(n$1,b); [line 12, column 32]\n " shape="invhouse"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&b:int [line 12, column 32]\n PRUNE(!n$1, false); [line 12, column 32]\n " shape="invhouse"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_7" ; -"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: ConditionalStmt Branch \n n$2=*&b:int [line 12, column 36]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$2 [line 12, column 32]\n NULLIFY(&b); [line 12, column 32]\n EXIT_SCOPE(n$2,b); [line 12, column 32]\n APPLY_ABSTRACTION; [line 12, column 32]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: ConditionalStmt Branch \n n$2=*&b:int [line 12, column 36]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$2 [line 12, column 32]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_6" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 12, column 32]\n APPLY_ABSTRACTION; [line 12, column 32]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 12, column 32]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_7" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_8" [label="8: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12, column 32]\n n$4=_fun_test2(n$3:int) [line 12, column 26]\n *&return:int=n$4 [line 12, column 19]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12, column 19]\n EXIT_SCOPE(n$3,n$4,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12, column 19]\n APPLY_ABSTRACTION; [line 12, column 19]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_8" [label="8: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12, column 32]\n n$4=_fun_test2(n$3:int) [line 12, column 26]\n *&return:int=n$4 [line 12, column 19]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_8" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; @@ -40,7 +40,7 @@ digraph cfg { "test1.5a105e8b9d40e1329780d62ea2265d8a_2" [label="2: Exit test1 \n " color=yellow style=filled] -"test1.5a105e8b9d40e1329780d62ea2265d8a_3" [label="3: Return Stmt \n n$0=*&x:int [line 16, column 10]\n *&return:int=n$0 [line 16, column 3]\n NULLIFY(&x); [line 16, column 3]\n EXIT_SCOPE(n$0,x); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_3" [label="3: Return Stmt \n n$0=*&x:int [line 16, column 10]\n *&return:int=n$0 [line 16, column 3]\n " shape="box"] "test1.5a105e8b9d40e1329780d62ea2265d8a_3" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_2" ; @@ -48,23 +48,23 @@ digraph cfg { "test1.5a105e8b9d40e1329780d62ea2265d8a_4" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_9" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&b:int [line 15, column 11]\n PRUNE(n$2, true); [line 15, column 11]\n EXIT_SCOPE(n$2); [line 15, column 11]\n " shape="invhouse"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&b:int [line 15, column 11]\n PRUNE(n$2, true); [line 15, column 11]\n " shape="invhouse"] "test1.5a105e8b9d40e1329780d62ea2265d8a_5" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_7" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&b:int [line 15, column 11]\n PRUNE(!n$2, false); [line 15, column 11]\n NULLIFY(&b); [line 15, column 11]\n EXIT_SCOPE(n$2,b); [line 15, column 11]\n " shape="invhouse"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&b:int [line 15, column 11]\n PRUNE(!n$2, false); [line 15, column 11]\n " shape="invhouse"] "test1.5a105e8b9d40e1329780d62ea2265d8a_6" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_8" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_7" [label="7: ConditionalStmt Branch \n n$3=*&b:int [line 15, column 15]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 15, column 11]\n NULLIFY(&b); [line 15, column 11]\n EXIT_SCOPE(n$3,b); [line 15, column 11]\n APPLY_ABSTRACTION; [line 15, column 11]\n " shape="box"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_7" [label="7: ConditionalStmt Branch \n n$3=*&b:int [line 15, column 15]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 15, column 11]\n " shape="box"] "test1.5a105e8b9d40e1329780d62ea2265d8a_7" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_4" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 15, column 11]\n APPLY_ABSTRACTION; [line 15, column 11]\n " shape="box"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 15, column 11]\n " shape="box"] "test1.5a105e8b9d40e1329780d62ea2265d8a_8" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_4" ; -"test1.5a105e8b9d40e1329780d62ea2265d8a_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 15, column 11]\n *&x:int=n$4 [line 15, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 15, column 3]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 15, column 3]\n " shape="box"] +"test1.5a105e8b9d40e1329780d62ea2265d8a_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:int); [line 15, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 15, column 11]\n *&x:int=n$4 [line 15, column 3]\n " shape="box"] "test1.5a105e8b9d40e1329780d62ea2265d8a_9" -> "test1.5a105e8b9d40e1329780d62ea2265d8a_3" ; @@ -75,7 +75,7 @@ digraph cfg { "test2.ad0234829205b9033196ba818f7a872b_2" [label="2: Exit test2 \n " color=yellow style=filled] -"test2.ad0234829205b9033196ba818f7a872b_3" [label="3: Return Stmt \n n$0=*&x:int [line 10, column 27]\n *&return:int=n$0 [line 10, column 20]\n NULLIFY(&x); [line 10, column 20]\n EXIT_SCOPE(n$0,x); [line 10, column 20]\n APPLY_ABSTRACTION; [line 10, column 20]\n " shape="box"] +"test2.ad0234829205b9033196ba818f7a872b_3" [label="3: Return Stmt \n n$0=*&x:int [line 10, column 27]\n *&return:int=n$0 [line 10, column 20]\n " shape="box"] "test2.ad0234829205b9033196ba818f7a872b_3" -> "test2.ad0234829205b9033196ba818f7a872b_2" ; @@ -86,7 +86,7 @@ digraph cfg { "test3.8ad8757baa8564dc136c1e07507f4a98_2" [label="2: Exit test3 \n " color=yellow style=filled] -"test3.8ad8757baa8564dc136c1e07507f4a98_3" [label="3: Return Stmt \n n$0=*&x:int [line 21, column 10]\n *&return:int=n$0 [line 21, column 3]\n NULLIFY(&x); [line 21, column 3]\n EXIT_SCOPE(n$0,x); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"test3.8ad8757baa8564dc136c1e07507f4a98_3" [label="3: Return Stmt \n n$0=*&x:int [line 21, column 10]\n *&return:int=n$0 [line 21, column 3]\n " shape="box"] "test3.8ad8757baa8564dc136c1e07507f4a98_3" -> "test3.8ad8757baa8564dc136c1e07507f4a98_2" ; @@ -98,24 +98,24 @@ digraph cfg { "test3.8ad8757baa8564dc136c1e07507f4a98_5" -> "test3.8ad8757baa8564dc136c1e07507f4a98_7" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!n$1, false); [line 20, column 11]\n EXIT_SCOPE(n$1); [line 20, column 11]\n " shape="invhouse"] +"test3.8ad8757baa8564dc136c1e07507f4a98_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!n$1, false); [line 20, column 11]\n " shape="invhouse"] "test3.8ad8757baa8564dc136c1e07507f4a98_6" -> "test3.8ad8757baa8564dc136c1e07507f4a98_8" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=n$1 [line 20, column 11]\n EXIT_SCOPE(n$1); [line 20, column 11]\n APPLY_ABSTRACTION; [line 20, column 11]\n " shape="box"] +"test3.8ad8757baa8564dc136c1e07507f4a98_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=n$1 [line 20, column 11]\n " shape="box"] "test3.8ad8757baa8564dc136c1e07507f4a98_7" -> "test3.8ad8757baa8564dc136c1e07507f4a98_4" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 20, column 11]\n APPLY_ABSTRACTION; [line 20, column 11]\n " shape="box"] +"test3.8ad8757baa8564dc136c1e07507f4a98_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 20, column 11]\n " shape="box"] "test3.8ad8757baa8564dc136c1e07507f4a98_8" -> "test3.8ad8757baa8564dc136c1e07507f4a98_4" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_9" [label="9: BinaryConditionalStmt Init \n n$1=*&b:int [line 20, column 11]\n NULLIFY(&b); [line 20, column 11]\n EXIT_SCOPE(b); [line 20, column 11]\n " shape="box"] +"test3.8ad8757baa8564dc136c1e07507f4a98_9" [label="9: BinaryConditionalStmt Init \n n$1=*&b:int [line 20, column 11]\n " shape="box"] "test3.8ad8757baa8564dc136c1e07507f4a98_9" -> "test3.8ad8757baa8564dc136c1e07507f4a98_5" ; "test3.8ad8757baa8564dc136c1e07507f4a98_9" -> "test3.8ad8757baa8564dc136c1e07507f4a98_6" ; -"test3.8ad8757baa8564dc136c1e07507f4a98_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 20, column 11]\n *&x:int=n$3 [line 20, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 20, column 3]\n EXIT_SCOPE(n$3,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 20, column 3]\n " shape="box"] +"test3.8ad8757baa8564dc136c1e07507f4a98_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 20, column 11]\n *&x:int=n$3 [line 20, column 3]\n " shape="box"] "test3.8ad8757baa8564dc136c1e07507f4a98_10" -> "test3.8ad8757baa8564dc136c1e07507f4a98_3" ; @@ -134,24 +134,24 @@ digraph cfg { "test4.86985e105f79b95d6bc918fb45ec7727_4" -> "test4.86985e105f79b95d6bc918fb45ec7727_6" ; -"test4.86985e105f79b95d6bc918fb45ec7727_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!n$0, false); [line 24, column 33]\n EXIT_SCOPE(n$0); [line 24, column 33]\n " shape="invhouse"] +"test4.86985e105f79b95d6bc918fb45ec7727_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!n$0, false); [line 24, column 33]\n " shape="invhouse"] "test4.86985e105f79b95d6bc918fb45ec7727_5" -> "test4.86985e105f79b95d6bc918fb45ec7727_7" ; -"test4.86985e105f79b95d6bc918fb45ec7727_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$0 [line 24, column 33]\n EXIT_SCOPE(n$0); [line 24, column 33]\n APPLY_ABSTRACTION; [line 24, column 33]\n " shape="box"] +"test4.86985e105f79b95d6bc918fb45ec7727_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$0 [line 24, column 33]\n " shape="box"] "test4.86985e105f79b95d6bc918fb45ec7727_6" -> "test4.86985e105f79b95d6bc918fb45ec7727_3" ; -"test4.86985e105f79b95d6bc918fb45ec7727_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 24, column 33]\n APPLY_ABSTRACTION; [line 24, column 33]\n " shape="box"] +"test4.86985e105f79b95d6bc918fb45ec7727_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 24, column 33]\n " shape="box"] "test4.86985e105f79b95d6bc918fb45ec7727_7" -> "test4.86985e105f79b95d6bc918fb45ec7727_3" ; -"test4.86985e105f79b95d6bc918fb45ec7727_8" [label="8: BinaryConditionalStmt Init \n n$0=*&b:int [line 24, column 33]\n NULLIFY(&b); [line 24, column 33]\n EXIT_SCOPE(b); [line 24, column 33]\n " shape="box"] +"test4.86985e105f79b95d6bc918fb45ec7727_8" [label="8: BinaryConditionalStmt Init \n n$0=*&b:int [line 24, column 33]\n " shape="box"] "test4.86985e105f79b95d6bc918fb45ec7727_8" -> "test4.86985e105f79b95d6bc918fb45ec7727_4" ; "test4.86985e105f79b95d6bc918fb45ec7727_8" -> "test4.86985e105f79b95d6bc918fb45ec7727_5" ; -"test4.86985e105f79b95d6bc918fb45ec7727_9" [label="9: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 24, column 33]\n n$3=_fun_test2(n$2:int) [line 24, column 27]\n *&return:int=n$3 [line 24, column 20]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 24, column 20]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 24, column 20]\n APPLY_ABSTRACTION; [line 24, column 20]\n " shape="box"] +"test4.86985e105f79b95d6bc918fb45ec7727_9" [label="9: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 24, column 33]\n n$3=_fun_test2(n$2:int) [line 24, column 27]\n *&return:int=n$3 [line 24, column 20]\n " shape="box"] "test4.86985e105f79b95d6bc918fb45ec7727_9" -> "test4.86985e105f79b95d6bc918fb45ec7727_2" ; @@ -170,24 +170,24 @@ digraph cfg { "test5.e3d704f3542b44a621ebed70dc0efe13_4" -> "test5.e3d704f3542b44a621ebed70dc0efe13_6" ; -"test5.e3d704f3542b44a621ebed70dc0efe13_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!n$0, false); [line 26, column 27]\n EXIT_SCOPE(n$0); [line 26, column 27]\n " shape="invhouse"] +"test5.e3d704f3542b44a621ebed70dc0efe13_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!n$0, false); [line 26, column 27]\n " shape="invhouse"] "test5.e3d704f3542b44a621ebed70dc0efe13_5" -> "test5.e3d704f3542b44a621ebed70dc0efe13_7" ; -"test5.e3d704f3542b44a621ebed70dc0efe13_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$0 [line 26, column 27]\n EXIT_SCOPE(n$0); [line 26, column 27]\n APPLY_ABSTRACTION; [line 26, column 27]\n " shape="box"] +"test5.e3d704f3542b44a621ebed70dc0efe13_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$0 [line 26, column 27]\n " shape="box"] "test5.e3d704f3542b44a621ebed70dc0efe13_6" -> "test5.e3d704f3542b44a621ebed70dc0efe13_3" ; -"test5.e3d704f3542b44a621ebed70dc0efe13_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 26, column 27]\n APPLY_ABSTRACTION; [line 26, column 27]\n " shape="box"] +"test5.e3d704f3542b44a621ebed70dc0efe13_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 26, column 27]\n " shape="box"] "test5.e3d704f3542b44a621ebed70dc0efe13_7" -> "test5.e3d704f3542b44a621ebed70dc0efe13_3" ; -"test5.e3d704f3542b44a621ebed70dc0efe13_8" [label="8: BinaryConditionalStmt Init \n n$0=*&b:int [line 26, column 27]\n NULLIFY(&b); [line 26, column 27]\n EXIT_SCOPE(b); [line 26, column 27]\n " shape="box"] +"test5.e3d704f3542b44a621ebed70dc0efe13_8" [label="8: BinaryConditionalStmt Init \n n$0=*&b:int [line 26, column 27]\n " shape="box"] "test5.e3d704f3542b44a621ebed70dc0efe13_8" -> "test5.e3d704f3542b44a621ebed70dc0efe13_4" ; "test5.e3d704f3542b44a621ebed70dc0efe13_8" -> "test5.e3d704f3542b44a621ebed70dc0efe13_5" ; -"test5.e3d704f3542b44a621ebed70dc0efe13_9" [label="9: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 26, column 27]\n *&return:int=n$2 [line 26, column 20]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 26, column 20]\n EXIT_SCOPE(n$2,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 26, column 20]\n APPLY_ABSTRACTION; [line 26, column 20]\n " shape="box"] +"test5.e3d704f3542b44a621ebed70dc0efe13_9" [label="9: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 26, column 27]\n *&return:int=n$2 [line 26, column 20]\n " shape="box"] "test5.e3d704f3542b44a621ebed70dc0efe13_9" -> "test5.e3d704f3542b44a621ebed70dc0efe13_2" ; @@ -199,7 +199,7 @@ digraph cfg { "test6.4cfad7076129962ee70c36839a1e3e15_2" [label="2: Exit test6 \n " color=yellow style=filled] -"test6.4cfad7076129962ee70c36839a1e3e15_3" [label="3: Return Stmt \n n$0=*&z:int [line 30, column 10]\n *&return:int=n$0 [line 30, column 3]\n NULLIFY(&z); [line 30, column 3]\n EXIT_SCOPE(n$0,z); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"test6.4cfad7076129962ee70c36839a1e3e15_3" [label="3: Return Stmt \n n$0=*&z:int [line 30, column 10]\n *&return:int=n$0 [line 30, column 3]\n " shape="box"] "test6.4cfad7076129962ee70c36839a1e3e15_3" -> "test6.4cfad7076129962ee70c36839a1e3e15_2" ; @@ -215,15 +215,15 @@ digraph cfg { "test6.4cfad7076129962ee70c36839a1e3e15_6" -> "test6.4cfad7076129962ee70c36839a1e3e15_8" ; -"test6.4cfad7076129962ee70c36839a1e3e15_7" [label="7: ConditionalStmt Branch \n n$2=*&p:int* [line 29, column 16]\n n$3=*n$2:int [line 29, column 15]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 29, column 11]\n NULLIFY(&p); [line 29, column 11]\n EXIT_SCOPE(n$2,n$3,p); [line 29, column 11]\n APPLY_ABSTRACTION; [line 29, column 11]\n " shape="box"] +"test6.4cfad7076129962ee70c36839a1e3e15_7" [label="7: ConditionalStmt Branch \n n$2=*&p:int* [line 29, column 16]\n n$3=*n$2:int [line 29, column 15]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 29, column 11]\n " shape="box"] "test6.4cfad7076129962ee70c36839a1e3e15_7" -> "test6.4cfad7076129962ee70c36839a1e3e15_4" ; -"test6.4cfad7076129962ee70c36839a1e3e15_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=0 [line 29, column 11]\n APPLY_ABSTRACTION; [line 29, column 11]\n " shape="box"] +"test6.4cfad7076129962ee70c36839a1e3e15_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=0 [line 29, column 11]\n " shape="box"] "test6.4cfad7076129962ee70c36839a1e3e15_8" -> "test6.4cfad7076129962ee70c36839a1e3e15_4" ; -"test6.4cfad7076129962ee70c36839a1e3e15_9" [label="9: DeclStmt \n VARIABLE_DECLARED(z:int); [line 29, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 29, column 11]\n *&z:int=n$4 [line 29, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 29, column 3]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 29, column 3]\n " shape="box"] +"test6.4cfad7076129962ee70c36839a1e3e15_9" [label="9: DeclStmt \n VARIABLE_DECLARED(z:int); [line 29, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 29, column 11]\n *&z:int=n$4 [line 29, column 3]\n " shape="box"] "test6.4cfad7076129962ee70c36839a1e3e15_9" -> "test6.4cfad7076129962ee70c36839a1e3e15_3" ; @@ -242,24 +242,24 @@ digraph cfg { "test7.b04083e53e242626595e2b8ea327e525_4" -> "test7.b04083e53e242626595e2b8ea327e525_6" ; -"test7.b04083e53e242626595e2b8ea327e525_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!n$1, false); [line 33, column 27]\n EXIT_SCOPE(n$1); [line 33, column 27]\n " shape="invhouse"] +"test7.b04083e53e242626595e2b8ea327e525_5" [label="5: Prune (false branch, boolean exp) \n PRUNE(!n$1, false); [line 33, column 27]\n " shape="invhouse"] "test7.b04083e53e242626595e2b8ea327e525_5" -> "test7.b04083e53e242626595e2b8ea327e525_7" ; -"test7.b04083e53e242626595e2b8ea327e525_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=n$1 [line 33, column 27]\n EXIT_SCOPE(n$1); [line 33, column 27]\n APPLY_ABSTRACTION; [line 33, column 27]\n " shape="box"] +"test7.b04083e53e242626595e2b8ea327e525_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=n$1 [line 33, column 27]\n " shape="box"] "test7.b04083e53e242626595e2b8ea327e525_6" -> "test7.b04083e53e242626595e2b8ea327e525_3" ; -"test7.b04083e53e242626595e2b8ea327e525_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=2 [line 33, column 27]\n APPLY_ABSTRACTION; [line 33, column 27]\n " shape="box"] +"test7.b04083e53e242626595e2b8ea327e525_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=2 [line 33, column 27]\n " shape="box"] "test7.b04083e53e242626595e2b8ea327e525_7" -> "test7.b04083e53e242626595e2b8ea327e525_3" ; -"test7.b04083e53e242626595e2b8ea327e525_8" [label="8: BinaryConditionalStmt Init \n n$0=_fun_test2(2:int) [line 33, column 37]\n n$1=_fun_test2((2 + n$0):int) [line 33, column 27]\n EXIT_SCOPE(n$0); [line 33, column 27]\n " shape="box"] +"test7.b04083e53e242626595e2b8ea327e525_8" [label="8: BinaryConditionalStmt Init \n n$0=_fun_test2(2:int) [line 33, column 37]\n n$1=_fun_test2((2 + n$0):int) [line 33, column 27]\n " shape="box"] "test7.b04083e53e242626595e2b8ea327e525_8" -> "test7.b04083e53e242626595e2b8ea327e525_4" ; "test7.b04083e53e242626595e2b8ea327e525_8" -> "test7.b04083e53e242626595e2b8ea327e525_5" ; -"test7.b04083e53e242626595e2b8ea327e525_9" [label="9: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 33, column 27]\n *&return:int=n$3 [line 33, column 20]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 33, column 20]\n EXIT_SCOPE(n$3,0$?%__sil_tmpSIL_temp_conditional___n$2); [line 33, column 20]\n APPLY_ABSTRACTION; [line 33, column 20]\n " shape="box"] +"test7.b04083e53e242626595e2b8ea327e525_9" [label="9: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 33, column 27]\n *&return:int=n$3 [line 33, column 20]\n " shape="box"] "test7.b04083e53e242626595e2b8ea327e525_9" -> "test7.b04083e53e242626595e2b8ea327e525_2" ; 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 6e505bcdc..50f929d21 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 @@ -20,15 +20,15 @@ digraph cfg { "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_5" -> "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_7" ; -"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] +"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 10, column 27]\n " shape="box"] "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_6" -> "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_3" ; -"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] +"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 10, column 27]\n " shape="box"] "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_7" -> "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_3" ; -"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_8" [label="8: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 10, column 27]\n n$2=n$1(1:int,2:int,3:int) [line 10, column 26]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 10, column 26]\n EXIT_SCOPE(n$1,n$2,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 10, column 26]\n APPLY_ABSTRACTION; [line 10, column 26]\n " shape="box"] +"fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_8" [label="8: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 10, column 27]\n n$2=n$1(1:int,2:int,3:int) [line 10, column 26]\n " shape="box"] "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_8" -> "fun_ifthenelse1.6d810dc9f25b2ded52969d35a73b5fb3_2" ; @@ -53,11 +53,11 @@ digraph cfg { "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_5" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_7" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 13, column 4]\n APPLY_ABSTRACTION; [line 13, column 4]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 13, column 4]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_6" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_3" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 13, column 4]\n APPLY_ABSTRACTION; [line 13, column 4]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 13, column 4]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_7" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_3" ; @@ -74,11 +74,11 @@ digraph cfg { "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_10" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_12" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 13, column 25]\n APPLY_ABSTRACTION; [line 13, column 25]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 13, column 25]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_11" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_8" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 13, column 25]\n APPLY_ABSTRACTION; [line 13, column 25]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 13, column 25]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_12" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_8" ; @@ -95,11 +95,11 @@ digraph cfg { "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_15" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_17" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_16" [label="16: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=2 [line 13, column 36]\n APPLY_ABSTRACTION; [line 13, column 36]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_16" [label="16: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=2 [line 13, column 36]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_16" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_13" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=2 [line 13, column 36]\n APPLY_ABSTRACTION; [line 13, column 36]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=2 [line 13, column 36]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_17" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_13" ; @@ -115,15 +115,15 @@ digraph cfg { "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_20" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_22" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_21" [label="21: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=3 [line 13, column 47]\n APPLY_ABSTRACTION; [line 13, column 47]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_21" [label="21: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=3 [line 13, column 47]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_21" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_18" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_22" [label="22: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=3 [line 13, column 47]\n APPLY_ABSTRACTION; [line 13, column 47]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_22" [label="22: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=3 [line 13, column 47]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_22" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_18" ; -"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_23" [label="23: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 13, column 4]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 13, column 25]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 13, column 36]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 13, column 47]\n n$8=n$1(n$3:int,n$5:int,n$7:int) [line 13, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 13, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 13, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 13, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 13, column 3]\n EXIT_SCOPE(n$1,n$3,n$5,n$7,n$8,0$?%__sil_tmpSIL_temp_conditional___n$6,0$?%__sil_tmpSIL_temp_conditional___n$0,0$?%__sil_tmpSIL_temp_conditional___n$2,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_23" [label="23: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 13, column 4]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 13, column 25]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 13, column 36]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 13, column 47]\n n$8=n$1(n$3:int,n$5:int,n$7:int) [line 13, column 3]\n " shape="box"] "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_23" -> "fun_ifthenelse2.d4d0fea4695ba22ddab12e33d11e81f2_2" ; @@ -148,11 +148,11 @@ digraph cfg { "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_5" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_7" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 16, column 33]\n APPLY_ABSTRACTION; [line 16, column 33]\n " shape="box"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 16, column 33]\n " shape="box"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_6" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_3" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 16, column 33]\n APPLY_ABSTRACTION; [line 16, column 33]\n " shape="box"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 16, column 33]\n " shape="box"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_7" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_3" ; @@ -169,11 +169,11 @@ digraph cfg { "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_10" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_12" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=2 [line 16, column 44]\n APPLY_ABSTRACTION; [line 16, column 44]\n " shape="box"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=2 [line 16, column 44]\n " shape="box"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_11" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_8" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=2 [line 16, column 44]\n APPLY_ABSTRACTION; [line 16, column 44]\n " shape="box"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=2 [line 16, column 44]\n " shape="box"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_12" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_8" ; @@ -189,15 +189,15 @@ digraph cfg { "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_15" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_17" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_16" [label="16: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 16, column 55]\n APPLY_ABSTRACTION; [line 16, column 55]\n " shape="box"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_16" [label="16: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 16, column 55]\n " shape="box"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_16" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_13" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 16, column 55]\n APPLY_ABSTRACTION; [line 16, column 55]\n " shape="box"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 16, column 55]\n " shape="box"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_17" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_13" ; -"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_18" [label="18: Call _fun_some_f \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 16, column 33]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 16, column 44]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 16, column 55]\n n$6=_fun_some_f(n$1:int,n$3:int,n$5:int) [line 16, column 26]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 16, column 26]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 16, column 26]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 16, column 26]\n EXIT_SCOPE(n$1,n$3,n$5,n$6,0$?%__sil_tmpSIL_temp_conditional___n$0,0$?%__sil_tmpSIL_temp_conditional___n$2,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 16, column 26]\n APPLY_ABSTRACTION; [line 16, column 26]\n " shape="box"] +"fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_18" [label="18: Call _fun_some_f \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 16, column 33]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 16, column 44]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 16, column 55]\n n$6=_fun_some_f(n$1:int,n$3:int,n$5:int) [line 16, column 26]\n " shape="box"] "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_18" -> "fun_ifthenelse3.c62f5c24a34473fea151d2d63cdc87c6_2" ; @@ -222,11 +222,11 @@ digraph cfg { "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_5" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_7" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 18, column 27]\n APPLY_ABSTRACTION; [line 18, column 27]\n " shape="box"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 18, column 27]\n " shape="box"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_6" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_3" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 18, column 27]\n APPLY_ABSTRACTION; [line 18, column 27]\n " shape="box"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*)=_fun_some_f [line 18, column 27]\n " shape="box"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_7" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_3" ; @@ -243,11 +243,11 @@ digraph cfg { "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_10" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_12" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 18, column 48]\n APPLY_ABSTRACTION; [line 18, column 48]\n " shape="box"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 18, column 48]\n " shape="box"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_11" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_8" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 18, column 48]\n APPLY_ABSTRACTION; [line 18, column 48]\n " shape="box"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int=1 [line 18, column 48]\n " shape="box"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_12" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_8" ; @@ -263,15 +263,15 @@ digraph cfg { "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_15" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_17" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_16" [label="16: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 18, column 62]\n APPLY_ABSTRACTION; [line 18, column 62]\n " shape="box"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_16" [label="16: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 18, column 62]\n " shape="box"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_16" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_13" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 18, column 62]\n APPLY_ABSTRACTION; [line 18, column 62]\n " shape="box"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 18, column 62]\n " shape="box"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_17" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_13" ; -"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_18" [label="18: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 18, column 27]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 18, column 48]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 18, column 62]\n n$6=n$1(n$3:int,2:int,n$5:int) [line 18, column 26]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 18, column 26]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 18, column 26]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 18, column 26]\n EXIT_SCOPE(n$1,n$3,n$5,n$6,0$?%__sil_tmpSIL_temp_conditional___n$0,0$?%__sil_tmpSIL_temp_conditional___n$2,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 18, column 26]\n APPLY_ABSTRACTION; [line 18, column 26]\n " shape="box"] +"fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_18" [label="18: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_(*) [line 18, column 27]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 18, column 48]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 18, column 62]\n n$6=n$1(n$3:int,2:int,n$5:int) [line 18, column 26]\n " shape="box"] "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_18" -> "fun_ifthenelse4.2a63e61081ad44f4f9aca9d47562827d_2" ; 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 186dbcbd8..3d5b04e95 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 54, column 3]\n APPLY_ABSTRACTION; [line 54, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 54, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -15,41 +15,41 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, if) \n n$0=*&spec:char* [line 47, column 8]\n PRUNE(!n$0, true); [line 47, column 8]\n NULLIFY(&spec); [line 47, column 8]\n EXIT_SCOPE(n$0,spec); [line 47, column 8]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, if) \n n$0=*&spec:char* [line 47, column 8]\n PRUNE(!n$0, true); [line 47, column 8]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, if) \n n$0=*&spec:char* [line 47, column 8]\n PRUNE(n$0, false); [line 47, column 8]\n EXIT_SCOPE(n$0); [line 47, column 8]\n APPLY_ABSTRACTION; [line 47, column 8]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, if) \n n$0=*&spec:char* [line 47, column 8]\n PRUNE(n$0, false); [line 47, column 8]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$1=_fun_getenv(\"BLOCK_SIZE\":char*) [line 47, column 25]\n *&spec:char*=n$1 [line 47, column 18]\n n$2=*&spec:char* [line 47, column 18]\n EXIT_SCOPE(n$1); [line 47, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$1=_fun_getenv(\"BLOCK_SIZE\":char*) [line 47, column 25]\n *&spec:char*=n$1 [line 47, column 18]\n n$2=*&spec:char* [line 47, column 18]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, if) \n PRUNE(!n$2, true); [line 47, column 18]\n NULLIFY(&spec); [line 47, column 18]\n EXIT_SCOPE(n$2,spec); [line 47, column 18]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, if) \n PRUNE(!n$2, true); [line 47, column 18]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, if) \n PRUNE(n$2, false); [line 47, column 18]\n EXIT_SCOPE(n$2); [line 47, column 18]\n APPLY_ABSTRACTION; [line 47, column 18]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, if) \n PRUNE(n$2, false); [line 47, column 18]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$3=_fun_getenv(\"BLOCKSIZE\":char*) [line 47, column 59]\n *&spec:char*=n$3 [line 47, column 52]\n n$4=*&spec:char* [line 47, column 52]\n EXIT_SCOPE(n$3); [line 47, column 52]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$3=_fun_getenv(\"BLOCKSIZE\":char*) [line 47, column 59]\n *&spec:char*=n$3 [line 47, column 52]\n n$4=*&spec:char* [line 47, column 52]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (true branch, if) \n PRUNE(!n$4, true); [line 47, column 52]\n NULLIFY(&spec); [line 47, column 52]\n EXIT_SCOPE(n$4,spec); [line 47, column 52]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (true branch, if) \n PRUNE(!n$4, true); [line 47, column 52]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (false branch, if) \n PRUNE(n$4, false); [line 47, column 52]\n EXIT_SCOPE(n$4); [line 47, column 52]\n APPLY_ABSTRACTION; [line 47, column 52]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (false branch, if) \n PRUNE(n$4, false); [line 47, column 52]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: Assign \n *&block_size:char*=null [line 48, column 5]\n NULLIFY(&block_size); [line 48, column 5]\n EXIT_SCOPE(block_size); [line 48, column 5]\n APPLY_ABSTRACTION; [line 48, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: Assign \n *&block_size:char*=null [line 48, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -57,24 +57,24 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: BinaryOperatorStmt: EQ \n n$5=*&spec:char* [line 50, column 10]\n n$6=*n$5:char [line 50, column 9]\n NULLIFY(&spec); [line 50, column 9]\n EXIT_SCOPE(n$5,spec); [line 50, column 9]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: BinaryOperatorStmt: EQ \n n$5=*&spec:char* [line 50, column 10]\n n$6=*n$5:char [line 50, column 9]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_16" ; "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_17" ; -"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: Prune (true branch, if) \n PRUNE((n$6 == 39), true); [line 50, column 9]\n EXIT_SCOPE(n$6); [line 50, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: Prune (true branch, if) \n PRUNE((n$6 == 39), true); [line 50, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_16" -> "main.fad58de7366495db4650cfefac2fcd61_18" ; -"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: Prune (false branch, if) \n PRUNE(!(n$6 == 39), false); [line 50, column 9]\n EXIT_SCOPE(n$6); [line 50, column 9]\n APPLY_ABSTRACTION; [line 50, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: Prune (false branch, if) \n PRUNE(!(n$6 == 39), false); [line 50, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_17" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; -"main.fad58de7366495db4650cfefac2fcd61_18" [label="18: BinaryOperatorStmt: Assign \n *&block_size:char*=null [line 51, column 7]\n NULLIFY(&block_size); [line 51, column 7]\n EXIT_SCOPE(block_size); [line 51, column 7]\n APPLY_ABSTRACTION; [line 51, column 7]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_18" [label="18: BinaryOperatorStmt: Assign \n *&block_size:char*=null [line 51, column 7]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_18" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; -"main.fad58de7366495db4650cfefac2fcd61_19" [label="19: BinaryOperatorStmt: Assign \n n$10=_fun_getenv(\"BLOCK\":char*) [line 45, column 10]\n *&spec:char*=n$10 [line 45, column 3]\n EXIT_SCOPE(n$10); [line 45, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_19" [label="19: BinaryOperatorStmt: Assign \n n$10=_fun_getenv(\"BLOCK\":char*) [line 45, column 10]\n *&spec:char*=n$10 [line 45, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_19" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; @@ -91,36 +91,36 @@ digraph cfg { "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_3" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_4" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_4" [label="4: between_join_and_exit \n " shape="box"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_4" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_2" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_5" [label="5: Prune (true branch, if) \n n$1=*&x:int* [line 20, column 8]\n PRUNE(!n$1, true); [line 20, column 8]\n NULLIFY(&x); [line 20, column 8]\n EXIT_SCOPE(n$1,x); [line 20, column 8]\n " shape="invhouse"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_5" [label="5: Prune (true branch, if) \n n$1=*&x:int* [line 20, column 8]\n PRUNE(!n$1, true); [line 20, column 8]\n " shape="invhouse"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_5" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_7" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_6" [label="6: Prune (false branch, if) \n n$1=*&x:int* [line 20, column 8]\n PRUNE(n$1, false); [line 20, column 8]\n EXIT_SCOPE(n$1); [line 20, column 8]\n APPLY_ABSTRACTION; [line 20, column 8]\n " shape="invhouse"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_6" [label="6: Prune (false branch, if) \n n$1=*&x:int* [line 20, column 8]\n PRUNE(n$1, false); [line 20, column 8]\n " shape="invhouse"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_6" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_11" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_7" [label="7: BinaryOperatorStmt: Assign \n n$2=_fun_getenv(\"BLOCK\":char*) [line 20, column 19]\n *&x:int*=(int*)n$2 [line 20, column 15]\n n$3=*&x:int* [line 20, column 15]\n EXIT_SCOPE(n$2); [line 20, column 15]\n " shape="box"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_7" [label="7: BinaryOperatorStmt: Assign \n n$2=_fun_getenv(\"BLOCK\":char*) [line 20, column 19]\n *&x:int*=(int*)n$2 [line 20, column 15]\n n$3=*&x:int* [line 20, column 15]\n " shape="box"] "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, if) \n PRUNE(!n$3, true); [line 20, column 15]\n NULLIFY(&x); [line 20, column 15]\n EXIT_SCOPE(n$3,x); [line 20, column 15]\n " shape="invhouse"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_8" [label="8: Prune (true branch, if) \n PRUNE(!n$3, true); [line 20, column 15]\n " shape="invhouse"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_8" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_10" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_9" [label="9: Prune (false branch, if) \n PRUNE(n$3, false); [line 20, column 15]\n EXIT_SCOPE(n$3); [line 20, column 15]\n APPLY_ABSTRACTION; [line 20, column 15]\n " shape="invhouse"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_9" [label="9: Prune (false branch, if) \n PRUNE(n$3, false); [line 20, column 15]\n " shape="invhouse"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_9" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_11" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_10" [label="10: BinaryOperatorStmt: Assign \n *&x:int*=17 [line 21, column 5]\n NULLIFY(&x); [line 21, column 5]\n EXIT_SCOPE(x); [line 21, column 5]\n APPLY_ABSTRACTION; [line 21, column 5]\n " shape="box"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_10" [label="10: BinaryOperatorStmt: Assign \n *&x:int*=17 [line 21, column 5]\n " shape="box"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_10" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_3" ; -"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_11" [label="11: BinaryOperatorStmt: Assign \n n$4=*&x:int* [line 23, column 6]\n *n$4:int=32 [line 23, column 5]\n NULLIFY(&x); [line 23, column 5]\n EXIT_SCOPE(n$4,x); [line 23, column 5]\n APPLY_ABSTRACTION; [line 23, column 5]\n " shape="box"] +"shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_11" [label="11: BinaryOperatorStmt: Assign \n n$4=*&x:int* [line 23, column 6]\n *n$4:int=32 [line 23, column 5]\n " shape="box"] "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_11" -> "shortcircuit_and.10f9635d805ff3bd29dfc80b8f8d12da_3" ; @@ -135,7 +135,7 @@ digraph cfg { "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_3" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_4" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_4" [label="4: between_join_and_exit \n " shape="box"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_4" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_2" ; @@ -144,32 +144,32 @@ 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, if) \n PRUNE((n$1 == null), true); [line 12, column 7]\n EXIT_SCOPE(n$1); [line 12, column 7]\n APPLY_ABSTRACTION; [line 12, column 7]\n " shape="invhouse"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_6" [label="6: Prune (true branch, if) \n PRUNE((n$1 == null), true); [line 12, column 7]\n " shape="invhouse"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_6" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_11" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$1 == null), false); [line 12, column 7]\n EXIT_SCOPE(n$1); [line 12, column 7]\n " shape="invhouse"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$1 == null), false); [line 12, column 7]\n " shape="invhouse"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_7" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_8" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_8" [label="8: BinaryOperatorStmt: EQ \n n$2=*&x:int* [line 12, column 18]\n n$3=*n$2:int [line 12, column 17]\n NULLIFY(&x); [line 12, column 17]\n EXIT_SCOPE(n$2,x); [line 12, column 17]\n " shape="box"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_8" [label="8: BinaryOperatorStmt: EQ \n n$2=*&x:int* [line 12, column 18]\n n$3=*n$2:int [line 12, column 17]\n " shape="box"] "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, if) \n PRUNE((n$3 == 2), true); [line 12, column 17]\n EXIT_SCOPE(n$3); [line 12, column 17]\n APPLY_ABSTRACTION; [line 12, column 17]\n " shape="invhouse"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_9" [label="9: Prune (true branch, if) \n PRUNE((n$3 == 2), true); [line 12, column 17]\n " shape="invhouse"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_9" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_11" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_10" [label="10: Prune (false branch, if) \n PRUNE(!(n$3 == 2), false); [line 12, column 17]\n EXIT_SCOPE(n$3); [line 12, column 17]\n " shape="invhouse"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_10" [label="10: Prune (false branch, if) \n PRUNE(!(n$3 == 2), false); [line 12, column 17]\n " shape="invhouse"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_10" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_12" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_11" [label="11: BinaryOperatorStmt: Assign \n *&x:int*=17 [line 13, column 5]\n NULLIFY(&x); [line 13, column 5]\n EXIT_SCOPE(x); [line 13, column 5]\n APPLY_ABSTRACTION; [line 13, column 5]\n " shape="box"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_11" [label="11: BinaryOperatorStmt: Assign \n *&x:int*=17 [line 13, column 5]\n " shape="box"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_11" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_3" ; -"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_12" [label="12: BinaryOperatorStmt: Assign \n *&x:int*=32 [line 15, column 5]\n NULLIFY(&x); [line 15, column 5]\n EXIT_SCOPE(x); [line 15, column 5]\n APPLY_ABSTRACTION; [line 15, column 5]\n " shape="box"] +"shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_12" [label="12: BinaryOperatorStmt: Assign \n *&x:int*=32 [line 15, column 5]\n " shape="box"] "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_12" -> "shortcircuit_or.5845fe75b89f8af7ec1944cd207962af_3" ; @@ -185,45 +185,45 @@ 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, while) \n n$0=*&spec:char* [line 34, column 12]\n PRUNE(!n$0, true); [line 34, column 12]\n NULLIFY(&spec); [line 34, column 12]\n EXIT_SCOPE(n$0,spec); [line 34, column 12]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_4" [label="4: Prune (true branch, while) \n n$0=*&spec:char* [line 34, column 12]\n PRUNE(!n$0, true); [line 34, column 12]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_4" -> "test_loop.254a9d372f8f45542e409771135b9322_6" ; -"test_loop.254a9d372f8f45542e409771135b9322_5" [label="5: Prune (false branch, while) \n n$0=*&spec:char* [line 34, column 12]\n PRUNE(n$0, false); [line 34, column 12]\n NULLIFY(&spec); [line 34, column 12]\n EXIT_SCOPE(n$0,spec); [line 34, column 12]\n APPLY_ABSTRACTION; [line 34, column 12]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_5" [label="5: Prune (false branch, while) \n n$0=*&spec:char* [line 34, column 12]\n PRUNE(n$0, false); [line 34, column 12]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_5" -> "test_loop.254a9d372f8f45542e409771135b9322_2" ; -"test_loop.254a9d372f8f45542e409771135b9322_6" [label="6: BinaryOperatorStmt: Assign \n n$1=_fun_getenv(\"BLOCK_SIZE\":char*) [line 34, column 29]\n *&spec:char*=n$1 [line 34, column 22]\n n$2=*&spec:char* [line 34, column 22]\n NULLIFY(&spec); [line 34, column 22]\n EXIT_SCOPE(n$1,spec); [line 34, column 22]\n " shape="box"] +"test_loop.254a9d372f8f45542e409771135b9322_6" [label="6: BinaryOperatorStmt: Assign \n n$1=_fun_getenv(\"BLOCK_SIZE\":char*) [line 34, column 29]\n *&spec:char*=n$1 [line 34, column 22]\n n$2=*&spec:char* [line 34, column 22]\n " shape="box"] "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, while) \n PRUNE(!n$2, true); [line 34, column 22]\n EXIT_SCOPE(n$2); [line 34, column 22]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_7" [label="7: Prune (true branch, while) \n PRUNE(!n$2, true); [line 34, column 22]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_7" -> "test_loop.254a9d372f8f45542e409771135b9322_9" ; -"test_loop.254a9d372f8f45542e409771135b9322_8" [label="8: Prune (false branch, while) \n PRUNE(n$2, false); [line 34, column 22]\n EXIT_SCOPE(n$2); [line 34, column 22]\n APPLY_ABSTRACTION; [line 34, column 22]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_8" [label="8: Prune (false branch, while) \n PRUNE(n$2, false); [line 34, column 22]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_8" -> "test_loop.254a9d372f8f45542e409771135b9322_2" ; -"test_loop.254a9d372f8f45542e409771135b9322_9" [label="9: BinaryOperatorStmt: Assign \n n$3=_fun_getenv(\"BLOCKSIZE\":char*) [line 35, column 20]\n *&spec:char*=n$3 [line 35, column 13]\n n$4=*&spec:char* [line 35, column 13]\n EXIT_SCOPE(n$3); [line 35, column 13]\n " shape="box"] +"test_loop.254a9d372f8f45542e409771135b9322_9" [label="9: BinaryOperatorStmt: Assign \n n$3=_fun_getenv(\"BLOCKSIZE\":char*) [line 35, column 20]\n *&spec:char*=n$3 [line 35, column 13]\n n$4=*&spec:char* [line 35, column 13]\n " shape="box"] "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, while) \n PRUNE(!n$4, true); [line 35, column 13]\n EXIT_SCOPE(n$4); [line 35, column 13]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_10" [label="10: Prune (true branch, while) \n PRUNE(!n$4, true); [line 35, column 13]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_10" -> "test_loop.254a9d372f8f45542e409771135b9322_12" ; -"test_loop.254a9d372f8f45542e409771135b9322_11" [label="11: Prune (false branch, while) \n PRUNE(n$4, false); [line 35, column 13]\n NULLIFY(&spec); [line 35, column 13]\n EXIT_SCOPE(n$4,spec); [line 35, column 13]\n APPLY_ABSTRACTION; [line 35, column 13]\n " shape="invhouse"] +"test_loop.254a9d372f8f45542e409771135b9322_11" [label="11: Prune (false branch, while) \n PRUNE(n$4, false); [line 35, column 13]\n " shape="invhouse"] "test_loop.254a9d372f8f45542e409771135b9322_11" -> "test_loop.254a9d372f8f45542e409771135b9322_2" ; -"test_loop.254a9d372f8f45542e409771135b9322_12" [label="12: BinaryOperatorStmt: Assign \n *&block_size:char*=null [line 36, column 5]\n NULLIFY(&block_size); [line 36, column 5]\n EXIT_SCOPE(block_size); [line 36, column 5]\n APPLY_ABSTRACTION; [line 36, column 5]\n " shape="box"] +"test_loop.254a9d372f8f45542e409771135b9322_12" [label="12: BinaryOperatorStmt: Assign \n *&block_size:char*=null [line 36, column 5]\n " shape="box"] "test_loop.254a9d372f8f45542e409771135b9322_12" -> "test_loop.254a9d372f8f45542e409771135b9322_3" ; -"test_loop.254a9d372f8f45542e409771135b9322_13" [label="13: BinaryOperatorStmt: Assign \n n$6=_fun_getenv(\"BLOCK\":char*) [line 32, column 10]\n *&spec:char*=n$6 [line 32, column 3]\n EXIT_SCOPE(n$6); [line 32, column 3]\n APPLY_ABSTRACTION; [line 32, column 3]\n " shape="box"] +"test_loop.254a9d372f8f45542e409771135b9322_13" [label="13: BinaryOperatorStmt: Assign \n n$6=_fun_getenv(\"BLOCK\":char*) [line 32, column 10]\n *&spec:char*=n$6 [line 32, column 3]\n " shape="box"] "test_loop.254a9d372f8f45542e409771135b9322_13" -> "test_loop.254a9d372f8f45542e409771135b9322_3" ; 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 cb54a1dd2..cd68e073c 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 @@ -11,28 +11,28 @@ digraph cfg { "bar.37b51d194a7513e45b56f6524f2d51f2_3" -> "bar.37b51d194a7513e45b56f6524f2d51f2_4" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_4" [label="4: between_join_and_exit \n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_4" -> "bar.37b51d194a7513e45b56f6524f2d51f2_2" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_5" [label="5: Call _fun_identity \n n$0=*&x:int [line 11, column 16]\n n$1=_fun_identity(n$0:int) [line 11, column 7]\n NULLIFY(&x); [line 11, column 7]\n EXIT_SCOPE(n$0,x); [line 11, column 7]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_5" [label="5: Call _fun_identity \n n$0=*&x:int [line 11, column 16]\n n$1=_fun_identity(n$0:int) [line 11, column 7]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_5" -> "bar.37b51d194a7513e45b56f6524f2d51f2_6" ; "bar.37b51d194a7513e45b56f6524f2d51f2_5" -> "bar.37b51d194a7513e45b56f6524f2d51f2_7" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_6" [label="6: Prune (true branch, if) \n PRUNE(n$1, true); [line 11, column 7]\n EXIT_SCOPE(n$1); [line 11, column 7]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_6" [label="6: Prune (true branch, if) \n PRUNE(n$1, true); [line 11, column 7]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_6" -> "bar.37b51d194a7513e45b56f6524f2d51f2_8" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$1, false); [line 11, column 7]\n EXIT_SCOPE(n$1); [line 11, column 7]\n " shape="invhouse"] +"bar.37b51d194a7513e45b56f6524f2d51f2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$1, false); [line 11, column 7]\n " shape="invhouse"] "bar.37b51d194a7513e45b56f6524f2d51f2_7" -> "bar.37b51d194a7513e45b56f6524f2d51f2_9" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_8" [label="8: Return Stmt \n *&return:int=1 [line 12, column 5]\n APPLY_ABSTRACTION; [line 12, column 5]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_8" [label="8: Return Stmt \n *&return:int=1 [line 12, column 5]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_8" -> "bar.37b51d194a7513e45b56f6524f2d51f2_2" ; -"bar.37b51d194a7513e45b56f6524f2d51f2_9" [label="9: Return Stmt \n *&return:int=0 [line 14, column 5]\n APPLY_ABSTRACTION; [line 14, column 5]\n " shape="box"] +"bar.37b51d194a7513e45b56f6524f2d51f2_9" [label="9: Return Stmt \n *&return:int=0 [line 14, column 5]\n " shape="box"] "bar.37b51d194a7513e45b56f6524f2d51f2_9" -> "bar.37b51d194a7513e45b56f6524f2d51f2_2" ; @@ -48,7 +48,7 @@ digraph cfg { "baz.73feffa4b7f6bb68e44cf984c85f6e88_3" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_4" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_4" [label="4: between_join_and_exit \n " shape="box"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_4" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_2" ; @@ -56,40 +56,40 @@ digraph cfg { "baz.73feffa4b7f6bb68e44cf984c85f6e88_5" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_10" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_6" [label="6: Prune (true branch, boolean exp) \n n$1=*&x:int [line 20, column 17]\n PRUNE(n$1, true); [line 20, column 17]\n NULLIFY(&x); [line 20, column 17]\n EXIT_SCOPE(n$1,x); [line 20, column 17]\n " shape="invhouse"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_6" [label="6: Prune (true branch, boolean exp) \n n$1=*&x:int [line 20, column 17]\n PRUNE(n$1, true); [line 20, column 17]\n " shape="invhouse"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_6" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_8" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_7" [label="7: Prune (false branch, boolean exp) \n n$1=*&x:int [line 20, column 17]\n PRUNE(!n$1, false); [line 20, column 17]\n NULLIFY(&x); [line 20, column 17]\n EXIT_SCOPE(n$1,x); [line 20, column 17]\n " shape="invhouse"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_7" [label="7: Prune (false branch, boolean exp) \n n$1=*&x:int [line 20, column 17]\n PRUNE(!n$1, false); [line 20, column 17]\n " shape="invhouse"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_7" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_9" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 20, column 16]\n APPLY_ABSTRACTION; [line 20, column 16]\n " shape="box"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 20, column 16]\n " shape="box"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_8" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_5" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_9" [label="9: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 20, column 16]\n APPLY_ABSTRACTION; [line 20, column 16]\n " shape="box"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_9" [label="9: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 20, column 16]\n " shape="box"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_9" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_5" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_10" [label="10: Call _fun_identity \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 20, column 16]\n n$3=_fun_identity(n$2:int) [line 20, column 7]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 20, column 7]\n EXIT_SCOPE(n$2,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 20, column 7]\n " shape="box"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_10" [label="10: Call _fun_identity \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 20, column 16]\n n$3=_fun_identity(n$2:int) [line 20, column 7]\n " shape="box"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_10" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_11" ; "baz.73feffa4b7f6bb68e44cf984c85f6e88_10" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_12" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_11" [label="11: Prune (true branch, if) \n PRUNE(n$3, true); [line 20, column 7]\n EXIT_SCOPE(n$3); [line 20, column 7]\n " shape="invhouse"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_11" [label="11: Prune (true branch, if) \n PRUNE(n$3, true); [line 20, column 7]\n " shape="invhouse"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_11" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_13" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_12" [label="12: Prune (false branch, if) \n PRUNE(!n$3, false); [line 20, column 7]\n EXIT_SCOPE(n$3); [line 20, column 7]\n " shape="invhouse"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_12" [label="12: Prune (false branch, if) \n PRUNE(!n$3, false); [line 20, column 7]\n " shape="invhouse"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_12" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_14" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_13" [label="13: Return Stmt \n *&return:int=1 [line 21, column 5]\n APPLY_ABSTRACTION; [line 21, column 5]\n " shape="box"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_13" [label="13: Return Stmt \n *&return:int=1 [line 21, column 5]\n " shape="box"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_13" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_2" ; -"baz.73feffa4b7f6bb68e44cf984c85f6e88_14" [label="14: Return Stmt \n *&return:int=0 [line 23, column 5]\n APPLY_ABSTRACTION; [line 23, column 5]\n " shape="box"] +"baz.73feffa4b7f6bb68e44cf984c85f6e88_14" [label="14: Return Stmt \n *&return:int=0 [line 23, column 5]\n " shape="box"] "baz.73feffa4b7f6bb68e44cf984c85f6e88_14" -> "baz.73feffa4b7f6bb68e44cf984c85f6e88_2" ; @@ -100,7 +100,7 @@ digraph cfg { "identity.ff483d1ff591898a9942916050d2ca3f_2" [label="2: Exit identity \n " color=yellow style=filled] -"identity.ff483d1ff591898a9942916050d2ca3f_3" [label="3: Return Stmt \n n$0=*&x:int [line 8, column 30]\n *&return:int=n$0 [line 8, column 23]\n NULLIFY(&x); [line 8, column 23]\n EXIT_SCOPE(n$0,x); [line 8, column 23]\n APPLY_ABSTRACTION; [line 8, column 23]\n " shape="box"] +"identity.ff483d1ff591898a9942916050d2ca3f_3" [label="3: Return Stmt \n n$0=*&x:int [line 8, column 30]\n *&return:int=n$0 [line 8, column 23]\n " shape="box"] "identity.ff483d1ff591898a9942916050d2ca3f_3" -> "identity.ff483d1ff591898a9942916050d2ca3f_2" ; @@ -116,23 +116,23 @@ digraph cfg { "neg.f24c2c15b9d03797c6874986a8d19516_3" -> "neg.f24c2c15b9d03797c6874986a8d19516_8" ; -"neg.f24c2c15b9d03797c6874986a8d19516_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&x:int [line 27, column 26]\n PRUNE(n$1, true); [line 27, column 26]\n NULLIFY(&x); [line 27, column 26]\n EXIT_SCOPE(n$1,x); [line 27, column 26]\n " shape="invhouse"] +"neg.f24c2c15b9d03797c6874986a8d19516_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&x:int [line 27, column 26]\n PRUNE(n$1, true); [line 27, column 26]\n " shape="invhouse"] "neg.f24c2c15b9d03797c6874986a8d19516_4" -> "neg.f24c2c15b9d03797c6874986a8d19516_6" ; -"neg.f24c2c15b9d03797c6874986a8d19516_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&x:int [line 27, column 26]\n PRUNE(!n$1, false); [line 27, column 26]\n NULLIFY(&x); [line 27, column 26]\n EXIT_SCOPE(n$1,x); [line 27, column 26]\n " shape="invhouse"] +"neg.f24c2c15b9d03797c6874986a8d19516_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&x:int [line 27, column 26]\n PRUNE(!n$1, false); [line 27, column 26]\n " shape="invhouse"] "neg.f24c2c15b9d03797c6874986a8d19516_5" -> "neg.f24c2c15b9d03797c6874986a8d19516_7" ; -"neg.f24c2c15b9d03797c6874986a8d19516_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 27, column 25]\n APPLY_ABSTRACTION; [line 27, column 25]\n " shape="box"] +"neg.f24c2c15b9d03797c6874986a8d19516_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 27, column 25]\n " shape="box"] "neg.f24c2c15b9d03797c6874986a8d19516_6" -> "neg.f24c2c15b9d03797c6874986a8d19516_3" ; -"neg.f24c2c15b9d03797c6874986a8d19516_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 27, column 25]\n APPLY_ABSTRACTION; [line 27, column 25]\n " shape="box"] +"neg.f24c2c15b9d03797c6874986a8d19516_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 27, column 25]\n " shape="box"] "neg.f24c2c15b9d03797c6874986a8d19516_7" -> "neg.f24c2c15b9d03797c6874986a8d19516_3" ; -"neg.f24c2c15b9d03797c6874986a8d19516_8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 27, column 25]\n *&return:int=n$2 [line 27, column 18]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 18]\n EXIT_SCOPE(n$2,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 18]\n APPLY_ABSTRACTION; [line 27, column 18]\n " shape="box"] +"neg.f24c2c15b9d03797c6874986a8d19516_8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 27, column 25]\n *&return:int=n$2 [line 27, column 18]\n " shape="box"] "neg.f24c2c15b9d03797c6874986a8d19516_8" -> "neg.f24c2c15b9d03797c6874986a8d19516_2" ; 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 56484e685..ec621aba7 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 @@ -20,15 +20,15 @@ digraph cfg { "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_5" -> "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_7" ; -"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_6" [label="6: ConditionalStmt Branch \n n$1=_fun_ret_ptr(4:int) [line 20, column 50]\n n$2=*n$1.field:int [line 20, column 49]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$2 [line 20, column 45]\n EXIT_SCOPE(n$1,n$2); [line 20, column 45]\n APPLY_ABSTRACTION; [line 20, column 45]\n " shape="box"] +"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_6" [label="6: ConditionalStmt Branch \n n$1=_fun_ret_ptr(4:int) [line 20, column 50]\n n$2=*n$1.field:int [line 20, column 49]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$2 [line 20, column 45]\n " shape="box"] "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_6" -> "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_3" ; -"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 20, column 45]\n APPLY_ABSTRACTION; [line 20, column 45]\n " shape="box"] +"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 20, column 45]\n " shape="box"] "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_7" -> "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_3" ; -"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 20, column 37]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 20, column 45]\n *&z:int=n$3 [line 20, column 37]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 20, column 37]\n NULLIFY(&z); [line 20, column 37]\n EXIT_SCOPE(n$3,0$?%__sil_tmpSIL_temp_conditional___n$0,z); [line 20, column 37]\n APPLY_ABSTRACTION; [line 20, column 37]\n " shape="box"] +"access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 20, column 37]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 20, column 45]\n *&z:int=n$3 [line 20, column 37]\n " shape="box"] "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_8" -> "access_field_in_ife_branch.09235b723e846eb21b7cc76cb004f032_2" ; @@ -52,15 +52,15 @@ digraph cfg { "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_5" -> "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_7" ; -"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=2 [line 18, column 54]\n APPLY_ABSTRACTION; [line 18, column 54]\n " shape="box"] +"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=2 [line 18, column 54]\n " shape="box"] "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_6" -> "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_3" ; -"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=3 [line 18, column 54]\n APPLY_ABSTRACTION; [line 18, column 54]\n " shape="box"] +"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=3 [line 18, column 54]\n " shape="box"] "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_7" -> "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_3" ; -"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 18, column 37]\n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18, column 54]\n n$2=_fun_ret_ptr(n$1:int) [line 18, column 46]\n n$3=*n$2.field:int [line 18, column 45]\n *&z:int=n$3 [line 18, column 37]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 18, column 37]\n NULLIFY(&z); [line 18, column 37]\n EXIT_SCOPE(n$1,n$2,n$3,0$?%__sil_tmpSIL_temp_conditional___n$0,z); [line 18, column 37]\n APPLY_ABSTRACTION; [line 18, column 37]\n " shape="box"] +"call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 18, column 37]\n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18, column 54]\n n$2=_fun_ret_ptr(n$1:int) [line 18, column 46]\n n$3=*n$2.field:int [line 18, column 45]\n *&z:int=n$3 [line 18, column 37]\n " shape="box"] "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_8" -> "call_ife_then_access_field.b6f399d1a50b93c2421854974cd226e3_2" ; @@ -84,15 +84,15 @@ digraph cfg { "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_5" -> "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_7" ; -"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_6" [label="6: ConditionalStmt Branch \n n$1=*&p:s* [line 15, column 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:s*=n$1 [line 15, column 12]\n NULLIFY(&p); [line 15, column 12]\n EXIT_SCOPE(n$1,p); [line 15, column 12]\n APPLY_ABSTRACTION; [line 15, column 12]\n " shape="box"] +"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_6" [label="6: ConditionalStmt Branch \n n$1=*&p:s* [line 15, column 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:s*=n$1 [line 15, column 12]\n " shape="box"] "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_6" -> "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_3" ; -"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_7" [label="7: ConditionalStmt Branch \n n$2=*&q:s* [line 15, column 20]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:s*=n$2 [line 15, column 12]\n NULLIFY(&q); [line 15, column 12]\n EXIT_SCOPE(n$2,q); [line 15, column 12]\n APPLY_ABSTRACTION; [line 15, column 12]\n " shape="box"] +"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_7" [label="7: ConditionalStmt Branch \n n$2=*&q:s* [line 15, column 20]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:s*=n$2 [line 15, column 12]\n " shape="box"] "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_7" -> "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_3" ; -"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 15, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:s* [line 15, column 12]\n n$4=*n$3.field:int [line 15, column 11]\n *&z:int=n$4 [line 15, column 3]\n NULLIFY(&z); [line 15, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,z,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"ife_then_access_field.314daa5b993f0f569c257230f350e2e2_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 15, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:s* [line 15, column 12]\n n$4=*n$3.field:int [line 15, column 11]\n *&z:int=n$4 [line 15, column 3]\n " shape="box"] "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_8" -> "ife_then_access_field.314daa5b993f0f569c257230f350e2e2_2" ; 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 e5b7c266a..2efbfeb90 100644 --- a/infer/tests/codetoanalyze/c/frontend/conditional_operator/preincrement.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/conditional_operator/preincrement.c.dot @@ -20,11 +20,11 @@ digraph cfg { "preincrement.db7c6523f16e1ab3058057cee6614472_5" -> "preincrement.db7c6523f16e1ab3058057cee6614472_7" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_6" [label="6: ConditionalStmt Branch \n n$1=*&p:s* [line 16, column 8]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:s*=n$1 [line 16, column 4]\n NULLIFY(&p); [line 16, column 4]\n EXIT_SCOPE(n$1,p); [line 16, column 4]\n APPLY_ABSTRACTION; [line 16, column 4]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_6" [label="6: ConditionalStmt Branch \n n$1=*&p:s* [line 16, column 8]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:s*=n$1 [line 16, column 4]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_6" -> "preincrement.db7c6523f16e1ab3058057cee6614472_3" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_7" [label="7: ConditionalStmt Branch \n n$2=*&p:s* [line 16, column 12]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:s*=n$2 [line 16, column 4]\n NULLIFY(&p); [line 16, column 4]\n EXIT_SCOPE(n$2,p); [line 16, column 4]\n APPLY_ABSTRACTION; [line 16, column 4]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_7" [label="7: ConditionalStmt Branch \n n$2=*&p:s* [line 16, column 12]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:s*=n$2 [line 16, column 4]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_7" -> "preincrement.db7c6523f16e1ab3058057cee6614472_3" ; @@ -40,15 +40,15 @@ digraph cfg { "preincrement.db7c6523f16e1ab3058057cee6614472_10" -> "preincrement.db7c6523f16e1ab3058057cee6614472_12" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 16, column 21]\n APPLY_ABSTRACTION; [line 16, column 21]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=3 [line 16, column 21]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_11" -> "preincrement.db7c6523f16e1ab3058057cee6614472_8" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=7 [line 16, column 21]\n APPLY_ABSTRACTION; [line 16, column 21]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int=7 [line 16, column 21]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_12" -> "preincrement.db7c6523f16e1ab3058057cee6614472_8" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_13" [label="13: BinaryOperatorStmt: AddAssign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:s* [line 16, column 4]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 16, column 21]\n n$6=*n$3.x:int [line 16, column 3]\n *n$3.x:int=(n$6 + n$5) [line 16, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 16, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 16, column 3]\n EXIT_SCOPE(n$3,n$5,n$6,0$?%__sil_tmpSIL_temp_conditional___n$0,0$?%__sil_tmpSIL_temp_conditional___n$4); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_13" [label="13: BinaryOperatorStmt: AddAssign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:s* [line 16, column 4]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 16, column 21]\n n$6=*n$3.x:int [line 16, column 3]\n *n$3.x:int=(n$6 + n$5) [line 16, column 3]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_13" -> "preincrement.db7c6523f16e1ab3058057cee6614472_2" ; @@ -64,15 +64,15 @@ digraph cfg { "preincrement.db7c6523f16e1ab3058057cee6614472_16" -> "preincrement.db7c6523f16e1ab3058057cee6614472_18" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=3 [line 15, column 11]\n APPLY_ABSTRACTION; [line 15, column 11]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_17" [label="17: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=3 [line 15, column 11]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_17" -> "preincrement.db7c6523f16e1ab3058057cee6614472_14" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_18" [label="18: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=7 [line 15, column 11]\n APPLY_ABSTRACTION; [line 15, column 11]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_18" [label="18: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int=7 [line 15, column 11]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_18" -> "preincrement.db7c6523f16e1ab3058057cee6614472_14" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_19" [label="19: BinaryOperatorStmt: AddAssign \n n$7=*&p:s* [line 15, column 3]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$8:int [line 15, column 11]\n n$10=*n$7.x:int [line 15, column 3]\n *n$7.x:int=(n$10 + n$9) [line 15, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$8); [line 15, column 3]\n EXIT_SCOPE(n$7,n$9,n$10,0$?%__sil_tmpSIL_temp_conditional___n$8); [line 15, column 3]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_19" [label="19: BinaryOperatorStmt: AddAssign \n n$7=*&p:s* [line 15, column 3]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$8:int [line 15, column 11]\n n$10=*n$7.x:int [line 15, column 3]\n *n$7.x:int=(n$10 + n$9) [line 15, column 3]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_19" -> "preincrement.db7c6523f16e1ab3058057cee6614472_4" ; @@ -89,20 +89,20 @@ digraph cfg { "preincrement.db7c6523f16e1ab3058057cee6614472_22" -> "preincrement.db7c6523f16e1ab3058057cee6614472_24" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_23" [label="23: ConditionalStmt Branch \n n$12=*&p:s* [line 14, column 8]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:s*=n$12 [line 14, column 4]\n EXIT_SCOPE(n$12); [line 14, column 4]\n APPLY_ABSTRACTION; [line 14, column 4]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_23" [label="23: ConditionalStmt Branch \n n$12=*&p:s* [line 14, column 8]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:s*=n$12 [line 14, column 4]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_23" -> "preincrement.db7c6523f16e1ab3058057cee6614472_20" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_24" [label="24: ConditionalStmt Branch \n n$13=*&p:s* [line 14, column 12]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:s*=n$13 [line 14, column 4]\n EXIT_SCOPE(n$13); [line 14, column 4]\n APPLY_ABSTRACTION; [line 14, column 4]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_24" [label="24: ConditionalStmt Branch \n n$13=*&p:s* [line 14, column 12]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:s*=n$13 [line 14, column 4]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_24" -> "preincrement.db7c6523f16e1ab3058057cee6614472_20" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_25" [label="25: BinaryOperatorStmt: AddAssign \n n$14=*&0$?%__sil_tmpSIL_temp_conditional___n$11:s* [line 14, column 4]\n n$15=*n$14.x:int [line 14, column 3]\n *n$14.x:int=(n$15 + 1) [line 14, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$11); [line 14, column 3]\n EXIT_SCOPE(n$14,n$15,0$?%__sil_tmpSIL_temp_conditional___n$11); [line 14, column 3]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_25" [label="25: BinaryOperatorStmt: AddAssign \n n$14=*&0$?%__sil_tmpSIL_temp_conditional___n$11:s* [line 14, column 4]\n n$15=*n$14.x:int [line 14, column 3]\n *n$14.x:int=(n$15 + 1) [line 14, column 3]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_25" -> "preincrement.db7c6523f16e1ab3058057cee6614472_15" ; "preincrement.db7c6523f16e1ab3058057cee6614472_25" -> "preincrement.db7c6523f16e1ab3058057cee6614472_16" ; -"preincrement.db7c6523f16e1ab3058057cee6614472_26" [label="26: BinaryOperatorStmt: AddAssign \n n$16=*&p:s* [line 13, column 3]\n n$17=*n$16.x:int [line 13, column 3]\n *n$16.x:int=(n$17 + 1) [line 13, column 3]\n EXIT_SCOPE(n$16,n$17); [line 13, column 3]\n " shape="box"] +"preincrement.db7c6523f16e1ab3058057cee6614472_26" [label="26: BinaryOperatorStmt: AddAssign \n n$16=*&p:s* [line 13, column 3]\n n$17=*n$16.x:int [line 13, column 3]\n *n$16.x:int=(n$17 + 1) [line 13, column 3]\n " shape="box"] "preincrement.db7c6523f16e1ab3058057cee6614472_26" -> "preincrement.db7c6523f16e1ab3058057cee6614472_21" ; 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 0c15262b8..bceda0872 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 @@ -20,19 +20,19 @@ digraph cfg { "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_5" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_7" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_6" [label="6: ConditionalStmt Branch \n n$1=*&p:int* [line 14, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int*=n$1 [line 14, column 5]\n NULLIFY(&p); [line 14, column 5]\n EXIT_SCOPE(n$1,p); [line 14, column 5]\n APPLY_ABSTRACTION; [line 14, column 5]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_6" [label="6: ConditionalStmt Branch \n n$1=*&p:int* [line 14, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int*=n$1 [line 14, column 5]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_6" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_3" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_7" [label="7: ConditionalStmt Branch \n n$2=*&p:int* [line 14, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int*=n$2 [line 14, column 5]\n NULLIFY(&p); [line 14, column 5]\n EXIT_SCOPE(n$2,p); [line 14, column 5]\n APPLY_ABSTRACTION; [line 14, column 5]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_7" [label="7: ConditionalStmt Branch \n n$2=*&p:int* [line 14, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int*=n$2 [line 14, column 5]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_7" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_3" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_8" [label="8: UnaryOperator \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int* [line 14, column 5]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 14, column 5]\n EXIT_SCOPE(0$?%__sil_tmpSIL_temp_conditional___n$0); [line 14, column 5]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_8" [label="8: UnaryOperator \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int* [line 14, column 5]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_8" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_9" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_9" [label="9: Fallback node \n n$4=*n$3:int [line 14, column 3]\n EXIT_SCOPE(n$3,n$4); [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_9" [label="9: Fallback node \n n$4=*n$3:int [line 14, column 3]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_9" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_2" ; @@ -48,15 +48,15 @@ digraph cfg { "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_12" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_14" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_13" [label="13: ConditionalStmt Branch \n n$6=*&p:int* [line 12, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int*=n$6 [line 12, column 13]\n EXIT_SCOPE(n$6); [line 12, column 13]\n APPLY_ABSTRACTION; [line 12, column 13]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_13" [label="13: ConditionalStmt Branch \n n$6=*&p:int* [line 12, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int*=n$6 [line 12, column 13]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_13" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_10" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_14" [label="14: ConditionalStmt Branch \n n$7=*&p:int* [line 12, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int*=n$7 [line 12, column 13]\n EXIT_SCOPE(n$7); [line 12, column 13]\n APPLY_ABSTRACTION; [line 12, column 13]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_14" [label="14: ConditionalStmt Branch \n n$7=*&p:int* [line 12, column 21]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int*=n$7 [line 12, column 13]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_14" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_10" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_15" [label="15: DeclStmt \n VARIABLE_DECLARED(y:int); [line 12, column 3]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int* [line 12, column 13]\n n$9=*n$8:int [line 12, column 11]\n *&y:int=n$9 [line 12, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$5); [line 12, column 3]\n NULLIFY(&y); [line 12, column 3]\n EXIT_SCOPE(n$8,n$9,0$?%__sil_tmpSIL_temp_conditional___n$5,y); [line 12, column 3]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_15" [label="15: DeclStmt \n VARIABLE_DECLARED(y:int); [line 12, column 3]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int* [line 12, column 13]\n n$9=*n$8:int [line 12, column 11]\n *&y:int=n$9 [line 12, column 3]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_15" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_4" ; @@ -73,15 +73,15 @@ digraph cfg { "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_18" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_20" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_19" [label="19: ConditionalStmt Branch \n n$11=*&p:int* [line 10, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int*=n$11 [line 10, column 9]\n EXIT_SCOPE(n$11); [line 10, column 9]\n APPLY_ABSTRACTION; [line 10, column 9]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_19" [label="19: ConditionalStmt Branch \n n$11=*&p:int* [line 10, column 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int*=n$11 [line 10, column 9]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_19" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_16" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_20" [label="20: ConditionalStmt Branch \n n$12=*&p:int* [line 10, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int*=n$12 [line 10, column 9]\n EXIT_SCOPE(n$12); [line 10, column 9]\n APPLY_ABSTRACTION; [line 10, column 9]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_20" [label="20: ConditionalStmt Branch \n n$12=*&p:int* [line 10, column 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int*=n$12 [line 10, column 9]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_20" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_16" ; -"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_21" [label="21: BinaryOperatorStmt: Assign \n n$13=*&0$?%__sil_tmpSIL_temp_conditional___n$10:int* [line 10, column 9]\n n$14=*n$13:int [line 10, column 7]\n *&x:int=n$14 [line 10, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$10); [line 10, column 3]\n NULLIFY(&x); [line 10, column 3]\n EXIT_SCOPE(n$13,n$14,0$?%__sil_tmpSIL_temp_conditional___n$10,x); [line 10, column 3]\n " shape="box"] +"dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_21" [label="21: BinaryOperatorStmt: Assign \n n$13=*&0$?%__sil_tmpSIL_temp_conditional___n$10:int* [line 10, column 9]\n n$14=*n$13:int [line 10, column 7]\n *&x:int=n$14 [line 10, column 3]\n " shape="box"] "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_21" -> "dereference_ifthenelse.aa3447116ff03cffc729c06c91821cdc_11" ; diff --git a/infer/tests/codetoanalyze/c/frontend/enumeration/enum.c.dot b/infer/tests/codetoanalyze/c/frontend/enumeration/enum.c.dot index 008d73f77..33d01f60b 100644 --- a/infer/tests/codetoanalyze/c/frontend/enumeration/enum.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/enumeration/enum.c.dot @@ -7,19 +7,19 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 25, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 24, column 3]\n *&i:int=(2 + (2 - 0)) [line 24, column 3]\n NULLIFY(&i); [line 24, column 3]\n EXIT_SCOPE(i); [line 24, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 24, column 3]\n *&i:int=(2 + (2 - 0)) [line 24, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n *&today:int=((unsigned int)2 + (unsigned int)1) [line 23, column 3]\n NULLIFY(&today); [line 23, column 3]\n EXIT_SCOPE(today); [line 23, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n *&today:int=((unsigned int)2 + (unsigned int)1) [line 23, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$0=*&today:int [line 22, column 11]\n *&today:int=((unsigned int)n$0 + (unsigned int)4) [line 22, column 3]\n NULLIFY(&today); [line 22, column 3]\n EXIT_SCOPE(n$0,today); [line 22, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$0=*&today:int [line 22, column 11]\n *&today:int=((unsigned int)n$0 + (unsigned int)4) [line 22, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; @@ -27,7 +27,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n *&today:int=0 [line 20, column 3]\n NULLIFY(&today); [line 20, column 3]\n EXIT_SCOPE(today); [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n *&today:int=0 [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; diff --git a/infer/tests/codetoanalyze/c/frontend/enumeration/enum_bitmask.c.dot b/infer/tests/codetoanalyze/c/frontend/enumeration/enum_bitmask.c.dot index 4cf1b24e6..facea5e30 100644 --- a/infer/tests/codetoanalyze/c/frontend/enumeration/enum_bitmask.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/enumeration/enum_bitmask.c.dot @@ -7,11 +7,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(option2:int); [line 15, column 3]\n *&option2:int=(1 << 1) [line 15, column 3]\n NULLIFY(&option2); [line 15, column 3]\n EXIT_SCOPE(option2); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(option2:int); [line 15, column 3]\n *&option2:int=(1 << 1) [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(option1:int); [line 14, column 3]\n *&option1:int=(1 << 0) [line 14, column 3]\n NULLIFY(&option1); [line 14, column 3]\n EXIT_SCOPE(option1); [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(option1:int); [line 14, column 3]\n *&option1:int=(1 << 0) [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; 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 8401ab8b7..00227fc33 100644 --- a/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/enumeration/other_enum.c.dot @@ -7,31 +7,31 @@ digraph cfg { "other_enum_main.572f04969b0ade4902dd1faf86fac461_2" [label="2: Exit other_enum_main \n " color=yellow style=filled] -"other_enum_main.572f04969b0ade4902dd1faf86fac461_3" [label="3: DeclStmt \n VARIABLE_DECLARED(foo_g:int); [line 17, column 3]\n *&foo_g:int=(2 + 10) [line 17, column 3]\n NULLIFY(&foo_g); [line 17, column 3]\n EXIT_SCOPE(foo_g); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_3" [label="3: DeclStmt \n VARIABLE_DECLARED(foo_g:int); [line 17, column 3]\n *&foo_g:int=(2 + 10) [line 17, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_3" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_2" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_4" [label="4: DeclStmt \n VARIABLE_DECLARED(foo_f:int); [line 16, column 3]\n *&foo_f:int=2 [line 16, column 3]\n NULLIFY(&foo_f); [line 16, column 3]\n EXIT_SCOPE(foo_f); [line 16, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_4" [label="4: DeclStmt \n VARIABLE_DECLARED(foo_f:int); [line 16, column 3]\n *&foo_f:int=2 [line 16, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_4" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_3" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_5" [label="5: DeclStmt \n VARIABLE_DECLARED(foo_e:int); [line 15, column 3]\n *&foo_e:int=1 [line 15, column 3]\n NULLIFY(&foo_e); [line 15, column 3]\n EXIT_SCOPE(foo_e); [line 15, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_5" [label="5: DeclStmt \n VARIABLE_DECLARED(foo_e:int); [line 15, column 3]\n *&foo_e:int=1 [line 15, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_5" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_4" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_6" [label="6: DeclStmt \n VARIABLE_DECLARED(foo_d:int); [line 14, column 3]\n *&foo_d:int=11 [line 14, column 3]\n NULLIFY(&foo_d); [line 14, column 3]\n EXIT_SCOPE(foo_d); [line 14, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_6" [label="6: DeclStmt \n VARIABLE_DECLARED(foo_d:int); [line 14, column 3]\n *&foo_d:int=11 [line 14, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_6" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_5" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_7" [label="7: DeclStmt \n VARIABLE_DECLARED(foo_c:int); [line 13, column 3]\n *&foo_c:int=10 [line 13, column 3]\n NULLIFY(&foo_c); [line 13, column 3]\n EXIT_SCOPE(foo_c); [line 13, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_7" [label="7: DeclStmt \n VARIABLE_DECLARED(foo_c:int); [line 13, column 3]\n *&foo_c:int=10 [line 13, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_7" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_6" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_8" [label="8: DeclStmt \n VARIABLE_DECLARED(foo_b:int); [line 12, column 3]\n *&foo_b:int=1 [line 12, column 3]\n NULLIFY(&foo_b); [line 12, column 3]\n EXIT_SCOPE(foo_b); [line 12, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_8" [label="8: DeclStmt \n VARIABLE_DECLARED(foo_b:int); [line 12, column 3]\n *&foo_b:int=1 [line 12, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_8" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_7" ; -"other_enum_main.572f04969b0ade4902dd1faf86fac461_9" [label="9: DeclStmt \n VARIABLE_DECLARED(foo_a:int); [line 11, column 3]\n *&foo_a:int=0 [line 11, column 3]\n NULLIFY(&foo_a); [line 11, column 3]\n EXIT_SCOPE(foo_a); [line 11, column 3]\n " shape="box"] +"other_enum_main.572f04969b0ade4902dd1faf86fac461_9" [label="9: DeclStmt \n VARIABLE_DECLARED(foo_a:int); [line 11, column 3]\n *&foo_a:int=0 [line 11, column 3]\n " shape="box"] "other_enum_main.572f04969b0ade4902dd1faf86fac461_9" -> "other_enum_main.572f04969b0ade4902dd1faf86fac461_8" ; @@ -46,7 +46,7 @@ digraph cfg { "other_enum_test.100f3583adf0259001be6c944828c44a_3" -> "other_enum_test.100f3583adf0259001be6c944828c44a_4" ; -"other_enum_test.100f3583adf0259001be6c944828c44a_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"other_enum_test.100f3583adf0259001be6c944828c44a_4" [label="4: between_join_and_exit \n " shape="box"] "other_enum_test.100f3583adf0259001be6c944828c44a_4" -> "other_enum_test.100f3583adf0259001be6c944828c44a_2" ; @@ -55,19 +55,19 @@ 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, if) \n PRUNE(((unsigned int)n$0 == (unsigned int)12), true); [line 23, column 7]\n EXIT_SCOPE(n$0); [line 23, column 7]\n " shape="invhouse"] +"other_enum_test.100f3583adf0259001be6c944828c44a_6" [label="6: Prune (true branch, if) \n PRUNE(((unsigned int)n$0 == (unsigned int)12), true); [line 23, 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, if) \n PRUNE(!((unsigned int)n$0 == (unsigned int)12), false); [line 23, column 7]\n NULLIFY(&foo_a); [line 23, column 7]\n NULLIFY(&foo_g); [line 23, column 7]\n EXIT_SCOPE(n$0,foo_a,foo_g); [line 23, column 7]\n " shape="invhouse"] +"other_enum_test.100f3583adf0259001be6c944828c44a_7" [label="7: Prune (false branch, if) \n PRUNE(!((unsigned int)n$0 == (unsigned int)12), false); [line 23, column 7]\n " shape="invhouse"] "other_enum_test.100f3583adf0259001be6c944828c44a_7" -> "other_enum_test.100f3583adf0259001be6c944828c44a_9" ; -"other_enum_test.100f3583adf0259001be6c944828c44a_8" [label="8: Return Stmt \n n$1=*&foo_g:int [line 24, column 12]\n n$2=*&foo_a:int [line 24, column 20]\n *&return:int=((unsigned int)n$1 / (unsigned int)n$2) [line 24, column 5]\n NULLIFY(&foo_a); [line 24, column 5]\n NULLIFY(&foo_g); [line 24, column 5]\n EXIT_SCOPE(n$1,n$2,foo_a,foo_g); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"other_enum_test.100f3583adf0259001be6c944828c44a_8" [label="8: Return Stmt \n n$1=*&foo_g:int [line 24, column 12]\n n$2=*&foo_a:int [line 24, column 20]\n *&return:int=((unsigned int)n$1 / (unsigned int)n$2) [line 24, column 5]\n " shape="box"] "other_enum_test.100f3583adf0259001be6c944828c44a_8" -> "other_enum_test.100f3583adf0259001be6c944828c44a_2" ; -"other_enum_test.100f3583adf0259001be6c944828c44a_9" [label="9: Return Stmt \n *&return:int=0 [line 26, column 5]\n APPLY_ABSTRACTION; [line 26, column 5]\n " shape="box"] +"other_enum_test.100f3583adf0259001be6c944828c44a_9" [label="9: Return Stmt \n *&return:int=0 [line 26, column 5]\n " shape="box"] "other_enum_test.100f3583adf0259001be6c944828c44a_9" -> "other_enum_test.100f3583adf0259001be6c944828c44a_2" ; 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 7e7b15144..0716b2a5f 100644 --- a/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/gotostmt/goto_ex.c.dot @@ -7,11 +7,11 @@ digraph cfg { "g0.8ac829e3bb8338d74cfb45ebe834d8e1_2" [label="2: Exit g0 \n " color=yellow style=filled] -"g0.8ac829e3bb8338d74cfb45ebe834d8e1_3" [label="3: Return Stmt \n *&return:int=1 [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"g0.8ac829e3bb8338d74cfb45ebe834d8e1_3" [label="3: Return Stmt \n *&return:int=1 [line 21, column 3]\n " shape="box"] "g0.8ac829e3bb8338d74cfb45ebe834d8e1_3" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_2" ; -"g0.8ac829e3bb8338d74cfb45ebe834d8e1_4" [label="4: BinaryOperatorStmt: Assign \n *&a:int=1 [line 20, column 3]\n NULLIFY(&a); [line 20, column 3]\n EXIT_SCOPE(a); [line 20, column 3]\n " shape="box"] +"g0.8ac829e3bb8338d74cfb45ebe834d8e1_4" [label="4: BinaryOperatorStmt: Assign \n *&a:int=1 [line 20, column 3]\n " shape="box"] "g0.8ac829e3bb8338d74cfb45ebe834d8e1_4" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_3" ; @@ -23,7 +23,7 @@ digraph cfg { "g0.8ac829e3bb8338d74cfb45ebe834d8e1_6" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_5" ; -"g0.8ac829e3bb8338d74cfb45ebe834d8e1_7" [label="7: Skip GotoLabel_stepB \n APPLY_ABSTRACTION; [line 17, column 1]\n " color="gray"] +"g0.8ac829e3bb8338d74cfb45ebe834d8e1_7" [label="7: Skip GotoLabel_stepB \n " color="gray"] "g0.8ac829e3bb8338d74cfb45ebe834d8e1_7" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_6" ; @@ -36,15 +36,15 @@ digraph cfg { "g0.8ac829e3bb8338d74cfb45ebe834d8e1_9" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_10" ; "g0.8ac829e3bb8338d74cfb45ebe834d8e1_9" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_11" ; -"g0.8ac829e3bb8338d74cfb45ebe834d8e1_10" [label="10: Prune (true branch, if) \n PRUNE((n$3 > 1), true); [line 14, column 7]\n EXIT_SCOPE(n$3); [line 14, column 7]\n APPLY_ABSTRACTION; [line 14, column 7]\n " shape="invhouse"] +"g0.8ac829e3bb8338d74cfb45ebe834d8e1_10" [label="10: Prune (true branch, if) \n PRUNE((n$3 > 1), true); [line 14, column 7]\n " shape="invhouse"] "g0.8ac829e3bb8338d74cfb45ebe834d8e1_10" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_6" ; -"g0.8ac829e3bb8338d74cfb45ebe834d8e1_11" [label="11: Prune (false branch, if) \n PRUNE(!(n$3 > 1), false); [line 14, column 7]\n EXIT_SCOPE(n$3); [line 14, column 7]\n " shape="invhouse"] +"g0.8ac829e3bb8338d74cfb45ebe834d8e1_11" [label="11: Prune (false branch, if) \n PRUNE(!(n$3 > 1), false); [line 14, column 7]\n " shape="invhouse"] "g0.8ac829e3bb8338d74cfb45ebe834d8e1_11" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_8" ; -"g0.8ac829e3bb8338d74cfb45ebe834d8e1_12" [label="12: DeclStmt \n VARIABLE_DECLARED(a:int); [line 13, column 3]\n *&a:int=0 [line 13, column 3]\n NULLIFY(&a); [line 13, column 3]\n EXIT_SCOPE(a); [line 13, column 3]\n " shape="box"] +"g0.8ac829e3bb8338d74cfb45ebe834d8e1_12" [label="12: DeclStmt \n VARIABLE_DECLARED(a:int); [line 13, column 3]\n *&a:int=0 [line 13, column 3]\n " shape="box"] "g0.8ac829e3bb8338d74cfb45ebe834d8e1_12" -> "g0.8ac829e3bb8338d74cfb45ebe834d8e1_9" ; @@ -55,11 +55,11 @@ digraph cfg { "g1.0120a4f9196a5f9eb9f523f31f914da7_2" [label="2: Exit g1 \n " color=yellow style=filled] -"g1.0120a4f9196a5f9eb9f523f31f914da7_3" [label="3: Return Stmt \n *&return:int=1 [line 32, column 3]\n APPLY_ABSTRACTION; [line 32, column 3]\n " shape="box"] +"g1.0120a4f9196a5f9eb9f523f31f914da7_3" [label="3: Return Stmt \n *&return:int=1 [line 32, column 3]\n " shape="box"] "g1.0120a4f9196a5f9eb9f523f31f914da7_3" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_2" ; -"g1.0120a4f9196a5f9eb9f523f31f914da7_4" [label="4: BinaryOperatorStmt: Assign \n *&a:int=1 [line 31, column 3]\n NULLIFY(&a); [line 31, column 3]\n EXIT_SCOPE(a); [line 31, column 3]\n " shape="box"] +"g1.0120a4f9196a5f9eb9f523f31f914da7_4" [label="4: BinaryOperatorStmt: Assign \n *&a:int=1 [line 31, column 3]\n " shape="box"] "g1.0120a4f9196a5f9eb9f523f31f914da7_4" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_3" ; @@ -67,7 +67,7 @@ digraph cfg { "g1.0120a4f9196a5f9eb9f523f31f914da7_5" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_4" ; -"g1.0120a4f9196a5f9eb9f523f31f914da7_6" [label="6: Return Stmt \n *&return:int=0 [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"g1.0120a4f9196a5f9eb9f523f31f914da7_6" [label="6: Return Stmt \n *&return:int=0 [line 28, column 3]\n " shape="box"] "g1.0120a4f9196a5f9eb9f523f31f914da7_6" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_2" ; @@ -80,15 +80,15 @@ digraph cfg { "g1.0120a4f9196a5f9eb9f523f31f914da7_8" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_9" ; "g1.0120a4f9196a5f9eb9f523f31f914da7_8" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_10" ; -"g1.0120a4f9196a5f9eb9f523f31f914da7_9" [label="9: Prune (true branch, if) \n PRUNE((n$1 > 1), true); [line 26, column 7]\n EXIT_SCOPE(n$1); [line 26, column 7]\n " shape="invhouse"] +"g1.0120a4f9196a5f9eb9f523f31f914da7_9" [label="9: Prune (true branch, if) \n PRUNE((n$1 > 1), true); [line 26, column 7]\n " shape="invhouse"] "g1.0120a4f9196a5f9eb9f523f31f914da7_9" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_5" ; -"g1.0120a4f9196a5f9eb9f523f31f914da7_10" [label="10: Prune (false branch, if) \n PRUNE(!(n$1 > 1), false); [line 26, column 7]\n EXIT_SCOPE(n$1); [line 26, column 7]\n " shape="invhouse"] +"g1.0120a4f9196a5f9eb9f523f31f914da7_10" [label="10: Prune (false branch, if) \n PRUNE(!(n$1 > 1), false); [line 26, column 7]\n " shape="invhouse"] "g1.0120a4f9196a5f9eb9f523f31f914da7_10" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_7" ; -"g1.0120a4f9196a5f9eb9f523f31f914da7_11" [label="11: DeclStmt \n VARIABLE_DECLARED(a:int); [line 25, column 3]\n *&a:int=0 [line 25, column 3]\n NULLIFY(&a); [line 25, column 3]\n EXIT_SCOPE(a); [line 25, column 3]\n " shape="box"] +"g1.0120a4f9196a5f9eb9f523f31f914da7_11" [label="11: DeclStmt \n VARIABLE_DECLARED(a:int); [line 25, column 3]\n *&a:int=0 [line 25, column 3]\n " shape="box"] "g1.0120a4f9196a5f9eb9f523f31f914da7_11" -> "g1.0120a4f9196a5f9eb9f523f31f914da7_8" ; @@ -99,11 +99,11 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_2" [label="2: Exit g2 \n " color=yellow style=filled] -"g2.e1c80488853d86ab9d6decfe30d8930f_3" [label="3: Return Stmt \n *&return:int=1 [line 54, column 3]\n APPLY_ABSTRACTION; [line 54, column 3]\n " shape="box"] +"g2.e1c80488853d86ab9d6decfe30d8930f_3" [label="3: Return Stmt \n *&return:int=1 [line 54, column 3]\n " shape="box"] "g2.e1c80488853d86ab9d6decfe30d8930f_3" -> "g2.e1c80488853d86ab9d6decfe30d8930f_2" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_4" [label="4: BinaryOperatorStmt: Assign \n *&a:int=3 [line 53, column 3]\n NULLIFY(&a); [line 53, column 3]\n EXIT_SCOPE(a); [line 53, column 3]\n " shape="box"] +"g2.e1c80488853d86ab9d6decfe30d8930f_4" [label="4: BinaryOperatorStmt: Assign \n *&a:int=3 [line 53, column 3]\n " shape="box"] "g2.e1c80488853d86ab9d6decfe30d8930f_4" -> "g2.e1c80488853d86ab9d6decfe30d8930f_3" ; @@ -111,11 +111,11 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_5" -> "g2.e1c80488853d86ab9d6decfe30d8930f_4" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_6" [label="6: Return Stmt \n *&return:int=2 [line 50, column 3]\n APPLY_ABSTRACTION; [line 50, column 3]\n " shape="box"] +"g2.e1c80488853d86ab9d6decfe30d8930f_6" [label="6: Return Stmt \n *&return:int=2 [line 50, column 3]\n " shape="box"] "g2.e1c80488853d86ab9d6decfe30d8930f_6" -> "g2.e1c80488853d86ab9d6decfe30d8930f_2" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_7" [label="7: BinaryOperatorStmt: Assign \n *&a:int=2 [line 49, column 3]\n NULLIFY(&a); [line 49, column 3]\n EXIT_SCOPE(a); [line 49, column 3]\n " shape="box"] +"g2.e1c80488853d86ab9d6decfe30d8930f_7" [label="7: BinaryOperatorStmt: Assign \n *&a:int=2 [line 49, column 3]\n " shape="box"] "g2.e1c80488853d86ab9d6decfe30d8930f_7" -> "g2.e1c80488853d86ab9d6decfe30d8930f_6" ; @@ -123,7 +123,7 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_8" -> "g2.e1c80488853d86ab9d6decfe30d8930f_7" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_9" [label="9: Return Stmt \n *&return:int=0 [line 46, column 3]\n APPLY_ABSTRACTION; [line 46, column 3]\n " shape="box"] +"g2.e1c80488853d86ab9d6decfe30d8930f_9" [label="9: Return Stmt \n *&return:int=0 [line 46, column 3]\n " shape="box"] "g2.e1c80488853d86ab9d6decfe30d8930f_9" -> "g2.e1c80488853d86ab9d6decfe30d8930f_2" ; @@ -136,11 +136,11 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_11" -> "g2.e1c80488853d86ab9d6decfe30d8930f_12" ; "g2.e1c80488853d86ab9d6decfe30d8930f_11" -> "g2.e1c80488853d86ab9d6decfe30d8930f_13" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_12" [label="12: Prune (true branch, if) \n PRUNE((n$2 > 1), true); [line 44, column 7]\n EXIT_SCOPE(n$2); [line 44, column 7]\n APPLY_ABSTRACTION; [line 44, column 7]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_12" [label="12: Prune (true branch, if) \n PRUNE((n$2 > 1), true); [line 44, column 7]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_12" -> "g2.e1c80488853d86ab9d6decfe30d8930f_14" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$2 > 1), false); [line 44, column 7]\n EXIT_SCOPE(n$2); [line 44, column 7]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$2 > 1), false); [line 44, column 7]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_13" -> "g2.e1c80488853d86ab9d6decfe30d8930f_10" ; @@ -157,11 +157,11 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_16" -> "g2.e1c80488853d86ab9d6decfe30d8930f_17" ; "g2.e1c80488853d86ab9d6decfe30d8930f_16" -> "g2.e1c80488853d86ab9d6decfe30d8930f_18" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_17" [label="17: Prune (true branch, if) \n PRUNE(!n$6, true); [line 42, column 8]\n EXIT_SCOPE(n$6); [line 42, column 8]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_17" [label="17: Prune (true branch, if) \n PRUNE(!n$6, true); [line 42, column 8]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_17" -> "g2.e1c80488853d86ab9d6decfe30d8930f_8" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_18" [label="18: Prune (false branch, if) \n PRUNE(n$6, false); [line 42, column 8]\n EXIT_SCOPE(n$6); [line 42, column 8]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_18" [label="18: Prune (false branch, if) \n PRUNE(n$6, false); [line 42, column 8]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_18" -> "g2.e1c80488853d86ab9d6decfe30d8930f_15" ; @@ -174,19 +174,19 @@ digraph cfg { "g2.e1c80488853d86ab9d6decfe30d8930f_20" -> "g2.e1c80488853d86ab9d6decfe30d8930f_21" ; "g2.e1c80488853d86ab9d6decfe30d8930f_20" -> "g2.e1c80488853d86ab9d6decfe30d8930f_22" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_21" [label="21: Prune (true branch, if) \n PRUNE(!n$10, true); [line 40, column 8]\n EXIT_SCOPE(n$10); [line 40, column 8]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_21" [label="21: Prune (true branch, if) \n PRUNE(!n$10, true); [line 40, column 8]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_21" -> "g2.e1c80488853d86ab9d6decfe30d8930f_5" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_22" [label="22: Prune (false branch, if) \n PRUNE(n$10, false); [line 40, column 8]\n EXIT_SCOPE(n$10); [line 40, column 8]\n " shape="invhouse"] +"g2.e1c80488853d86ab9d6decfe30d8930f_22" [label="22: Prune (false branch, if) \n PRUNE(n$10, false); [line 40, column 8]\n " shape="invhouse"] "g2.e1c80488853d86ab9d6decfe30d8930f_22" -> "g2.e1c80488853d86ab9d6decfe30d8930f_19" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_23" [label="23: BinaryOperatorStmt: Assign \n *&a:int=1 [line 38, column 3]\n NULLIFY(&a); [line 38, column 3]\n EXIT_SCOPE(a); [line 38, column 3]\n " shape="box"] +"g2.e1c80488853d86ab9d6decfe30d8930f_23" [label="23: BinaryOperatorStmt: Assign \n *&a:int=1 [line 38, column 3]\n " shape="box"] "g2.e1c80488853d86ab9d6decfe30d8930f_23" -> "g2.e1c80488853d86ab9d6decfe30d8930f_20" ; -"g2.e1c80488853d86ab9d6decfe30d8930f_24" [label="24: DeclStmt \n VARIABLE_DECLARED(a:int); [line 36, column 3]\n *&a:int=0 [line 36, column 3]\n NULLIFY(&a); [line 36, column 3]\n EXIT_SCOPE(a); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"g2.e1c80488853d86ab9d6decfe30d8930f_24" [label="24: DeclStmt \n VARIABLE_DECLARED(a:int); [line 36, column 3]\n *&a:int=0 [line 36, column 3]\n " shape="box"] "g2.e1c80488853d86ab9d6decfe30d8930f_24" -> "g2.e1c80488853d86ab9d6decfe30d8930f_14" ; @@ -197,11 +197,11 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_2" [label="2: Exit g3 \n " color=yellow style=filled] -"g3.8a9fd7dfda802921fdc4079f9a528ce8_3" [label="3: Return Stmt \n *&return:int=1 [line 76, column 3]\n APPLY_ABSTRACTION; [line 76, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_3" [label="3: Return Stmt \n *&return:int=1 [line 76, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_3" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_2" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_4" [label="4: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char*) [line 75, column 3]\n EXIT_SCOPE(n$0); [line 75, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_4" [label="4: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char*) [line 75, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_4" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_3" ; @@ -209,11 +209,11 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_5" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_4" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_6" [label="6: Call _fun_printf \n n$2=_fun_printf(\"A\\n\":char*) [line 72, column 3]\n EXIT_SCOPE(n$2); [line 72, column 3]\n APPLY_ABSTRACTION; [line 72, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_6" [label="6: Call _fun_printf \n n$2=_fun_printf(\"A\\n\":char*) [line 72, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_6" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_5" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 71, column 3]\n *&a:int=2 [line 71, column 3]\n NULLIFY(&a); [line 71, column 3]\n EXIT_SCOPE(a); [line 71, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 71, column 3]\n *&a:int=2 [line 71, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_7" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_6" ; @@ -221,11 +221,11 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_8" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_7" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_9" [label="9: Return Stmt \n *&return:int=0 [line 68, column 3]\n APPLY_ABSTRACTION; [line 68, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_9" [label="9: Return Stmt \n *&return:int=0 [line 68, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_9" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_2" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_10" [label="10: Call _fun_printf \n n$4=_fun_printf(\"g3\\n\":char*) [line 67, column 3]\n EXIT_SCOPE(n$4); [line 67, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_10" [label="10: Call _fun_printf \n n$4=_fun_printf(\"g3\\n\":char*) [line 67, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_10" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_9" ; @@ -238,11 +238,11 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_12" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_13" ; "g3.8a9fd7dfda802921fdc4079f9a528ce8_12" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_14" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_13" [label="13: Prune (true branch, if) \n PRUNE((n$5 > 1), true); [line 65, column 7]\n EXIT_SCOPE(n$5); [line 65, column 7]\n APPLY_ABSTRACTION; [line 65, column 7]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_13" [label="13: Prune (true branch, if) \n PRUNE((n$5 > 1), true); [line 65, column 7]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_13" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_15" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_14" [label="14: Prune (false branch, if) \n PRUNE(!(n$5 > 1), false); [line 65, column 7]\n EXIT_SCOPE(n$5); [line 65, column 7]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_14" [label="14: Prune (false branch, if) \n PRUNE(!(n$5 > 1), false); [line 65, column 7]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_14" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_11" ; @@ -259,11 +259,11 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_17" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_18" ; "g3.8a9fd7dfda802921fdc4079f9a528ce8_17" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_19" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_18" [label="18: Prune (true branch, if) \n PRUNE(!n$9, true); [line 63, column 8]\n EXIT_SCOPE(n$9); [line 63, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_18" [label="18: Prune (true branch, if) \n PRUNE(!n$9, true); [line 63, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_18" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_8" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_19" [label="19: Prune (false branch, if) \n PRUNE(n$9, false); [line 63, column 8]\n EXIT_SCOPE(n$9); [line 63, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_19" [label="19: Prune (false branch, if) \n PRUNE(n$9, false); [line 63, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_19" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_16" ; @@ -276,15 +276,15 @@ digraph cfg { "g3.8a9fd7dfda802921fdc4079f9a528ce8_21" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_22" ; "g3.8a9fd7dfda802921fdc4079f9a528ce8_21" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_23" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_22" [label="22: Prune (true branch, if) \n PRUNE(!n$13, true); [line 61, column 8]\n EXIT_SCOPE(n$13); [line 61, column 8]\n APPLY_ABSTRACTION; [line 61, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_22" [label="22: Prune (true branch, if) \n PRUNE(!n$13, true); [line 61, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_22" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_5" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_23" [label="23: Prune (false branch, if) \n PRUNE(n$13, false); [line 61, column 8]\n EXIT_SCOPE(n$13); [line 61, column 8]\n " shape="invhouse"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_23" [label="23: Prune (false branch, if) \n PRUNE(n$13, false); [line 61, column 8]\n " shape="invhouse"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_23" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_20" ; -"g3.8a9fd7dfda802921fdc4079f9a528ce8_24" [label="24: Call _fun_printf \n n$17=_fun_printf(\"B\\n\":char*) [line 59, column 3]\n EXIT_SCOPE(n$17); [line 59, column 3]\n " shape="box"] +"g3.8a9fd7dfda802921fdc4079f9a528ce8_24" [label="24: Call _fun_printf \n n$17=_fun_printf(\"B\\n\":char*) [line 59, column 3]\n " shape="box"] "g3.8a9fd7dfda802921fdc4079f9a528ce8_24" -> "g3.8a9fd7dfda802921fdc4079f9a528ce8_21" ; @@ -295,11 +295,11 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_2" [label="2: Exit g4 \n " color=yellow style=filled] -"g4.b0b5c8f28ad7834e70a958a8882fa59a_3" [label="3: Return Stmt \n *&return:int=1 [line 97, column 3]\n APPLY_ABSTRACTION; [line 97, column 3]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_3" [label="3: Return Stmt \n *&return:int=1 [line 97, column 3]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_3" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_2" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_4" [label="4: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char*) [line 96, column 3]\n EXIT_SCOPE(n$0); [line 96, column 3]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_4" [label="4: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char*) [line 96, column 3]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_4" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_3" ; @@ -307,11 +307,11 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_5" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_4" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_6" [label="6: Call _fun_printf \n n$2=_fun_printf(\"A\\n\":char*) [line 93, column 3]\n EXIT_SCOPE(n$2); [line 93, column 3]\n APPLY_ABSTRACTION; [line 93, column 3]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_6" [label="6: Call _fun_printf \n n$2=_fun_printf(\"A\\n\":char*) [line 93, column 3]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_6" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_5" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 92, column 3]\n *&a:int=2 [line 92, column 3]\n NULLIFY(&a); [line 92, column 3]\n EXIT_SCOPE(a); [line 92, column 3]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 92, column 3]\n *&a:int=2 [line 92, column 3]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_7" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_6" ; @@ -319,7 +319,7 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_8" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_7" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_9" [label="9: Call _fun_printf \n n$4=_fun_printf(\"g4\\n\":char*) [line 89, column 3]\n EXIT_SCOPE(n$4); [line 89, column 3]\n APPLY_ABSTRACTION; [line 89, column 3]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_9" [label="9: Call _fun_printf \n n$4=_fun_printf(\"g4\\n\":char*) [line 89, column 3]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_9" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_8" ; @@ -332,11 +332,11 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_11" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_12" ; "g4.b0b5c8f28ad7834e70a958a8882fa59a_11" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_13" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_12" [label="12: Prune (true branch, if) \n PRUNE((n$5 > 1), true); [line 87, column 7]\n EXIT_SCOPE(n$5); [line 87, column 7]\n APPLY_ABSTRACTION; [line 87, column 7]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_12" [label="12: Prune (true branch, if) \n PRUNE((n$5 > 1), true); [line 87, column 7]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_12" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_14" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$5 > 1), false); [line 87, column 7]\n EXIT_SCOPE(n$5); [line 87, column 7]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$5 > 1), false); [line 87, column 7]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_13" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_10" ; @@ -353,11 +353,11 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_16" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_17" ; "g4.b0b5c8f28ad7834e70a958a8882fa59a_16" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_18" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_17" [label="17: Prune (true branch, if) \n PRUNE(!n$9, true); [line 85, column 8]\n EXIT_SCOPE(n$9); [line 85, column 8]\n APPLY_ABSTRACTION; [line 85, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_17" [label="17: Prune (true branch, if) \n PRUNE(!n$9, true); [line 85, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_17" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_8" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_18" [label="18: Prune (false branch, if) \n PRUNE(n$9, false); [line 85, column 8]\n EXIT_SCOPE(n$9); [line 85, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_18" [label="18: Prune (false branch, if) \n PRUNE(n$9, false); [line 85, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_18" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_15" ; @@ -370,15 +370,15 @@ digraph cfg { "g4.b0b5c8f28ad7834e70a958a8882fa59a_20" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_21" ; "g4.b0b5c8f28ad7834e70a958a8882fa59a_20" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_22" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_21" [label="21: Prune (true branch, if) \n PRUNE(!n$13, true); [line 83, column 8]\n EXIT_SCOPE(n$13); [line 83, column 8]\n APPLY_ABSTRACTION; [line 83, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_21" [label="21: Prune (true branch, if) \n PRUNE(!n$13, true); [line 83, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_21" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_5" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_22" [label="22: Prune (false branch, if) \n PRUNE(n$13, false); [line 83, column 8]\n EXIT_SCOPE(n$13); [line 83, column 8]\n " shape="invhouse"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_22" [label="22: Prune (false branch, if) \n PRUNE(n$13, false); [line 83, column 8]\n " shape="invhouse"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_22" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_19" ; -"g4.b0b5c8f28ad7834e70a958a8882fa59a_23" [label="23: Call _fun_printf \n n$17=_fun_printf(\"B\\n\":char*) [line 81, column 3]\n EXIT_SCOPE(n$17); [line 81, column 3]\n " shape="box"] +"g4.b0b5c8f28ad7834e70a958a8882fa59a_23" [label="23: Call _fun_printf \n n$17=_fun_printf(\"B\\n\":char*) [line 81, column 3]\n " shape="box"] "g4.b0b5c8f28ad7834e70a958a8882fa59a_23" -> "g4.b0b5c8f28ad7834e70a958a8882fa59a_20" ; @@ -393,7 +393,7 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_3" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_8" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_4" [label="4: Call _fun_printf \n n$1=_fun_printf(\"exit\\n\":char*) [line 118, column 3]\n EXIT_SCOPE(n$1); [line 118, column 3]\n APPLY_ABSTRACTION; [line 118, column 3]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_4" [label="4: Call _fun_printf \n n$1=_fun_printf(\"exit\\n\":char*) [line 118, column 3]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_4" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_3" ; @@ -401,15 +401,15 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_5" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_4" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_6" [label="6: Return Stmt \n *&return:int=1 [line 115, column 3]\n APPLY_ABSTRACTION; [line 115, column 3]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_6" [label="6: Return Stmt \n *&return:int=1 [line 115, column 3]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_6" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_2" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_7" [label="7: Call _fun_printf \n n$3=_fun_printf(\"A\\n\":char*) [line 114, column 3]\n EXIT_SCOPE(n$3); [line 114, column 3]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_7" [label="7: Call _fun_printf \n n$3=_fun_printf(\"A\\n\":char*) [line 114, column 3]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_7" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_6" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 113, column 3]\n *&a:int=2 [line 113, column 3]\n NULLIFY(&a); [line 113, column 3]\n EXIT_SCOPE(a); [line 113, column 3]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 113, column 3]\n *&a:int=2 [line 113, column 3]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_8" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_7" ; @@ -422,11 +422,11 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_10" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_11" ; "g5.37c965a8d6d7bec292c7b11ff315d9ea_10" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_12" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_11" [label="11: Prune (true branch, if) \n PRUNE((n$6 > 1), true); [line 108, column 7]\n EXIT_SCOPE(n$6); [line 108, column 7]\n APPLY_ABSTRACTION; [line 108, column 7]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_11" [label="11: Prune (true branch, if) \n PRUNE((n$6 > 1), true); [line 108, column 7]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_11" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_13" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$6 > 1), false); [line 108, column 7]\n EXIT_SCOPE(n$6); [line 108, column 7]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$6 > 1), false); [line 108, column 7]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_12" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_9" ; @@ -443,11 +443,11 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_15" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_16" ; "g5.37c965a8d6d7bec292c7b11ff315d9ea_15" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_17" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_16" [label="16: Prune (true branch, if) \n PRUNE(!n$10, true); [line 106, column 8]\n EXIT_SCOPE(n$10); [line 106, column 8]\n APPLY_ABSTRACTION; [line 106, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_16" [label="16: Prune (true branch, if) \n PRUNE(!n$10, true); [line 106, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_16" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_3" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_17" [label="17: Prune (false branch, if) \n PRUNE(n$10, false); [line 106, column 8]\n EXIT_SCOPE(n$10); [line 106, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_17" [label="17: Prune (false branch, if) \n PRUNE(n$10, false); [line 106, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_17" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_14" ; @@ -460,15 +460,15 @@ digraph cfg { "g5.37c965a8d6d7bec292c7b11ff315d9ea_19" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_20" ; "g5.37c965a8d6d7bec292c7b11ff315d9ea_19" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_21" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_20" [label="20: Prune (true branch, if) \n PRUNE(!n$14, true); [line 104, column 8]\n EXIT_SCOPE(n$14); [line 104, column 8]\n APPLY_ABSTRACTION; [line 104, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_20" [label="20: Prune (true branch, if) \n PRUNE(!n$14, true); [line 104, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_20" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_5" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_21" [label="21: Prune (false branch, if) \n PRUNE(n$14, false); [line 104, column 8]\n EXIT_SCOPE(n$14); [line 104, column 8]\n " shape="invhouse"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_21" [label="21: Prune (false branch, if) \n PRUNE(n$14, false); [line 104, column 8]\n " shape="invhouse"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_21" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_18" ; -"g5.37c965a8d6d7bec292c7b11ff315d9ea_22" [label="22: Call _fun_printf \n n$18=_fun_printf(\"B\\n\":char*) [line 102, column 3]\n EXIT_SCOPE(n$18); [line 102, column 3]\n " shape="box"] +"g5.37c965a8d6d7bec292c7b11ff315d9ea_22" [label="22: Call _fun_printf \n n$18=_fun_printf(\"B\\n\":char*) [line 102, column 3]\n " shape="box"] "g5.37c965a8d6d7bec292c7b11ff315d9ea_22" -> "g5.37c965a8d6d7bec292c7b11ff315d9ea_19" ; @@ -483,7 +483,7 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_3" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_8" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_4" [label="4: Call _fun_printf \n n$1=_fun_printf(\"exit\\n\":char*) [line 140, column 3]\n EXIT_SCOPE(n$1); [line 140, column 3]\n APPLY_ABSTRACTION; [line 140, column 3]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_4" [label="4: Call _fun_printf \n n$1=_fun_printf(\"exit\\n\":char*) [line 140, column 3]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_4" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_3" ; @@ -491,15 +491,15 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_5" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_4" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_6" [label="6: Return Stmt \n *&return:int=1 [line 138, column 3]\n APPLY_ABSTRACTION; [line 138, column 3]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_6" [label="6: Return Stmt \n *&return:int=1 [line 138, column 3]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_6" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_2" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_7" [label="7: Call _fun_printf \n n$3=_fun_printf(\"A\\n\":char*) [line 136, column 3]\n EXIT_SCOPE(n$3); [line 136, column 3]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_7" [label="7: Call _fun_printf \n n$3=_fun_printf(\"A\\n\":char*) [line 136, column 3]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_7" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_6" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 135, column 3]\n *&a:int=2 [line 135, column 3]\n NULLIFY(&a); [line 135, column 3]\n EXIT_SCOPE(a); [line 135, column 3]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 135, column 3]\n *&a:int=2 [line 135, column 3]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_8" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_7" ; @@ -512,11 +512,11 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_10" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_11" ; "g6.4a4314ef967aad20a9e7c423bc16e39c_10" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_12" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_11" [label="11: Prune (true branch, if) \n PRUNE((n$6 > 1), true); [line 130, column 7]\n EXIT_SCOPE(n$6); [line 130, column 7]\n APPLY_ABSTRACTION; [line 130, column 7]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_11" [label="11: Prune (true branch, if) \n PRUNE((n$6 > 1), true); [line 130, column 7]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_11" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_13" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$6 > 1), false); [line 130, column 7]\n EXIT_SCOPE(n$6); [line 130, column 7]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$6 > 1), false); [line 130, column 7]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_12" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_9" ; @@ -533,11 +533,11 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_15" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_16" ; "g6.4a4314ef967aad20a9e7c423bc16e39c_15" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_17" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_16" [label="16: Prune (true branch, if) \n PRUNE(!n$10, true); [line 128, column 8]\n EXIT_SCOPE(n$10); [line 128, column 8]\n APPLY_ABSTRACTION; [line 128, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_16" [label="16: Prune (true branch, if) \n PRUNE(!n$10, true); [line 128, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_16" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_3" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_17" [label="17: Prune (false branch, if) \n PRUNE(n$10, false); [line 128, column 8]\n EXIT_SCOPE(n$10); [line 128, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_17" [label="17: Prune (false branch, if) \n PRUNE(n$10, false); [line 128, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_17" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_14" ; @@ -550,15 +550,15 @@ digraph cfg { "g6.4a4314ef967aad20a9e7c423bc16e39c_19" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_20" ; "g6.4a4314ef967aad20a9e7c423bc16e39c_19" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_21" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_20" [label="20: Prune (true branch, if) \n PRUNE(!n$14, true); [line 126, column 8]\n EXIT_SCOPE(n$14); [line 126, column 8]\n APPLY_ABSTRACTION; [line 126, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_20" [label="20: Prune (true branch, if) \n PRUNE(!n$14, true); [line 126, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_20" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_5" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_21" [label="21: Prune (false branch, if) \n PRUNE(n$14, false); [line 126, column 8]\n EXIT_SCOPE(n$14); [line 126, column 8]\n " shape="invhouse"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_21" [label="21: Prune (false branch, if) \n PRUNE(n$14, false); [line 126, column 8]\n " shape="invhouse"] "g6.4a4314ef967aad20a9e7c423bc16e39c_21" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_18" ; -"g6.4a4314ef967aad20a9e7c423bc16e39c_22" [label="22: Call _fun_printf \n n$18=_fun_printf(\"B\\n\":char*) [line 124, column 3]\n EXIT_SCOPE(n$18); [line 124, column 3]\n " shape="box"] +"g6.4a4314ef967aad20a9e7c423bc16e39c_22" [label="22: Call _fun_printf \n n$18=_fun_printf(\"B\\n\":char*) [line 124, column 3]\n " shape="box"] "g6.4a4314ef967aad20a9e7c423bc16e39c_22" -> "g6.4a4314ef967aad20a9e7c423bc16e39c_19" ; @@ -569,11 +569,11 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_2" [label="2: Exit g7 \n " color=yellow style=filled] -"g7.727bb92f57c3951d11695a52c92c2b0c_3" [label="3: Return Stmt \n *&return:int=2 [line 164, column 3]\n APPLY_ABSTRACTION; [line 164, column 3]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_3" [label="3: Return Stmt \n *&return:int=2 [line 164, column 3]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_3" -> "g7.727bb92f57c3951d11695a52c92c2b0c_2" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_4" [label="4: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char*) [line 163, column 3]\n EXIT_SCOPE(n$0); [line 163, column 3]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_4" [label="4: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char*) [line 163, column 3]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_4" -> "g7.727bb92f57c3951d11695a52c92c2b0c_3" ; @@ -585,7 +585,7 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_6" -> "g7.727bb92f57c3951d11695a52c92c2b0c_25" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_7" [label="7: Call _fun_printf \n n$3=_fun_printf(\"out!\\n\":char*) [line 160, column 3]\n EXIT_SCOPE(n$3); [line 160, column 3]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_7" [label="7: Call _fun_printf \n n$3=_fun_printf(\"out!\\n\":char*) [line 160, column 3]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_7" -> "g7.727bb92f57c3951d11695a52c92c2b0c_6" ; @@ -602,11 +602,11 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_10" -> "g7.727bb92f57c3951d11695a52c92c2b0c_11" ; "g7.727bb92f57c3951d11695a52c92c2b0c_10" -> "g7.727bb92f57c3951d11695a52c92c2b0c_12" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_11" [label="11: Prune (true branch, while) \n PRUNE((n$5 < 10), true); [line 146, column 10]\n EXIT_SCOPE(n$5); [line 146, column 10]\n APPLY_ABSTRACTION; [line 146, column 10]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_11" [label="11: Prune (true branch, while) \n PRUNE((n$5 < 10), true); [line 146, column 10]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_11" -> "g7.727bb92f57c3951d11695a52c92c2b0c_13" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_12" [label="12: Prune (false branch, while) \n PRUNE(!(n$5 < 10), false); [line 146, column 10]\n NULLIFY(&j); [line 146, column 10]\n NULLIFY(&k); [line 146, column 10]\n NULLIFY(&i); [line 146, column 10]\n EXIT_SCOPE(n$5,j,k,i); [line 146, column 10]\n APPLY_ABSTRACTION; [line 146, column 10]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_12" [label="12: Prune (false branch, while) \n PRUNE(!(n$5 < 10), false); [line 146, column 10]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_12" -> "g7.727bb92f57c3951d11695a52c92c2b0c_8" ; @@ -619,11 +619,11 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_14" -> "g7.727bb92f57c3951d11695a52c92c2b0c_15" ; "g7.727bb92f57c3951d11695a52c92c2b0c_14" -> "g7.727bb92f57c3951d11695a52c92c2b0c_16" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_15" [label="15: Prune (true branch, while) \n PRUNE((n$6 < 10), true); [line 147, column 12]\n EXIT_SCOPE(n$6); [line 147, column 12]\n APPLY_ABSTRACTION; [line 147, column 12]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_15" [label="15: Prune (true branch, while) \n PRUNE((n$6 < 10), true); [line 147, column 12]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_15" -> "g7.727bb92f57c3951d11695a52c92c2b0c_17" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_16" [label="16: Prune (false branch, while) \n PRUNE(!(n$6 < 10), false); [line 147, column 12]\n EXIT_SCOPE(n$6); [line 147, column 12]\n APPLY_ABSTRACTION; [line 147, column 12]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_16" [label="16: Prune (false branch, while) \n PRUNE(!(n$6 < 10), false); [line 147, column 12]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_16" -> "g7.727bb92f57c3951d11695a52c92c2b0c_9" ; @@ -636,11 +636,11 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_18" -> "g7.727bb92f57c3951d11695a52c92c2b0c_19" ; "g7.727bb92f57c3951d11695a52c92c2b0c_18" -> "g7.727bb92f57c3951d11695a52c92c2b0c_20" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_19" [label="19: Prune (true branch, while) \n PRUNE((n$7 < 10), true); [line 148, column 14]\n EXIT_SCOPE(n$7); [line 148, column 14]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_19" [label="19: Prune (true branch, while) \n PRUNE((n$7 < 10), true); [line 148, column 14]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_19" -> "g7.727bb92f57c3951d11695a52c92c2b0c_26" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_20" [label="20: Prune (false branch, while) \n PRUNE(!(n$7 < 10), false); [line 148, column 14]\n EXIT_SCOPE(n$7); [line 148, column 14]\n APPLY_ABSTRACTION; [line 148, column 14]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_20" [label="20: Prune (false branch, while) \n PRUNE(!(n$7 < 10), false); [line 148, column 14]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_20" -> "g7.727bb92f57c3951d11695a52c92c2b0c_13" ; @@ -648,28 +648,28 @@ digraph cfg { "g7.727bb92f57c3951d11695a52c92c2b0c_21" -> "g7.727bb92f57c3951d11695a52c92c2b0c_17" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_22" [label="22: BinaryOperatorStmt: GE \n n$8=*&v:int [line 150, column 13]\n NULLIFY(&v); [line 150, column 13]\n EXIT_SCOPE(v); [line 150, column 13]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_22" [label="22: BinaryOperatorStmt: GE \n n$8=*&v:int [line 150, column 13]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_22" -> "g7.727bb92f57c3951d11695a52c92c2b0c_23" ; "g7.727bb92f57c3951d11695a52c92c2b0c_22" -> "g7.727bb92f57c3951d11695a52c92c2b0c_24" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_23" [label="23: Prune (true branch, if) \n PRUNE((n$8 >= 15), true); [line 150, column 13]\n NULLIFY(&j); [line 150, column 13]\n NULLIFY(&k); [line 150, column 13]\n NULLIFY(&i); [line 150, column 13]\n EXIT_SCOPE(n$8,j,k,i); [line 150, column 13]\n APPLY_ABSTRACTION; [line 150, column 13]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_23" [label="23: Prune (true branch, if) \n PRUNE((n$8 >= 15), true); [line 150, column 13]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_23" -> "g7.727bb92f57c3951d11695a52c92c2b0c_8" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_24" [label="24: Prune (false branch, if) \n PRUNE(!(n$8 >= 15), false); [line 150, column 13]\n EXIT_SCOPE(n$8); [line 150, column 13]\n " shape="invhouse"] +"g7.727bb92f57c3951d11695a52c92c2b0c_24" [label="24: Prune (false branch, if) \n PRUNE(!(n$8 >= 15), false); [line 150, column 13]\n " shape="invhouse"] "g7.727bb92f57c3951d11695a52c92c2b0c_24" -> "g7.727bb92f57c3951d11695a52c92c2b0c_21" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_25" [label="25: Call _fun_printf \n n$10=_fun_printf(\"wow\\n\":char*) [line 153, column 11]\n EXIT_SCOPE(n$10); [line 153, column 11]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_25" [label="25: Call _fun_printf \n n$10=_fun_printf(\"wow\\n\":char*) [line 153, column 11]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_25" -> "g7.727bb92f57c3951d11695a52c92c2b0c_5" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_26" [label="26: DeclStmt \n VARIABLE_DECLARED(v:int); [line 149, column 9]\n n$15=*&i:int [line 149, column 17]\n n$16=*&j:int [line 149, column 21]\n n$17=*&k:int [line 149, column 25]\n *&v:int=((n$15 + n$16) + n$17) [line 149, column 9]\n EXIT_SCOPE(n$15,n$16,n$17); [line 149, column 9]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_26" [label="26: DeclStmt \n VARIABLE_DECLARED(v:int); [line 149, column 9]\n n$15=*&i:int [line 149, column 17]\n n$16=*&j:int [line 149, column 21]\n n$17=*&k:int [line 149, column 25]\n *&v:int=((n$15 + n$16) + n$17) [line 149, column 9]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_26" -> "g7.727bb92f57c3951d11695a52c92c2b0c_22" ; -"g7.727bb92f57c3951d11695a52c92c2b0c_27" [label="27: DeclStmt \n VARIABLE_DECLARED(k:int); [line 145, column 3]\n *&k:int=0 [line 145, column 3]\n APPLY_ABSTRACTION; [line 145, column 3]\n " shape="box"] +"g7.727bb92f57c3951d11695a52c92c2b0c_27" [label="27: DeclStmt \n VARIABLE_DECLARED(k:int); [line 145, column 3]\n *&k:int=0 [line 145, column 3]\n " shape="box"] "g7.727bb92f57c3951d11695a52c92c2b0c_27" -> "g7.727bb92f57c3951d11695a52c92c2b0c_9" ; @@ -688,11 +688,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_2" [label="2: Exit g8 \n " color=yellow style=filled] -"g8.c98b82371573afc08575815d90f5eac4_3" [label="3: Return Stmt \n *&return:int=2 [line 187, column 3]\n APPLY_ABSTRACTION; [line 187, column 3]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_3" [label="3: Return Stmt \n *&return:int=2 [line 187, column 3]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_3" -> "g8.c98b82371573afc08575815d90f5eac4_2" ; -"g8.c98b82371573afc08575815d90f5eac4_4" [label="4: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char*) [line 186, column 3]\n EXIT_SCOPE(n$0); [line 186, column 3]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_4" [label="4: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char*) [line 186, column 3]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_4" -> "g8.c98b82371573afc08575815d90f5eac4_3" ; @@ -700,7 +700,7 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_5" -> "g8.c98b82371573afc08575815d90f5eac4_4" ; -"g8.c98b82371573afc08575815d90f5eac4_6" [label="6: Call _fun_printf \n n$2=_fun_printf(\"out!\\n\":char*) [line 184, column 3]\n EXIT_SCOPE(n$2); [line 184, column 3]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_6" [label="6: Call _fun_printf \n n$2=_fun_printf(\"out!\\n\":char*) [line 184, column 3]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_6" -> "g8.c98b82371573afc08575815d90f5eac4_5" ; @@ -717,11 +717,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_9" -> "g8.c98b82371573afc08575815d90f5eac4_10" ; "g8.c98b82371573afc08575815d90f5eac4_9" -> "g8.c98b82371573afc08575815d90f5eac4_11" ; -"g8.c98b82371573afc08575815d90f5eac4_10" [label="10: Prune (true branch, while) \n PRUNE((n$4 < 10), true); [line 171, column 10]\n EXIT_SCOPE(n$4); [line 171, column 10]\n APPLY_ABSTRACTION; [line 171, column 10]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_10" [label="10: Prune (true branch, while) \n PRUNE((n$4 < 10), true); [line 171, column 10]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_10" -> "g8.c98b82371573afc08575815d90f5eac4_12" ; -"g8.c98b82371573afc08575815d90f5eac4_11" [label="11: Prune (false branch, while) \n PRUNE(!(n$4 < 10), false); [line 171, column 10]\n NULLIFY(&i); [line 171, column 10]\n NULLIFY(&j); [line 171, column 10]\n NULLIFY(&k); [line 171, column 10]\n EXIT_SCOPE(n$4,i,j,k); [line 171, column 10]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_11" [label="11: Prune (false branch, while) \n PRUNE(!(n$4 < 10), false); [line 171, column 10]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_11" -> "g8.c98b82371573afc08575815d90f5eac4_7" ; @@ -734,11 +734,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_13" -> "g8.c98b82371573afc08575815d90f5eac4_14" ; "g8.c98b82371573afc08575815d90f5eac4_13" -> "g8.c98b82371573afc08575815d90f5eac4_15" ; -"g8.c98b82371573afc08575815d90f5eac4_14" [label="14: Prune (true branch, while) \n PRUNE((n$5 < 10), true); [line 172, column 12]\n EXIT_SCOPE(n$5); [line 172, column 12]\n APPLY_ABSTRACTION; [line 172, column 12]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_14" [label="14: Prune (true branch, while) \n PRUNE((n$5 < 10), true); [line 172, column 12]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_14" -> "g8.c98b82371573afc08575815d90f5eac4_16" ; -"g8.c98b82371573afc08575815d90f5eac4_15" [label="15: Prune (false branch, while) \n PRUNE(!(n$5 < 10), false); [line 172, column 12]\n EXIT_SCOPE(n$5); [line 172, column 12]\n APPLY_ABSTRACTION; [line 172, column 12]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_15" [label="15: Prune (false branch, while) \n PRUNE(!(n$5 < 10), false); [line 172, column 12]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_15" -> "g8.c98b82371573afc08575815d90f5eac4_8" ; @@ -751,11 +751,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_17" -> "g8.c98b82371573afc08575815d90f5eac4_18" ; "g8.c98b82371573afc08575815d90f5eac4_17" -> "g8.c98b82371573afc08575815d90f5eac4_19" ; -"g8.c98b82371573afc08575815d90f5eac4_18" [label="18: Prune (true branch, while) \n PRUNE((n$6 < 10), true); [line 173, column 14]\n EXIT_SCOPE(n$6); [line 173, column 14]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_18" [label="18: Prune (true branch, while) \n PRUNE((n$6 < 10), true); [line 173, column 14]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_18" -> "g8.c98b82371573afc08575815d90f5eac4_26" ; -"g8.c98b82371573afc08575815d90f5eac4_19" [label="19: Prune (false branch, while) \n PRUNE(!(n$6 < 10), false); [line 173, column 14]\n EXIT_SCOPE(n$6); [line 173, column 14]\n APPLY_ABSTRACTION; [line 173, column 14]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_19" [label="19: Prune (false branch, while) \n PRUNE(!(n$6 < 10), false); [line 173, column 14]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_19" -> "g8.c98b82371573afc08575815d90f5eac4_12" ; @@ -763,20 +763,20 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_20" -> "g8.c98b82371573afc08575815d90f5eac4_16" ; -"g8.c98b82371573afc08575815d90f5eac4_21" [label="21: BinaryOperatorStmt: GE \n n$7=*&v:int [line 175, column 13]\n NULLIFY(&v); [line 175, column 13]\n EXIT_SCOPE(v); [line 175, column 13]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_21" [label="21: BinaryOperatorStmt: GE \n n$7=*&v:int [line 175, column 13]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_21" -> "g8.c98b82371573afc08575815d90f5eac4_22" ; "g8.c98b82371573afc08575815d90f5eac4_21" -> "g8.c98b82371573afc08575815d90f5eac4_23" ; -"g8.c98b82371573afc08575815d90f5eac4_22" [label="22: Prune (true branch, if) \n PRUNE((n$7 >= 15), true); [line 175, column 13]\n EXIT_SCOPE(n$7); [line 175, column 13]\n APPLY_ABSTRACTION; [line 175, column 13]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_22" [label="22: Prune (true branch, if) \n PRUNE((n$7 >= 15), true); [line 175, column 13]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_22" -> "g8.c98b82371573afc08575815d90f5eac4_25" ; -"g8.c98b82371573afc08575815d90f5eac4_23" [label="23: Prune (false branch, if) \n PRUNE(!(n$7 >= 15), false); [line 175, column 13]\n EXIT_SCOPE(n$7); [line 175, column 13]\n APPLY_ABSTRACTION; [line 175, column 13]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_23" [label="23: Prune (false branch, if) \n PRUNE(!(n$7 >= 15), false); [line 175, column 13]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_23" -> "g8.c98b82371573afc08575815d90f5eac4_20" ; -"g8.c98b82371573afc08575815d90f5eac4_24" [label="24: Call _fun_printf \n n$8=_fun_printf(\"wow\\n\":char*) [line 177, column 11]\n EXIT_SCOPE(n$8); [line 177, column 11]\n APPLY_ABSTRACTION; [line 177, column 11]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_24" [label="24: Call _fun_printf \n n$8=_fun_printf(\"wow\\n\":char*) [line 177, column 11]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_24" -> "g8.c98b82371573afc08575815d90f5eac4_20" ; @@ -784,7 +784,7 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_25" -> "g8.c98b82371573afc08575815d90f5eac4_24" ; -"g8.c98b82371573afc08575815d90f5eac4_26" [label="26: DeclStmt \n VARIABLE_DECLARED(v:int); [line 174, column 9]\n n$12=*&i:int [line 174, column 17]\n n$13=*&j:int [line 174, column 21]\n n$14=*&k:int [line 174, column 25]\n *&v:int=((n$12 + n$13) + n$14) [line 174, column 9]\n EXIT_SCOPE(n$12,n$13,n$14); [line 174, column 9]\n " shape="box"] +"g8.c98b82371573afc08575815d90f5eac4_26" [label="26: DeclStmt \n VARIABLE_DECLARED(v:int); [line 174, column 9]\n n$12=*&i:int [line 174, column 17]\n n$13=*&j:int [line 174, column 21]\n n$14=*&k:int [line 174, column 25]\n *&v:int=((n$12 + n$13) + n$14) [line 174, column 9]\n " shape="box"] "g8.c98b82371573afc08575815d90f5eac4_26" -> "g8.c98b82371573afc08575815d90f5eac4_21" ; @@ -792,11 +792,11 @@ digraph cfg { "g8.c98b82371573afc08575815d90f5eac4_27" -> "g8.c98b82371573afc08575815d90f5eac4_8" ; -"g8.c98b82371573afc08575815d90f5eac4_28" [label="28: Prune (true branch, if) \n n$18=*&q:int [line 169, column 7]\n PRUNE(n$18, true); [line 169, column 7]\n NULLIFY(&q); [line 169, column 7]\n EXIT_SCOPE(n$18,q); [line 169, column 7]\n APPLY_ABSTRACTION; [line 169, column 7]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_28" [label="28: Prune (true branch, if) \n n$18=*&q:int [line 169, column 7]\n PRUNE(n$18, true); [line 169, column 7]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_28" -> "g8.c98b82371573afc08575815d90f5eac4_25" ; -"g8.c98b82371573afc08575815d90f5eac4_29" [label="29: Prune (false branch, if) \n n$18=*&q:int [line 169, column 7]\n PRUNE(!n$18, false); [line 169, column 7]\n NULLIFY(&q); [line 169, column 7]\n EXIT_SCOPE(n$18,q); [line 169, column 7]\n " shape="invhouse"] +"g8.c98b82371573afc08575815d90f5eac4_29" [label="29: Prune (false branch, if) \n n$18=*&q:int [line 169, column 7]\n PRUNE(!n$18, false); [line 169, column 7]\n " shape="invhouse"] "g8.c98b82371573afc08575815d90f5eac4_29" -> "g8.c98b82371573afc08575815d90f5eac4_27" ; @@ -820,7 +820,7 @@ digraph cfg { "getValue.faa0c7b1433b0c97fcdc15fa47c8180f_2" [label="2: Exit getValue \n " color=yellow style=filled] -"getValue.faa0c7b1433b0c97fcdc15fa47c8180f_3" [label="3: Return Stmt \n *&return:int=2 [line 10, column 18]\n APPLY_ABSTRACTION; [line 10, column 18]\n " shape="box"] +"getValue.faa0c7b1433b0c97fcdc15fa47c8180f_3" [label="3: Return Stmt \n *&return:int=2 [line 10, column 18]\n " shape="box"] "getValue.faa0c7b1433b0c97fcdc15fa47c8180f_3" -> "getValue.faa0c7b1433b0c97fcdc15fa47c8180f_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/gotostmt/jjb1.c.dot b/infer/tests/codetoanalyze/c/frontend/gotostmt/jjb1.c.dot index 6f74dd77e..e84a7fef4 100644 --- a/infer/tests/codetoanalyze/c/frontend/gotostmt/jjb1.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/gotostmt/jjb1.c.dot @@ -7,7 +7,7 @@ digraph cfg { "jjb1.9d6085e324f8fe61c38e804980fa5cf1_2" [label="2: Exit jjb1 \n " color=yellow style=filled] -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_3" [label="3: Return Stmt \n *&return:int=0 [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_3" [label="3: Return Stmt \n *&return:int=0 [line 29, column 3]\n " shape="box"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_3" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_2" ; @@ -24,11 +24,11 @@ digraph cfg { "jjb1.9d6085e324f8fe61c38e804980fa5cf1_6" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_7" ; "jjb1.9d6085e324f8fe61c38e804980fa5cf1_6" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_8" ; -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_7" [label="7: Prune (true branch, if) \n PRUNE((n$1 / 2), true); [line 14, column 7]\n EXIT_SCOPE(n$1); [line 14, column 7]\n APPLY_ABSTRACTION; [line 14, column 7]\n " shape="invhouse"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_7" [label="7: Prune (true branch, if) \n PRUNE((n$1 / 2), true); [line 14, column 7]\n " shape="invhouse"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_7" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_16" ; -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_8" [label="8: Prune (false branch, if) \n PRUNE(!(n$1 / 2), false); [line 14, column 7]\n EXIT_SCOPE(n$1); [line 14, column 7]\n APPLY_ABSTRACTION; [line 14, column 7]\n " shape="invhouse"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_8" [label="8: Prune (false branch, if) \n PRUNE(!(n$1 / 2), false); [line 14, column 7]\n " shape="invhouse"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_8" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_9" ; @@ -36,11 +36,11 @@ digraph cfg { "jjb1.9d6085e324f8fe61c38e804980fa5cf1_9" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_18" ; -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_10" [label="10: Call _fun_print_int \n n$3=*&x:int [line 19, column 15]\n n$4=_fun_print_int(n$3:int) [line 19, column 5]\n EXIT_SCOPE(n$3,n$4); [line 19, column 5]\n APPLY_ABSTRACTION; [line 19, column 5]\n " shape="box"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_10" [label="10: Call _fun_print_int \n n$3=*&x:int [line 19, column 15]\n n$4=_fun_print_int(n$3:int) [line 19, column 5]\n " shape="box"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_10" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_9" ; -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_11" [label="11: UnaryOperator \n n$5=*&x:int [line 18, column 5]\n *&x:int=(n$5 - 1) [line 18, column 5]\n EXIT_SCOPE(n$5); [line 18, column 5]\n " shape="box"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_11" [label="11: UnaryOperator \n n$5=*&x:int [line 18, column 5]\n *&x:int=(n$5 - 1) [line 18, column 5]\n " shape="box"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_11" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_10" ; @@ -53,11 +53,11 @@ digraph cfg { "jjb1.9d6085e324f8fe61c38e804980fa5cf1_13" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_14" ; "jjb1.9d6085e324f8fe61c38e804980fa5cf1_13" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_15" ; -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_14" [label="14: Prune (true branch, if) \n PRUNE((n$6 <= 0), true); [line 16, column 9]\n NULLIFY(&x); [line 16, column 9]\n NULLIFY(&y); [line 16, column 9]\n EXIT_SCOPE(n$6,x,y); [line 16, column 9]\n APPLY_ABSTRACTION; [line 16, column 9]\n " shape="invhouse"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_14" [label="14: Prune (true branch, if) \n PRUNE((n$6 <= 0), true); [line 16, column 9]\n " shape="invhouse"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_14" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_4" ; -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_15" [label="15: Prune (false branch, if) \n PRUNE(!(n$6 <= 0), false); [line 16, column 9]\n EXIT_SCOPE(n$6); [line 16, column 9]\n " shape="invhouse"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_15" [label="15: Prune (false branch, if) \n PRUNE(!(n$6 <= 0), false); [line 16, column 9]\n " shape="invhouse"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_15" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_12" ; @@ -65,15 +65,15 @@ digraph cfg { "jjb1.9d6085e324f8fe61c38e804980fa5cf1_16" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_13" ; -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_17" [label="17: Call _fun_print_int \n n$12=*&y:int [line 24, column 15]\n n$13=_fun_print_int(n$12:int) [line 24, column 5]\n EXIT_SCOPE(n$12,n$13); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_17" [label="17: Call _fun_print_int \n n$12=*&y:int [line 24, column 15]\n n$13=_fun_print_int(n$12:int) [line 24, column 5]\n " shape="box"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_17" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_16" ; -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_18" [label="18: UnaryOperator \n n$14=*&y:int [line 23, column 5]\n *&y:int=(n$14 + 1) [line 23, column 5]\n EXIT_SCOPE(n$14); [line 23, column 5]\n " shape="box"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_18" [label="18: UnaryOperator \n n$14=*&y:int [line 23, column 5]\n *&y:int=(n$14 + 1) [line 23, column 5]\n " shape="box"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_18" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_17" ; -"jjb1.9d6085e324f8fe61c38e804980fa5cf1_19" [label="19: UnaryOperator \n n$17=*&x:int [line 13, column 3]\n *&x:int=(n$17 + 1) [line 13, column 3]\n EXIT_SCOPE(n$17); [line 13, column 3]\n " shape="box"] +"jjb1.9d6085e324f8fe61c38e804980fa5cf1_19" [label="19: UnaryOperator \n n$17=*&x:int [line 13, column 3]\n *&x:int=(n$17 + 1) [line 13, column 3]\n " shape="box"] "jjb1.9d6085e324f8fe61c38e804980fa5cf1_19" -> "jjb1.9d6085e324f8fe61c38e804980fa5cf1_6" ; diff --git a/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot b/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot index d0dbd12b9..ea3769dcc 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/array_initlistexpr.c.dot @@ -7,7 +7,7 @@ digraph cfg { "init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_2" [label="2: Exit init_const_array \n " color=yellow style=filled] -"init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:int[3*4][2*12]); [line 10, column 3]\n n$0=*&z:int [line 10, column 19]\n *&a[0][0]:int=(n$0 + 1) [line 10, column 18]\n *&a[0][1]:int=2 [line 10, column 18]\n *&a[0][2]:int=3 [line 10, column 18]\n *&a[1][0]:int=5 [line 10, column 33]\n *&a[1][1]:int=6 [line 10, column 33]\n *&a[1][2]:int=7 [line 10, column 33]\n NULLIFY(&z); [line 10, column 33]\n NULLIFY(&a); [line 10, column 33]\n EXIT_SCOPE(n$0,z,a); [line 10, column 33]\n APPLY_ABSTRACTION; [line 10, column 33]\n " shape="box"] +"init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:int[3*4][2*12]); [line 10, column 3]\n n$0=*&z:int [line 10, column 19]\n *&a[0][0]:int=(n$0 + 1) [line 10, column 18]\n *&a[0][1]:int=2 [line 10, column 18]\n *&a[0][2]:int=3 [line 10, column 18]\n *&a[1][0]:int=5 [line 10, column 33]\n *&a[1][1]:int=6 [line 10, column 33]\n *&a[1][2]:int=7 [line 10, column 33]\n " shape="box"] "init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_3" -> "init_const_array.b1cf412cdbd1beaf15a9f6a3789043b9_2" ; @@ -18,11 +18,11 @@ digraph cfg { "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_2" [label="2: Exit init_variable_array \n " color=yellow style=filled] -"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" [label="3: Fallback node \n n$0=*&len:int [line 15, column 9]\n n$1=*&x:int [line 15, column 15]\n n$2=_fun___set_array_length(&a:int[_*4],((n$0 + n$1) + 1):int) [line 15, column 9]\n NULLIFY(&x); [line 15, column 9]\n NULLIFY(&len); [line 15, column 9]\n NULLIFY(&a); [line 15, column 9]\n EXIT_SCOPE(n$0,n$1,n$2,x,len,a); [line 15, column 9]\n APPLY_ABSTRACTION; [line 15, column 9]\n " shape="box"] +"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" [label="3: Fallback node \n n$0=*&len:int [line 15, column 9]\n n$1=*&x:int [line 15, column 15]\n n$2=_fun___set_array_length(&a:int[_*4],((n$0 + n$1) + 1):int) [line 15, column 9]\n " shape="box"] "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" -> "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_2" ; -"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 14, column 3]\n n$3=*&len:int [line 14, column 15]\n *&x:int=(2 * n$3) [line 14, column 3]\n EXIT_SCOPE(n$3); [line 14, column 3]\n " shape="box"] +"init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 14, column 3]\n n$3=*&len:int [line 14, column 15]\n *&x:int=(2 * n$3) [line 14, column 3]\n " shape="box"] "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_4" -> "init_variable_array.8cdc6857adcb1fd04fb6555d8ce3e4c1_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot b/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot index 3c6fd664f..0a1f6a70e 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/compound_literal.c.dot @@ -7,7 +7,7 @@ digraph cfg { "compound_literal_expr.137fbe19f590ba2423c07134917ec888_2" [label="2: Exit compound_literal_expr \n " color=yellow style=filled] -"compound_literal_expr.137fbe19f590ba2423c07134917ec888_3" [label="3: Return Stmt \n *&0$?%__sil_tmpSIL_compound_literal__n$0.x:int=52 [line 13, column 53]\n *&0$?%__sil_tmpSIL_compound_literal__n$0.y:int=32 [line 13, column 53]\n n$1=*&0$?%__sil_tmpSIL_compound_literal__n$0.x:int [line 13, column 38]\n *&return:int=n$1 [line 13, column 31]\n NULLIFY(&0$?%__sil_tmpSIL_compound_literal__n$0); [line 13, column 31]\n EXIT_SCOPE(n$1,0$?%__sil_tmpSIL_compound_literal__n$0); [line 13, column 31]\n APPLY_ABSTRACTION; [line 13, column 31]\n " shape="box"] +"compound_literal_expr.137fbe19f590ba2423c07134917ec888_3" [label="3: Return Stmt \n *&0$?%__sil_tmpSIL_compound_literal__n$0.x:int=52 [line 13, column 53]\n *&0$?%__sil_tmpSIL_compound_literal__n$0.y:int=32 [line 13, column 53]\n n$1=*&0$?%__sil_tmpSIL_compound_literal__n$0.x:int [line 13, column 38]\n *&return:int=n$1 [line 13, column 31]\n " shape="box"] "compound_literal_expr.137fbe19f590ba2423c07134917ec888_3" -> "compound_literal_expr.137fbe19f590ba2423c07134917ec888_2" ; @@ -18,11 +18,11 @@ digraph cfg { "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_2" [label="2: Exit init_with_compound_literal \n " color=yellow style=filled] -"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" [label="3: Return Stmt \n n$0=*&p.x:int [line 17, column 15]\n *&return:int=(1 / (n$0 - 32)) [line 17, column 3]\n NULLIFY(&p); [line 17, column 3]\n EXIT_SCOPE(n$0,p); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" [label="3: Return Stmt \n n$0=*&p.x:int [line 17, column 15]\n *&return:int=(1 / (n$0 - 32)) [line 17, column 3]\n " shape="box"] "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_2" ; -"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:point); [line 16, column 3]\n *&p.x:int=32 [line 16, column 34]\n *&p.y:int=52 [line 16, column 34]\n n$1=*&p:point [line 16, column 20]\n EXIT_SCOPE(n$1); [line 16, column 20]\n " shape="box"] +"init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:point); [line 16, column 3]\n *&p.x:int=32 [line 16, column 34]\n *&p.y:int=52 [line 16, column 34]\n n$1=*&p:point [line 16, column 20]\n " shape="box"] "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_4" -> "init_with_compound_literal.745ef6cf3c32f7f18974c2c4fc6a8c9c_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/initialization/enum_initlistexpr.c.dot b/infer/tests/codetoanalyze/c/frontend/initialization/enum_initlistexpr.c.dot index 98341e0fe..a39e1765f 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/enum_initlistexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/enum_initlistexpr.c.dot @@ -7,15 +7,15 @@ digraph cfg { "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_2" [label="2: Exit union_initialize_FIXME \n " color=yellow style=filled] -"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_3" [label="3: DeclStmt \n VARIABLE_DECLARED(set_f1_implicit:U); [line 15, column 3]\n VARIABLE_DECLARED(set_f1_implicit:U); [line 15, column 29]\n *&set_f1_implicit:int=1 [line 15, column 29]\n NULLIFY(&set_f1_implicit); [line 15, column 29]\n EXIT_SCOPE(set_f1_implicit); [line 15, column 29]\n APPLY_ABSTRACTION; [line 15, column 29]\n " shape="box"] +"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_3" [label="3: DeclStmt \n VARIABLE_DECLARED(set_f1_implicit:U); [line 15, column 3]\n VARIABLE_DECLARED(set_f1_implicit:U); [line 15, column 29]\n *&set_f1_implicit:int=1 [line 15, column 29]\n " shape="box"] "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_3" -> "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_2" ; -"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_4" [label="4: DeclStmt \n VARIABLE_DECLARED(set_f2:U); [line 14, column 3]\n VARIABLE_DECLARED(set_f2:U); [line 14, column 20]\n NULLIFY(&set_f2); [line 14, column 20]\n EXIT_SCOPE(set_f2); [line 14, column 20]\n " shape="box"] +"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_4" [label="4: DeclStmt \n VARIABLE_DECLARED(set_f2:U); [line 14, column 3]\n VARIABLE_DECLARED(set_f2:U); [line 14, column 20]\n " shape="box"] "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_4" -> "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_3" ; -"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_5" [label="5: DeclStmt \n VARIABLE_DECLARED(set_f1:U); [line 13, column 3]\n VARIABLE_DECLARED(set_f1:U); [line 13, column 20]\n *&set_f1:int=2 [line 13, column 20]\n NULLIFY(&set_f1); [line 13, column 20]\n EXIT_SCOPE(set_f1); [line 13, column 20]\n " shape="box"] +"union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_5" [label="5: DeclStmt \n VARIABLE_DECLARED(set_f1:U); [line 13, column 3]\n VARIABLE_DECLARED(set_f1:U); [line 13, column 20]\n *&set_f1:int=2 [line 13, column 20]\n " shape="box"] "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_5" -> "union_initialize_FIXME.324b85335f5d2e418a28cb97eb896f20_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot b/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot index 38f259b57..41dd534c9 100644 --- a/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/initialization/struct_initlistexpr.c.dot @@ -7,7 +7,7 @@ digraph cfg { "field_set_correctly.b8d9a4294a85d24818c312a099420dce_2" [label="2: Exit field_set_correctly \n " color=yellow style=filled] -"field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" [label="3: Return Stmt \n n$0=*&e.ssn:int [line 34, column 15]\n *&return:int=(1 / (n$0 - 12)) [line 34, column 3]\n NULLIFY(&e); [line 34, column 3]\n EXIT_SCOPE(n$0,e); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] +"field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" [label="3: Return Stmt \n n$0=*&e.ssn:int [line 34, column 15]\n *&return:int=(1 / (n$0 - 12)) [line 34, column 3]\n " shape="box"] "field_set_correctly.b8d9a4294a85d24818c312a099420dce_3" -> "field_set_correctly.b8d9a4294a85d24818c312a099420dce_2" ; @@ -22,7 +22,7 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" [label="2: Exit foo \n " color=yellow style=filled] -"foo.acbd18db4cc2f85cedef654fccc4a4d8_3" [label="3: Return Stmt \n *&return:int=5 [line 13, column 13]\n APPLY_ABSTRACTION; [line 13, column 13]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_3" [label="3: Return Stmt \n *&return:int=5 [line 13, column 13]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; @@ -33,11 +33,11 @@ digraph cfg { "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_2" [label="2: Exit implicit_expr_set_correctly \n " color=yellow style=filled] -"implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" [label="3: Return Stmt \n n$0=*&imageDrawRect.origin.x.a:int [line 57, column 14]\n *&return:int=(1 / n$0) [line 57, column 3]\n NULLIFY(&imageDrawRect); [line 57, column 3]\n EXIT_SCOPE(n$0,imageDrawRect); [line 57, column 3]\n APPLY_ABSTRACTION; [line 57, column 3]\n " shape="box"] +"implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" [label="3: Return Stmt \n n$0=*&imageDrawRect.origin.x.a:int [line 57, column 14]\n *&return:int=(1 / n$0) [line 57, column 3]\n " shape="box"] "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" -> "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_2" ; -"implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_4" [label="4: BinaryOperatorStmt: Assign \n *&imageDrawRect.origin.x.a:int=0 [line 56, column 35]\n *&imageDrawRect.origin.x.b:int=0 [line 56, column 35]\n *&imageDrawRect.origin.y:int=0 [line 56, column 35]\n *&imageDrawRect.z:int=0 [line 56, column 35]\n *&imageDrawRect.size:int=5 [line 56, column 25]\n n$1=*&imageDrawRect:rect [line 56, column 19]\n EXIT_SCOPE(n$1); [line 56, column 19]\n " shape="box"] +"implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_4" [label="4: BinaryOperatorStmt: Assign \n *&imageDrawRect.origin.x.a:int=0 [line 56, column 35]\n *&imageDrawRect.origin.x.b:int=0 [line 56, column 35]\n *&imageDrawRect.origin.y:int=0 [line 56, column 35]\n *&imageDrawRect.z:int=0 [line 56, column 35]\n *&imageDrawRect.size:int=5 [line 56, column 25]\n n$1=*&imageDrawRect:rect [line 56, column 19]\n " shape="box"] "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_4" -> "implicit_expr_set_correctly.dcfe49f71ad24e86323cbad97b1a70fe_3" ; @@ -48,7 +48,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:Point); [line 15, column 14]\n *&p.x:int=1 [line 15, column 31]\n n$0=_fun_foo() [line 15, column 35]\n *&p.y:int=(n$0 + 3) [line 15, column 31]\n NULLIFY(&p); [line 15, column 31]\n EXIT_SCOPE(n$0,p); [line 15, column 31]\n APPLY_ABSTRACTION; [line 15, column 31]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:Point); [line 15, column 14]\n *&p.x:int=1 [line 15, column 31]\n n$0=_fun_foo() [line 15, column 35]\n *&p.y:int=(n$0 + 3) [line 15, column 31]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -59,11 +59,11 @@ digraph cfg { "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_2" [label="2: Exit point_coords_set_correctly \n " color=yellow style=filled] -"point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" [label="3: Return Stmt \n n$0=*&p:Point* [line 19, column 15]\n n$1=*n$0.x:int [line 19, column 15]\n *&return:int=(1 / (n$1 - 4)) [line 19, column 3]\n NULLIFY(&p); [line 19, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" [label="3: Return Stmt \n n$0=*&p:Point* [line 19, column 15]\n n$1=*n$0.x:int [line 19, column 15]\n *&return:int=(1 / (n$1 - 4)) [line 19, column 3]\n " shape="box"] "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" -> "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_2" ; -"point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&p:Point* [line 18, column 4]\n *n$2.x:int=4 [line 18, column 15]\n *n$2.y:int=5 [line 18, column 15]\n n$3=*n$2:Point [line 18, column 8]\n EXIT_SCOPE(n$2,n$3); [line 18, column 8]\n " shape="box"] +"point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&p:Point* [line 18, column 4]\n *n$2.x:int=4 [line 18, column 15]\n *n$2.y:int=5 [line 18, column 15]\n n$3=*n$2:Point [line 18, column 8]\n " shape="box"] "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_4" -> "point_coords_set_correctly.3abf7d8dcf379339f0fa9b69df909b28_3" ; 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 24277914a..4407ca47a 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/do_while.c.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -20,23 +20,23 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, do while) \n PRUNE((n$0 < 20), true); [line 13, column 12]\n EXIT_SCOPE(n$0); [line 13, column 12]\n APPLY_ABSTRACTION; [line 13, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, do while) \n PRUNE((n$0 < 20), true); [line 13, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, do while) \n PRUNE(!(n$0 < 20), false); [line 13, column 12]\n NULLIFY(&b); [line 13, column 12]\n EXIT_SCOPE(n$0,b); [line 13, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, do while) \n PRUNE(!(n$0 < 20), false); [line 13, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n *&a:int=1 [line 12, column 5]\n NULLIFY(&a); [line 12, column 5]\n EXIT_SCOPE(a); [line 12, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n *&a:int=1 [line 12, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n NULLIFY(&a); [line 9, column 3]\n EXIT_SCOPE(a); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; 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 7dc8bc2a4..91302fced 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -15,28 +15,28 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n *&b:int=40 [line 13, column 13]\n n$0=*&b:int [line 13, column 13]\n NULLIFY(&b); [line 13, column 13]\n EXIT_SCOPE(b); [line 13, column 13]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n *&b:int=40 [line 13, column 13]\n n$0=*&b:int [line 13, column 13]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, do while) \n PRUNE(n$0, true); [line 13, column 13]\n EXIT_SCOPE(n$0); [line 13, column 13]\n APPLY_ABSTRACTION; [line 13, column 13]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, do while) \n PRUNE(n$0, true); [line 13, column 13]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, do while) \n PRUNE(!n$0, false); [line 13, column 13]\n EXIT_SCOPE(n$0); [line 13, column 13]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, do while) \n PRUNE(!n$0, false); [line 13, column 13]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n *&a:int=1 [line 12, column 5]\n NULLIFY(&a); [line 12, column 5]\n EXIT_SCOPE(a); [line 12, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n *&a:int=1 [line 12, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(b); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n NULLIFY(&a); [line 9, column 3]\n EXIT_SCOPE(a); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; 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 3d48531e0..7a64bce42 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -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, do while) \n PRUNE((n$0 < 20), true); [line 16, column 12]\n EXIT_SCOPE(n$0); [line 16, column 12]\n APPLY_ABSTRACTION; [line 16, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, do while) \n PRUNE((n$0 < 20), true); [line 16, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, do while) \n PRUNE(!(n$0 < 20), false); [line 16, column 12]\n NULLIFY(&b); [line 16, column 12]\n EXIT_SCOPE(n$0,b); [line 16, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, do while) \n PRUNE(!(n$0 < 20), false); [line 16, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -37,27 +37,27 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (true branch, do while) \n PRUNE((n$1 < 30), true); [line 15, column 14]\n EXIT_SCOPE(n$1); [line 15, column 14]\n APPLY_ABSTRACTION; [line 15, column 14]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (true branch, do while) \n PRUNE((n$1 < 30), true); [line 15, column 14]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (false branch, do while) \n PRUNE(!(n$1 < 30), false); [line 15, column 14]\n EXIT_SCOPE(n$1); [line 15, column 14]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (false branch, do while) \n PRUNE(!(n$1 < 30), false); [line 15, column 14]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: BinaryOperatorStmt: Assign \n *&a:int=2 [line 14, column 7]\n NULLIFY(&a); [line 14, column 7]\n EXIT_SCOPE(a); [line 14, column 7]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: BinaryOperatorStmt: Assign \n *&a:int=2 [line 14, column 7]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: Assign \n *&a:int=1 [line 12, column 5]\n NULLIFY(&a); [line 12, column 5]\n EXIT_SCOPE(a); [line 12, column 5]\n APPLY_ABSTRACTION; [line 12, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: BinaryOperatorStmt: Assign \n *&a:int=1 [line 12, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n *&b:int=0 [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n NULLIFY(&a); [line 9, column 3]\n EXIT_SCOPE(a); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: DeclStmt \n VARIABLE_DECLARED(a:int); [line 9, column 3]\n *&a:int=10 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; 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 157d33276..2f2cf0703 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -15,28 +15,28 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 11, column 8]\n *&b:int=3 [line 11, column 8]\n NULLIFY(&b); [line 11, column 8]\n EXIT_SCOPE(b); [line 11, column 8]\n APPLY_ABSTRACTION; [line 11, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 11, column 8]\n *&b:int=3 [line 11, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$0=*&i:int [line 11, column 29]\n *&i:int=(n$0 + 1) [line 11, column 29]\n EXIT_SCOPE(n$0); [line 11, column 29]\n APPLY_ABSTRACTION; [line 11, column 29]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$0=*&i:int [line 11, column 29]\n *&i:int=(n$0 + 1) [line 11, column 29]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&b:int=10 [line 11, column 20]\n n$1=*&b:int [line 11, column 20]\n NULLIFY(&b); [line 11, column 20]\n EXIT_SCOPE(b); [line 11, column 20]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&b:int=10 [line 11, column 20]\n n$1=*&b:int [line 11, column 20]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE(n$1, true); [line 11, column 20]\n EXIT_SCOPE(n$1); [line 11, column 20]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE(n$1, true); [line 11, column 20]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!n$1, false); [line 11, column 20]\n NULLIFY(&i); [line 11, column 20]\n NULLIFY(&j); [line 11, column 20]\n EXIT_SCOPE(n$1,i,j); [line 11, column 20]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!n$1, false); [line 11, column 20]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 12, column 10]\n n$3=*&j:int [line 12, column 5]\n *&j:int=(n$3 + n$2) [line 12, column 5]\n EXIT_SCOPE(n$2,n$3); [line 12, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 12, column 10]\n n$3=*&j:int [line 12, column 5]\n *&j:int=(n$3 + n$2) [line 12, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; 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 1bf3a79b6..ecc088a81 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_nested.c.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&k:int [line 15, column 10]\n *&return:int=n$0 [line 15, column 3]\n NULLIFY(&k); [line 15, column 3]\n EXIT_SCOPE(n$0,k); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&k:int [line 15, column 10]\n *&return:int=n$0 [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -15,11 +15,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$1=*&i:int [line 10, column 27]\n *&i:int=(n$1 + 1) [line 10, column 27]\n EXIT_SCOPE(n$1); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$1=*&i:int [line 10, column 27]\n *&i:int=(n$1 + 1) [line 10, column 27]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -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, for loop) \n PRUNE((n$2 < 10), true); [line 10, column 19]\n EXIT_SCOPE(n$2); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$2 < 10), true); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n EXIT_SCOPE(n$2,i); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -40,11 +40,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(j:int); [line 11, column 10]\n *&j:int=0 [line 11, column 10]\n APPLY_ABSTRACTION; [line 11, column 10]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(j:int); [line 11, column 10]\n *&j:int=0 [line 11, column 10]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: UnaryOperator \n n$3=*&j:int [line 11, column 29]\n *&j:int=(n$3 + 1) [line 11, column 29]\n EXIT_SCOPE(n$3); [line 11, column 29]\n APPLY_ABSTRACTION; [line 11, column 29]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: UnaryOperator \n n$3=*&j:int [line 11, column 29]\n *&j:int=(n$3 + 1) [line 11, column 29]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; @@ -53,15 +53,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: Prune (true branch, for loop) \n PRUNE((n$4 < 10), true); [line 11, column 21]\n EXIT_SCOPE(n$4); [line 11, column 21]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: Prune (true branch, for loop) \n PRUNE((n$4 < 10), true); [line 11, column 21]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_16" ; -"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: Prune (false branch, for loop) \n PRUNE(!(n$4 < 10), false); [line 11, column 21]\n NULLIFY(&j); [line 11, column 21]\n EXIT_SCOPE(n$4,j); [line 11, column 21]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_15" [label="15: Prune (false branch, for loop) \n PRUNE(!(n$4 < 10), false); [line 11, column 21]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: BinaryOperatorStmt: Assign \n n$5=*&k:int [line 12, column 11]\n n$6=*&i:int [line 12, column 15]\n *&k:int=(n$5 + n$6) [line 12, column 7]\n EXIT_SCOPE(n$5,n$6); [line 12, column 7]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: BinaryOperatorStmt: Assign \n n$5=*&k:int [line 12, column 11]\n n$6=*&i:int [line 12, column 15]\n *&k:int=(n$5 + n$6) [line 12, column 7]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_16" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; 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 feec3028a..bc17d95fc 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -16,11 +16,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 8]\n *&b:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 8]\n *&b:int=0 [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$0=*&b:int [line 10, column 20]\n *&b:int=(n$0 + 1) [line 10, column 20]\n EXIT_SCOPE(n$0); [line 10, column 20]\n APPLY_ABSTRACTION; [line 10, column 20]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$0=*&b:int [line 10, column 20]\n *&b:int=(n$0 + 1) [line 10, column 20]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -28,11 +28,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (false branch, for loop) \n PRUNE(!1, false); [line 10, column 16]\n NULLIFY(&j); [line 10, column 16]\n NULLIFY(&b); [line 10, column 16]\n EXIT_SCOPE(j,b); [line 10, column 16]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (false branch, for loop) \n PRUNE(!1, false); [line 10, column 16]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 11, column 10]\n n$2=*&j:int [line 11, column 5]\n *&j:int=(n$2 + n$1) [line 11, column 5]\n EXIT_SCOPE(n$1,n$2); [line 11, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 11, column 10]\n n$2=*&j:int [line 11, column 5]\n *&j:int=(n$2 + n$1) [line 11, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; 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 6f7f87371..8df82c70a 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -16,7 +16,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 8]\n *&b:int=0 [line 10, column 8]\n NULLIFY(&b); [line 10, column 8]\n EXIT_SCOPE(b); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 8]\n *&b:int=0 [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -24,11 +24,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, for loop) \n PRUNE(!1, false); [line 10, column 16]\n NULLIFY(&j); [line 10, column 16]\n EXIT_SCOPE(j); [line 10, column 16]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, for loop) \n PRUNE(!1, false); [line 10, column 16]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 11, column 10]\n n$2=*&j:int [line 11, column 5]\n *&j:int=(n$2 + n$1) [line 11, column 5]\n EXIT_SCOPE(n$1,n$2); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 11, column 10]\n n$2=*&j:int [line 11, column 5]\n *&j:int=(n$2 + n$1) [line 11, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; 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 e7d168067..0e65786a9 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -16,11 +16,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n *&d:int=0 [line 10, column 8]\n NULLIFY(&d); [line 10, column 8]\n EXIT_SCOPE(d); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n *&d:int=0 [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, for loop) \n PRUNE(1, true); [line 10, column 12]\n APPLY_ABSTRACTION; [line 10, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, for loop) \n PRUNE(1, true); [line 10, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -28,7 +28,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: DeclStmt \n VARIABLE_DECLARED(d:int); [line 9, column 3]\n *&d:int=0 [line 9, column 3]\n NULLIFY(&d); [line 9, column 3]\n EXIT_SCOPE(d); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: DeclStmt \n VARIABLE_DECLARED(d:int); [line 9, column 3]\n *&d:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; 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 55546342e..2b66f2e96 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -20,15 +20,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, for loop) \n PRUNE(!1, false); [line 12, column 3]\n NULLIFY(&i); [line 12, column 3]\n EXIT_SCOPE(i); [line 12, column 3]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, for loop) \n PRUNE(!1, false); [line 12, column 3]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: UnaryOperator \n n$2=*&i:int [line 11, column 5]\n *&i:int=(n$2 + 1) [line 11, column 5]\n EXIT_SCOPE(n$2); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: UnaryOperator \n n$2=*&i:int [line 11, column 5]\n *&i:int=(n$2 + 1) [line 11, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; 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 fad127f69..005156512 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/for_simple.c.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -15,11 +15,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$0=*&i:int [line 10, column 27]\n *&i:int=(n$0 + 1) [line 10, column 27]\n EXIT_SCOPE(n$0); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$0=*&i:int [line 10, column 27]\n *&i:int=(n$0 + 1) [line 10, column 27]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -28,15 +28,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$1 < 10), true); [line 10, column 19]\n EXIT_SCOPE(n$1); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$1 < 10), true); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$1 < 10), false); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n NULLIFY(&j); [line 10, column 19]\n EXIT_SCOPE(n$1,i,j); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$1 < 10), false); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 11, column 10]\n n$3=*&j:int [line 11, column 5]\n *&j:int=(n$3 + n$2) [line 11, column 5]\n EXIT_SCOPE(n$2,n$3); [line 11, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 11, column 10]\n n$3=*&j:int [line 11, column 5]\n *&j:int=(n$3 + n$2) [line 11, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/for_while_nested.c.dot index 46e639853..fd788507a 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&k:int [line 15, column 10]\n *&return:int=n$0 [line 15, column 3]\n NULLIFY(&k); [line 15, column 3]\n EXIT_SCOPE(n$0,k); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=*&k:int [line 15, column 10]\n *&return:int=n$0 [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -15,11 +15,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$1=*&i:int [line 10, column 27]\n *&i:int=(n$1 + 1) [line 10, column 27]\n EXIT_SCOPE(n$1); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: UnaryOperator \n n$1=*&i:int [line 10, column 27]\n *&i:int=(n$1 + 1) [line 10, column 27]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -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, for loop) \n PRUNE((n$2 < 10), true); [line 10, column 19]\n EXIT_SCOPE(n$2); [line 10, column 19]\n APPLY_ABSTRACTION; [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$2 < 10), true); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n EXIT_SCOPE(n$2,i); [line 10, column 19]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$2 < 10), false); [line 10, column 19]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -45,15 +45,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (true branch, while) \n PRUNE((n$3 < 10), true); [line 11, column 12]\n EXIT_SCOPE(n$3); [line 11, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (true branch, while) \n PRUNE((n$3 < 10), true); [line 11, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch, while) \n PRUNE(!(n$3 < 10), false); [line 11, column 12]\n EXIT_SCOPE(n$3); [line 11, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch, while) \n PRUNE(!(n$3 < 10), false); [line 11, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: UnaryOperator \n n$4=*&k:int [line 12, column 7]\n *&k:int=(n$4 + 1) [line 12, column 7]\n EXIT_SCOPE(n$4); [line 12, column 7]\n APPLY_ABSTRACTION; [line 12, column 7]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: UnaryOperator \n n$4=*&k:int [line 12, column 7]\n *&k:int=(n$4 + 1) [line 12, column 7]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; diff --git a/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot b/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot index 563b03927..071e70e60 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while.c.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -20,19 +20,19 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 <= 10), true); [line 10, column 10]\n EXIT_SCOPE(n$0); [line 10, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 <= 10), true); [line 10, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 <= 10), false); [line 10, column 10]\n NULLIFY(&i); [line 10, column 10]\n EXIT_SCOPE(n$0,i); [line 10, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 <= 10), false); [line 10, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: UnaryOperator \n n$1=*&i:int [line 11, column 5]\n *&i:int=(n$1 + 1) [line 11, column 5]\n EXIT_SCOPE(n$1); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: UnaryOperator \n n$1=*&i:int [line 11, column 5]\n *&i:int=(n$1 + 1) [line 11, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; 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 2148b2e18..16ca2e55a 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -20,19 +20,19 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE(n$0, true); [line 10, column 11]\n EXIT_SCOPE(n$0); [line 10, column 11]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE(n$0, true); [line 10, column 11]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!n$0, false); [line 10, column 11]\n NULLIFY(&i); [line 10, column 11]\n EXIT_SCOPE(n$0,i); [line 10, column 11]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!n$0, false); [line 10, column 11]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: UnaryOperator \n n$1=*&i:int [line 11, column 5]\n *&i:int=(n$1 + 1) [line 11, column 5]\n NULLIFY(&i); [line 11, column 5]\n EXIT_SCOPE(n$1,i); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: UnaryOperator \n n$1=*&i:int [line 11, column 5]\n *&i:int=(n$1 + 1) [line 11, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n NULLIFY(&i); [line 9, column 3]\n EXIT_SCOPE(i); [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(i:int); [line 9, column 3]\n *&i:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; 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 a55389830..1fb7f33cb 100644 --- a/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/loops/while_nested.c.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 17, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -20,15 +20,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 <= 10), true); [line 11, column 10]\n EXIT_SCOPE(n$0); [line 11, column 10]\n APPLY_ABSTRACTION; [line 11, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 <= 10), true); [line 11, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 <= 10), false); [line 11, column 10]\n NULLIFY(&i); [line 11, column 10]\n NULLIFY(&k); [line 11, column 10]\n EXIT_SCOPE(n$0,i,k); [line 11, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 <= 10), false); [line 11, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: UnaryOperator \n n$1=*&i:int [line 15, column 5]\n *&i:int=(n$1 + 1) [line 15, column 5]\n EXIT_SCOPE(n$1); [line 15, column 5]\n APPLY_ABSTRACTION; [line 15, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: UnaryOperator \n n$1=*&i:int [line 15, column 5]\n *&i:int=(n$1 + 1) [line 15, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -41,19 +41,19 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (true branch, while) \n PRUNE((n$2 <= 5), true); [line 12, column 12]\n EXIT_SCOPE(n$2); [line 12, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Prune (true branch, while) \n PRUNE((n$2 <= 5), true); [line 12, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (false branch, while) \n PRUNE(!(n$2 <= 5), false); [line 12, column 12]\n EXIT_SCOPE(n$2); [line 12, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: Prune (false branch, while) \n PRUNE(!(n$2 <= 5), false); [line 12, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: UnaryOperator \n n$3=*&k:int [line 13, column 7]\n *&k:int=(n$3 + 1) [line 13, column 7]\n EXIT_SCOPE(n$3); [line 13, column 7]\n APPLY_ABSTRACTION; [line 13, column 7]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: UnaryOperator \n n$3=*&k:int [line 13, column 7]\n *&k:int=(n$3 + 1) [line 13, column 7]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(k:int); [line 10, column 3]\n *&k:int=0 [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(k:int); [line 10, column 3]\n *&k:int=0 [line 10, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; 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 f87176419..56ac09700 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -16,7 +16,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, while) \n PRUNE(1, true); [line 9, column 10]\n APPLY_ABSTRACTION; [line 9, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, while) \n PRUNE(1, true); [line 9, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; 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 478411dad..743fca8f7 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 @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 21, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -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, while) \n PRUNE(1, true); [line 10, column 10]\n APPLY_ABSTRACTION; [line 10, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, while) \n PRUNE(1, true); [line 10, column 10]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, while) \n PRUNE(!1, false); [line 10, column 10]\n NULLIFY(&x); [line 10, column 10]\n EXIT_SCOPE(x); [line 10, column 10]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, while) \n PRUNE(!1, false); [line 10, 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, if) \n PRUNE((n$0 == 2), true); [line 17, column 9]\n EXIT_SCOPE(n$0); [line 17, column 9]\n APPLY_ABSTRACTION; [line 17, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Prune (true branch, if) \n PRUNE((n$0 == 2), true); [line 17, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (false branch, if) \n PRUNE(!(n$0 == 2), false); [line 17, column 9]\n EXIT_SCOPE(n$0); [line 17, column 9]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Prune (false branch, if) \n PRUNE(!(n$0 == 2), false); [line 17, column 9]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; @@ -50,7 +50,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_18" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch, while) \n PRUNE(!2, false); [line 11, column 12]\n APPLY_ABSTRACTION; [line 11, column 12]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: Prune (false branch, while) \n PRUNE(!2, false); [line 11, column 12]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; @@ -63,19 +63,19 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_16" ; "main.fad58de7366495db4650cfefac2fcd61_15" -> "main.fad58de7366495db4650cfefac2fcd61_17" ; -"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: Prune (true branch, if) \n PRUNE((n$4 > 5), true); [line 13, column 11]\n EXIT_SCOPE(n$4); [line 13, column 11]\n APPLY_ABSTRACTION; [line 13, column 11]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_16" [label="16: Prune (true branch, if) \n PRUNE((n$4 > 5), true); [line 13, column 11]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_16" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: Prune (false branch, if) \n PRUNE(!(n$4 > 5), false); [line 13, column 11]\n EXIT_SCOPE(n$4); [line 13, column 11]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_17" [label="17: Prune (false branch, if) \n PRUNE(!(n$4 > 5), false); [line 13, column 11]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_17" -> "main.fad58de7366495db4650cfefac2fcd61_14" ; -"main.fad58de7366495db4650cfefac2fcd61_18" [label="18: BinaryOperatorStmt: AddAssign \n n$8=*&x:int [line 12, column 7]\n *&x:int=(n$8 + 1) [line 12, column 7]\n EXIT_SCOPE(n$8); [line 12, column 7]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_18" [label="18: BinaryOperatorStmt: AddAssign \n n$8=*&x:int [line 12, column 7]\n *&x:int=(n$8 + 1) [line 12, column 7]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_18" -> "main.fad58de7366495db4650cfefac2fcd61_15" ; -"main.fad58de7366495db4650cfefac2fcd61_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=0 [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=0 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_19" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; 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 c339dbde2..202627477 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 @@ -7,7 +7,7 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" [label="2: Exit foo \n " color=yellow style=filled] -"foo.acbd18db4cc2f85cedef654fccc4a4d8_3" [label="3: Return Stmt \n *&return:int=52 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_3" [label="3: Return Stmt \n *&return:int=52 [line 12, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; @@ -15,20 +15,20 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_5" [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int* [line 9, column 9]\n *n$0:int=0 [line 9, column 8]\n n$1=*n$0:int [line 9, column 8]\n NULLIFY(&p); [line 9, column 8]\n EXIT_SCOPE(n$0,p); [line 9, column 8]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_5" [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int* [line 9, column 9]\n *n$0:int=0 [line 9, column 8]\n n$1=*n$0:int [line 9, column 8]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_6" ; "foo.acbd18db4cc2f85cedef654fccc4a4d8_5" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_7" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_6" [label="6: Prune (true branch, if) \n PRUNE(n$1, true); [line 9, column 8]\n EXIT_SCOPE(n$1); [line 9, column 8]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_6" [label="6: Prune (true branch, if) \n PRUNE(n$1, true); [line 9, column 8]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_6" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_8" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_7" [label="7: Prune (false branch, if) \n PRUNE(!n$1, false); [line 9, column 8]\n EXIT_SCOPE(n$1); [line 9, column 8]\n " shape="invhouse"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_7" [label="7: Prune (false branch, if) \n PRUNE(!n$1, false); [line 9, column 8]\n " shape="invhouse"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_7" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_8" [label="8: Return Stmt \n *&return:int=32 [line 10, column 5]\n APPLY_ABSTRACTION; [line 10, column 5]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_8" [label="8: Return Stmt \n *&return:int=32 [line 10, column 5]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_8" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_with_increment.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_with_increment.c.dot index 6f67452f0..1c6639896 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_with_increment.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/assign_with_increment.c.dot @@ -7,19 +7,19 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] -"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(e:int); [line 13, column 3]\n n$0=*&a:int [line 13, column 11]\n *&a:int=(n$0 - 1) [line 13, column 11]\n *&e:int=n$0 [line 13, column 3]\n NULLIFY(&a); [line 13, column 3]\n NULLIFY(&e); [line 13, column 3]\n EXIT_SCOPE(n$0,a,e); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(e:int); [line 13, column 3]\n n$0=*&a:int [line 13, column 11]\n *&a:int=(n$0 - 1) [line 13, column 11]\n *&e:int=n$0 [line 13, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 12, column 3]\n n$1=*&a:int [line 12, column 11]\n *&a:int=(n$1 - 1) [line 12, column 11]\n *&d:int=(n$1 - 1) [line 12, column 3]\n NULLIFY(&d); [line 12, column 3]\n EXIT_SCOPE(n$1,d); [line 12, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 12, column 3]\n n$1=*&a:int [line 12, column 11]\n *&a:int=(n$1 - 1) [line 12, column 11]\n *&d:int=(n$1 - 1) [line 12, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 11, column 3]\n n$2=*&a:int [line 11, column 11]\n *&a:int=(n$2 + 1) [line 11, column 11]\n *&c:int=n$2 [line 11, column 3]\n NULLIFY(&c); [line 11, column 3]\n EXIT_SCOPE(n$2,c); [line 11, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 11, column 3]\n n$2=*&a:int [line 11, column 11]\n *&a:int=(n$2 + 1) [line 11, column 11]\n *&c:int=n$2 [line 11, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; -"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n n$3=*&a:int [line 10, column 11]\n *&a:int=(n$3 + 1) [line 10, column 11]\n *&b:int=(n$3 + 1) [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$3,b); [line 10, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n n$3=*&a:int [line 10, column 11]\n *&a:int=(n$3 + 1) [line 10, column 11]\n *&b:int=(n$3 + 1) [line 10, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_6" -> "test.098f6bcd4621d373cade4e832627b4f6_5" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot index 98a1491e1..d1b7af2ea 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/gnuexpr.c.dot @@ -7,11 +7,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Fallback node \n n$0=*&X:int [line 13, column 5]\n NULLIFY(&X); [line 13, column 5]\n EXIT_SCOPE(X); [line 13, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Fallback node \n n$0=*&X:int [line 13, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; @@ -19,11 +19,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n *&y:int=n$0 [line 11, column 3]\n NULLIFY(&y); [line 11, column 3]\n EXIT_SCOPE(n$0,y); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n *&y:int=n$0 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: DeclStmt \n VARIABLE_DECLARED(y:int); [line 9, column 3]\n *&y:int=3 [line 9, column 3]\n NULLIFY(&y); [line 9, column 3]\n EXIT_SCOPE(y); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: DeclStmt \n VARIABLE_DECLARED(y:int); [line 9, column 3]\n *&y:int=3 [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; @@ -34,7 +34,7 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] -"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: BinaryOperatorStmt: Add \n n$0=*&x:int [line 22, column 5]\n n$1=*&y:int [line 22, column 9]\n NULLIFY(&x); [line 22, column 9]\n NULLIFY(&y); [line 22, column 9]\n EXIT_SCOPE(x,y); [line 22, column 9]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: BinaryOperatorStmt: Add \n n$0=*&x:int [line 22, column 5]\n n$1=*&y:int [line 22, column 9]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_6" ; @@ -42,11 +42,11 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 5]\n n$2=*&p:int* [line 20, column 14]\n n$3=*n$2:int [line 20, column 13]\n *&x:int=n$3 [line 20, column 5]\n NULLIFY(&p); [line 20, column 5]\n EXIT_SCOPE(n$2,n$3,p); [line 20, column 5]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 5]\n n$2=*&p:int* [line 20, column 14]\n n$3=*n$2:int [line 20, column 13]\n *&x:int=n$3 [line 20, column 5]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; -"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: Return Stmt \n *&return:int=(n$0 + n$1) [line 19, column 3]\n EXIT_SCOPE(n$0,n$1); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: Return Stmt \n *&return:int=(n$0 + n$1) [line 19, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_6" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; @@ -61,23 +61,23 @@ digraph cfg { "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_3" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_8" ; -"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&p:int* [line 29, column 5]\n PRUNE(n$1, true); [line 29, column 5]\n EXIT_SCOPE(n$1); [line 29, column 5]\n " shape="invhouse"] +"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_4" [label="4: Prune (true branch, boolean exp) \n n$1=*&p:int* [line 29, column 5]\n PRUNE(n$1, true); [line 29, column 5]\n " shape="invhouse"] "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_4" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_6" ; -"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&p:int* [line 29, column 5]\n PRUNE(!n$1, false); [line 29, column 5]\n NULLIFY(&p); [line 29, column 5]\n EXIT_SCOPE(n$1,p); [line 29, column 5]\n " shape="invhouse"] +"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_5" [label="5: Prune (false branch, boolean exp) \n n$1=*&p:int* [line 29, column 5]\n PRUNE(!n$1, false); [line 29, column 5]\n " shape="invhouse"] "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_5" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_7" ; -"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_6" [label="6: ConditionalStmt Branch \n n$2=*&p:int* [line 29, column 10]\n n$3=*n$2:int [line 29, column 9]\n n$4=*&x:int [line 29, column 14]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=(n$3 + n$4) [line 29, column 5]\n NULLIFY(&x); [line 29, column 5]\n NULLIFY(&p); [line 29, column 5]\n EXIT_SCOPE(n$2,n$3,n$4,x,p); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] +"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_6" [label="6: ConditionalStmt Branch \n n$2=*&p:int* [line 29, column 10]\n n$3=*n$2:int [line 29, column 9]\n n$4=*&x:int [line 29, column 14]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=(n$3 + n$4) [line 29, column 5]\n " shape="box"] "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_6" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_3" ; -"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_7" [label="7: ConditionalStmt Branch \n n$5=*&x:int [line 29, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$5 [line 29, column 5]\n NULLIFY(&x); [line 29, column 5]\n EXIT_SCOPE(n$5,x); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] +"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_7" [label="7: ConditionalStmt Branch \n n$5=*&x:int [line 29, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=n$5 [line 29, column 5]\n " shape="box"] "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_7" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_3" ; -"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_8" [label="8: Fallback node \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 29, column 5]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 29, column 5]\n EXIT_SCOPE(0$?%__sil_tmpSIL_temp_conditional___n$0); [line 29, column 5]\n " shape="box"] +"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_8" [label="8: Fallback node \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 29, column 5]\n " shape="box"] "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_8" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_10" ; @@ -86,7 +86,7 @@ digraph cfg { "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_9" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_4" ; "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_9" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_5" ; -"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_10" [label="10: Return Stmt \n *&return:int=n$6 [line 27, column 3]\n EXIT_SCOPE(n$6); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_10" [label="10: Return Stmt \n *&return:int=n$6 [line 27, column 3]\n " shape="box"] "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_10" -> "with_conditional.c7f3381cc5bd6cfe19bc60c013ae8f1c_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/nestedassignment.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/nestedassignment.c.dot index 925dd6873..0504b8da0 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/nestedassignment.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/nestedassignment.c.dot @@ -7,31 +7,31 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 16, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&t:double [line 15, column 25]\n n$1=*&s:double [line 15, column 20]\n *&s:double=(n$1 + n$0) [line 15, column 20]\n n$2=*&s:double [line 15, column 20]\n n$3=*&r:double [line 15, column 14]\n *&r:double=(n$3 + n$2) [line 15, column 14]\n n$4=*&r:double [line 15, column 14]\n n$5=*&x:double [line 15, column 8]\n *&x:double=(n$5 + n$4) [line 15, column 8]\n n$6=*&x:double [line 15, column 8]\n *&q:double=n$6 [line 15, column 3]\n NULLIFY(&s); [line 15, column 3]\n NULLIFY(&q); [line 15, column 3]\n NULLIFY(&t); [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n NULLIFY(&r); [line 15, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,s,q,t,x,r); [line 15, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&t:double [line 15, column 25]\n n$1=*&s:double [line 15, column 20]\n *&s:double=(n$1 + n$0) [line 15, column 20]\n n$2=*&s:double [line 15, column 20]\n n$3=*&r:double [line 15, column 14]\n *&r:double=(n$3 + n$2) [line 15, column 14]\n n$4=*&r:double [line 15, column 14]\n n$5=*&x:double [line 15, column 8]\n *&x:double=(n$5 + n$4) [line 15, column 8]\n n$6=*&x:double [line 15, column 8]\n *&q:double=n$6 [line 15, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$7=*&x:double [line 14, column 8]\n *&x:double=(n$7 + 1.) [line 14, column 8]\n n$8=*&x:double [line 14, column 8]\n *&q:double=n$8 [line 14, column 3]\n NULLIFY(&q); [line 14, column 3]\n EXIT_SCOPE(n$7,n$8,q); [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$7=*&x:double [line 14, column 8]\n *&x:double=(n$7 + 1.) [line 14, column 8]\n n$8=*&x:double [line 14, column 8]\n *&q:double=n$8 [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 13, column 3]\n *&x:double=(n$9 + 7) [line 13, column 3]\n EXIT_SCOPE(n$9); [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 13, column 3]\n *&x:double=(n$9 + 7) [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&x:double=3 [line 12, column 8]\n n$10=*&x:double [line 12, column 8]\n *&q:double=n$10 [line 12, column 3]\n NULLIFY(&q); [line 12, column 3]\n EXIT_SCOPE(n$10,q); [line 12, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&x:double=3 [line 12, column 8]\n n$10=*&x:double [line 12, column 8]\n *&q:double=n$10 [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$11=*&s:double [line 11, column 7]\n *&x:double=n$11 [line 11, column 3]\n NULLIFY(&x); [line 11, column 3]\n EXIT_SCOPE(n$11,x); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$11=*&s:double [line 11, column 7]\n *&x:double=n$11 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:double); [line 9, column 3]\n *&x:double=1. [line 9, column 3]\n NULLIFY(&x); [line 9, column 3]\n EXIT_SCOPE(x); [line 9, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x:double); [line 9, column 3]\n *&x:double=1. [line 9, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; diff --git a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot index a86799b2e..d08f614b4 100644 --- a/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/nestedoperators/union.c.dot @@ -7,15 +7,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 35, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:anonymous_struct_nestedoperators_union.c:10:1* [line 34, column 11]\n n$1=*n$0.b:int [line 34, column 11]\n *&#GB$y.g.w:int=n$1 [line 34, column 3]\n EXIT_SCOPE(n$0,n$1); [line 34, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:anonymous_struct_nestedoperators_union.c:10:1* [line 34, column 11]\n n$1=*n$0.b:int [line 34, column 11]\n *&#GB$y.g.w:int=n$1 [line 34, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 32, column 11]\n *&#GB$y.g.u:int=n$2 [line 32, column 3]\n EXIT_SCOPE(n$2); [line 32, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 32, column 11]\n *&#GB$y.g.u:int=n$2 [line 32, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -23,7 +23,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:anonymous_struct_nestedoperators_union.c:10:1* [line 30, column 3]\n *n$3.a:int=1 [line 30, column 3]\n EXIT_SCOPE(n$3); [line 30, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:anonymous_struct_nestedoperators_union.c:10:1* [line 30, column 3]\n *n$3.a:int=1 [line 30, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; 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 ff140ce54..2d21d2543 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 @@ -7,7 +7,7 @@ digraph cfg { "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_2" [label="2: Exit test_offsetof_expr \n " color=yellow style=filled] -"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_3" [label="3: Return Stmt \n *&return:int=42 [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_3" [label="3: Return Stmt \n *&return:int=42 [line 21, column 3]\n " shape="box"] "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_3" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_2" ; @@ -15,20 +15,20 @@ digraph cfg { "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_4" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_3" ; -"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&i:int [line 18, column 7]\n NULLIFY(&i); [line 18, column 7]\n EXIT_SCOPE(i); [line 18, column 7]\n " shape="box"] +"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&i:int [line 18, column 7]\n " shape="box"] "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, if) \n PRUNE((n$0 == 2), true); [line 18, column 7]\n EXIT_SCOPE(n$0); [line 18, column 7]\n " shape="invhouse"] +"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 2), true); [line 18, 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, if) \n PRUNE(!(n$0 == 2), false); [line 18, column 7]\n EXIT_SCOPE(n$0); [line 18, column 7]\n " shape="invhouse"] +"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 2), false); [line 18, column 7]\n " shape="invhouse"] "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_7" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_4" ; -"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_8" [label="8: Return Stmt \n *&return:int=(1 / 0) [line 19, column 5]\n APPLY_ABSTRACTION; [line 19, column 5]\n " shape="box"] +"test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_8" [label="8: Return Stmt \n *&return:int=(1 / 0) [line 19, column 5]\n " shape="box"] "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_8" -> "test_offsetof_expr.8f3e634fd0f68dff5e4bfedc8f65a55f_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot index 2eabf2de5..59237bfdf 100644 --- a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch.c.dot @@ -7,7 +7,7 @@ digraph cfg { "getValue.faa0c7b1433b0c97fcdc15fa47c8180f_2" [label="2: Exit getValue \n " color=yellow style=filled] -"getValue.faa0c7b1433b0c97fcdc15fa47c8180f_3" [label="3: Return Stmt \n *&return:int=1 [line 134, column 18]\n APPLY_ABSTRACTION; [line 134, column 18]\n " shape="box"] +"getValue.faa0c7b1433b0c97fcdc15fa47c8180f_3" [label="3: Return Stmt \n *&return:int=1 [line 134, column 18]\n " shape="box"] "getValue.faa0c7b1433b0c97fcdc15fa47c8180f_3" -> "getValue.faa0c7b1433b0c97fcdc15fa47c8180f_2" ; @@ -18,7 +18,7 @@ digraph cfg { "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_2" [label="2: Exit switch_gnu_range \n " color=yellow style=filled] -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" [label="3: Return Stmt \n n$0=*&i:int [line 209, column 10]\n *&return:int=n$0 [line 209, column 3]\n NULLIFY(&i); [line 209, column 3]\n EXIT_SCOPE(n$0,i); [line 209, column 3]\n APPLY_ABSTRACTION; [line 209, column 3]\n " shape="box"] +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" [label="3: Return Stmt \n n$0=*&i:int [line 209, column 10]\n *&return:int=n$0 [line 209, column 3]\n " shape="box"] "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_2" ; @@ -27,23 +27,23 @@ digraph cfg { "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_4" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" ; "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_4" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_10" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&c:char [line 206, column 16]\n n$4=_fun_atoi(n$3:int) [line 206, column 11]\n *&i:int=n$4 [line 206, column 7]\n NULLIFY(&c); [line 206, column 7]\n EXIT_SCOPE(n$3,n$4,c); [line 206, column 7]\n APPLY_ABSTRACTION; [line 206, column 7]\n " shape="box"] +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&c:char [line 206, column 16]\n n$4=_fun_atoi(n$3:int) [line 206, column 11]\n *&i:int=n$4 [line 206, column 7]\n " shape="box"] "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" [label="6: Return Stmt \n *&return:int=0 [line 201, column 7]\n APPLY_ABSTRACTION; [line 201, column 7]\n " shape="box"] +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" [label="6: Return Stmt \n *&return:int=0 [line 201, column 7]\n " shape="box"] "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_2" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_7" [label="7: Prune (true branch, switch) \n PRUNE((n$1 == 48), true); [line 203, column 5]\n EXIT_SCOPE(n$1); [line 203, column 5]\n " shape="invhouse"] +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_7" [label="7: Prune (true branch, switch) \n PRUNE((n$1 == 48), true); [line 203, column 5]\n " shape="invhouse"] "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_7" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_5" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_8" [label="8: Prune (false branch, switch) \n PRUNE(!(n$1 == 48), false); [line 203, column 5]\n EXIT_SCOPE(n$1); [line 203, column 5]\n APPLY_ABSTRACTION; [line 203, column 5]\n " shape="invhouse"] +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_8" [label="8: Prune (false branch, switch) \n PRUNE(!(n$1 == 48), false); [line 203, column 5]\n " shape="invhouse"] "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_8" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_3" ; -"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" [label="9: Prune (true branch, switch) \n PRUNE((n$1 == 97), true); [line 200, column 5]\n EXIT_SCOPE(n$1); [line 200, column 5]\n " shape="invhouse"] +"switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" [label="9: Prune (true branch, switch) \n PRUNE((n$1 == 97), true); [line 200, column 5]\n " shape="invhouse"] "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_9" -> "switch_gnu_range.fe09b2428ff32c71bce6cc22d05f5102_6" ; @@ -59,7 +59,7 @@ digraph cfg { "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_2" [label="2: Exit test_switch1 \n " color=yellow style=filled] -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_3" [label="3: Return Stmt \n *&return:int=0 [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_3" [label="3: Return Stmt \n *&return:int=0 [line 33, column 3]\n " shape="box"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_3" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_2" ; @@ -72,15 +72,15 @@ digraph cfg { "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_5" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_6" ; "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_5" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_7" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 < 10), true); [line 13, column 10]\n EXIT_SCOPE(n$0); [line 13, column 10]\n " shape="invhouse"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 < 10), true); [line 13, column 10]\n " shape="invhouse"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_6" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_9" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 < 10), false); [line 13, column 10]\n NULLIFY(&value); [line 13, column 10]\n EXIT_SCOPE(n$0,value); [line 13, column 10]\n " shape="invhouse"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 < 10), false); [line 13, column 10]\n " shape="invhouse"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_7" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_3" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_8" [label="8: Call _fun_printf \n n$1=_fun_printf(\"(after_switch)HELLO WORLD!\":char*) [line 31, column 5]\n EXIT_SCOPE(n$1); [line 31, column 5]\n APPLY_ABSTRACTION; [line 31, column 5]\n " shape="box"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_8" [label="8: Call _fun_printf \n n$1=_fun_printf(\"(after_switch)HELLO WORLD!\":char*) [line 31, column 5]\n " shape="box"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_8" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_4" ; @@ -89,19 +89,19 @@ digraph cfg { "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_9" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_20" ; "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_9" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_21" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_10" [label="10: Call _fun_printf \n n$4=_fun_printf(\"(2/def)HELLO WORLD!\":char*) [line 28, column 9]\n EXIT_SCOPE(n$4); [line 28, column 9]\n APPLY_ABSTRACTION; [line 28, column 9]\n " shape="box"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_10" [label="10: Call _fun_printf \n n$4=_fun_printf(\"(2/def)HELLO WORLD!\":char*) [line 28, column 9]\n " shape="box"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_10" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_4" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_11" [label="11: Call _fun_printf \n n$6=_fun_printf(\"(1)HELLO WORLD!\":char*) [line 24, column 9]\n EXIT_SCOPE(n$6); [line 24, column 9]\n APPLY_ABSTRACTION; [line 24, column 9]\n " shape="box"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_11" [label="11: Call _fun_printf \n n$6=_fun_printf(\"(1)HELLO WORLD!\":char*) [line 24, column 9]\n " shape="box"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_11" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_4" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_12" [label="12: Call _fun_printf \n n$8=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 21, column 9]\n EXIT_SCOPE(n$8); [line 21, column 9]\n " shape="box"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_12" [label="12: Call _fun_printf \n n$8=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 21, column 9]\n " shape="box"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_12" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_8" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_13" [label="13: BinaryOperatorStmt: Assign \n n$9=*&value:int [line 19, column 11]\n *&x:int=(n$9 + 1) [line 19, column 7]\n APPLY_ABSTRACTION; [line 19, column 7]\n " shape="box"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_13" [label="13: BinaryOperatorStmt: Assign \n n$9=*&value:int [line 19, column 11]\n *&x:int=(n$9 + 1) [line 19, column 7]\n " shape="box"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_13" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_12" ; @@ -113,15 +113,15 @@ digraph cfg { "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_15" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_14" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_16" [label="16: Prune (true branch, switch) \n PRUNE((n$2 == 2), true); [line 26, column 7]\n EXIT_SCOPE(n$2); [line 26, column 7]\n APPLY_ABSTRACTION; [line 26, column 7]\n " shape="invhouse"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_16" [label="16: Prune (true branch, switch) \n PRUNE((n$2 == 2), true); [line 26, column 7]\n " shape="invhouse"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_16" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_10" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_17" [label="17: Prune (false branch, switch) \n PRUNE(!(n$2 == 2), false); [line 26, column 7]\n EXIT_SCOPE(n$2); [line 26, column 7]\n APPLY_ABSTRACTION; [line 26, column 7]\n " shape="invhouse"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_17" [label="17: Prune (false branch, switch) \n PRUNE(!(n$2 == 2), false); [line 26, column 7]\n " shape="invhouse"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_17" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_10" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_18" [label="18: Prune (true branch, switch) \n PRUNE((n$2 == 1), true); [line 23, column 7]\n EXIT_SCOPE(n$2); [line 23, column 7]\n " shape="invhouse"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_18" [label="18: Prune (true branch, switch) \n PRUNE((n$2 == 1), true); [line 23, column 7]\n " shape="invhouse"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_18" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_11" ; @@ -130,7 +130,7 @@ digraph cfg { "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_19" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_16" ; "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_19" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_17" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_20" [label="20: Prune (true branch, switch) \n PRUNE((n$2 == 0), true); [line 20, column 7]\n EXIT_SCOPE(n$2); [line 20, column 7]\n APPLY_ABSTRACTION; [line 20, column 7]\n " shape="invhouse"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_20" [label="20: Prune (true branch, switch) \n PRUNE((n$2 == 0), true); [line 20, column 7]\n " shape="invhouse"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_20" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_12" ; @@ -139,7 +139,7 @@ digraph cfg { "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_21" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_18" ; "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_21" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_19" ; -"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_22" [label="22: DeclStmt \n VARIABLE_DECLARED(value:int); [line 11, column 3]\n *&value:int=0 [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_22" [label="22: DeclStmt \n VARIABLE_DECLARED(value:int); [line 11, column 3]\n *&value:int=0 [line 11, column 3]\n " shape="box"] "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_22" -> "test_switch1.7c92c7e14d1a0ee28a9ab29b22df5d3f_4" ; @@ -150,15 +150,15 @@ digraph cfg { "test_switch10.8a4170d3888102a2491712a5ad55ad8d_2" [label="2: Exit test_switch10 \n " color=yellow style=filled] -"test_switch10.8a4170d3888102a2491712a5ad55ad8d_3" [label="3: Return Stmt \n *&return:int=0 [line 185, column 3]\n APPLY_ABSTRACTION; [line 185, column 3]\n " shape="box"] +"test_switch10.8a4170d3888102a2491712a5ad55ad8d_3" [label="3: Return Stmt \n *&return:int=0 [line 185, column 3]\n " shape="box"] "test_switch10.8a4170d3888102a2491712a5ad55ad8d_3" -> "test_switch10.8a4170d3888102a2491712a5ad55ad8d_2" ; -"test_switch10.8a4170d3888102a2491712a5ad55ad8d_4" [label="4: SwitchStmt \n *&value:int=7 [line 184, column 11]\n n$0=*&value:int [line 184, column 11]\n NULLIFY(&value); [line 184, column 11]\n EXIT_SCOPE(n$0,value); [line 184, column 11]\n " shape="box"] +"test_switch10.8a4170d3888102a2491712a5ad55ad8d_4" [label="4: SwitchStmt \n *&value:int=7 [line 184, column 11]\n n$0=*&value:int [line 184, column 11]\n " shape="box"] "test_switch10.8a4170d3888102a2491712a5ad55ad8d_4" -> "test_switch10.8a4170d3888102a2491712a5ad55ad8d_3" ; -"test_switch10.8a4170d3888102a2491712a5ad55ad8d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(value:int); [line 183, column 3]\n *&value:int=0 [line 183, column 3]\n NULLIFY(&value); [line 183, column 3]\n EXIT_SCOPE(value); [line 183, column 3]\n " shape="box"] +"test_switch10.8a4170d3888102a2491712a5ad55ad8d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(value:int); [line 183, column 3]\n *&value:int=0 [line 183, column 3]\n " shape="box"] "test_switch10.8a4170d3888102a2491712a5ad55ad8d_5" -> "test_switch10.8a4170d3888102a2491712a5ad55ad8d_4" ; @@ -169,7 +169,7 @@ digraph cfg { "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_2" [label="2: Exit test_switch11 \n " color=yellow style=filled] -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_3" [label="3: Return Stmt \n *&return:int=0 [line 194, column 3]\n APPLY_ABSTRACTION; [line 194, column 3]\n " shape="box"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_3" [label="3: Return Stmt \n *&return:int=0 [line 194, column 3]\n " shape="box"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_3" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_2" ; @@ -177,41 +177,41 @@ digraph cfg { "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_4" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_10" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_5" [label="5: BinaryOperatorStmt: EQ \n n$1=*&value:int [line 190, column 20]\n NULLIFY(&value); [line 190, column 20]\n EXIT_SCOPE(value); [line 190, column 20]\n " shape="box"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_5" [label="5: BinaryOperatorStmt: EQ \n n$1=*&value:int [line 190, column 20]\n " shape="box"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_5" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_6" ; "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_5" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_7" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_6" [label="6: Prune (true branch, boolean exp) \n PRUNE((n$1 == 0), true); [line 190, column 20]\n EXIT_SCOPE(n$1); [line 190, column 20]\n " shape="invhouse"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_6" [label="6: Prune (true branch, boolean exp) \n PRUNE((n$1 == 0), true); [line 190, column 20]\n " shape="invhouse"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_6" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_8" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!(n$1 == 0), false); [line 190, column 20]\n EXIT_SCOPE(n$1); [line 190, column 20]\n " shape="invhouse"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!(n$1 == 0), false); [line 190, column 20]\n " shape="invhouse"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_7" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_9" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=7 [line 190, column 20]\n APPLY_ABSTRACTION; [line 190, column 20]\n " shape="box"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=7 [line 190, column 20]\n " shape="box"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_8" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_4" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_9" [label="9: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=9 [line 190, column 20]\n APPLY_ABSTRACTION; [line 190, column 20]\n " shape="box"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_9" [label="9: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=9 [line 190, column 20]\n " shape="box"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_9" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_4" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_10" [label="10: SwitchStmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 190, column 20]\n *&value:int=n$2 [line 190, column 11]\n n$3=*&value:int [line 190, column 11]\n NULLIFY(&value); [line 190, column 11]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 190, column 11]\n EXIT_SCOPE(n$2,value,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 190, column 11]\n " shape="box"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_10" [label="10: SwitchStmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 190, column 20]\n *&value:int=n$2 [line 190, column 11]\n n$3=*&value:int [line 190, column 11]\n " shape="box"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_10" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_12" ; "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_10" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_13" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_11" [label="11: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 192, column 7]\n EXIT_SCOPE(n$4); [line 192, column 7]\n APPLY_ABSTRACTION; [line 192, column 7]\n " shape="box"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_11" [label="11: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 192, column 7]\n " shape="box"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_11" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_3" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_12" [label="12: Prune (true branch, switch) \n PRUNE((n$3 == 0), true); [line 191, column 5]\n EXIT_SCOPE(n$3); [line 191, column 5]\n " shape="invhouse"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_12" [label="12: Prune (true branch, switch) \n PRUNE((n$3 == 0), true); [line 191, column 5]\n " shape="invhouse"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_12" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_11" ; -"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$3 == 0), false); [line 191, column 5]\n EXIT_SCOPE(n$3); [line 191, column 5]\n APPLY_ABSTRACTION; [line 191, column 5]\n " shape="invhouse"] +"test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$3 == 0), false); [line 191, column 5]\n " shape="invhouse"] "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_13" -> "test_switch11.a1a6d859e414d268a57ed2a2bb6f8a8e_3" ; @@ -226,20 +226,20 @@ digraph cfg { "test_switch2.0717c55583f10f472ddb2d73d867e556_2" [label="2: Exit test_switch2 \n " color=yellow style=filled] -"test_switch2.0717c55583f10f472ddb2d73d867e556_3" [label="3: Return Stmt \n *&return:int=0 [line 56, column 3]\n APPLY_ABSTRACTION; [line 56, column 3]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_3" [label="3: Return Stmt \n *&return:int=0 [line 56, column 3]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_3" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_2" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_4" [label="4: SwitchStmt \n n$0=*&value:int [line 38, column 11]\n NULLIFY(&value); [line 38, column 11]\n EXIT_SCOPE(value); [line 38, column 11]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_4" [label="4: SwitchStmt \n n$0=*&value:int [line 38, column 11]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_4" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_16" ; "test_switch2.0717c55583f10f472ddb2d73d867e556_4" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_17" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_5" [label="5: BinaryOperatorStmt: Assign \n *&z:int=42 [line 50, column 7]\n NULLIFY(&z); [line 50, column 7]\n EXIT_SCOPE(z); [line 50, column 7]\n APPLY_ABSTRACTION; [line 50, column 7]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_5" [label="5: BinaryOperatorStmt: Assign \n *&z:int=42 [line 50, column 7]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_5" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_3" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_6" [label="6: UnaryOperator \n n$3=*&something:int [line 48, column 7]\n *&something:int=(n$3 + 1) [line 48, column 7]\n NULLIFY(&something); [line 48, column 7]\n EXIT_SCOPE(n$3,something); [line 48, column 7]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_6" [label="6: UnaryOperator \n n$3=*&something:int [line 48, column 7]\n *&something:int=(n$3 + 1) [line 48, column 7]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_6" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_5" ; @@ -247,23 +247,23 @@ digraph cfg { "test_switch2.0717c55583f10f472ddb2d73d867e556_7" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_6" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 43, column 7]\n *&z:int=9 [line 43, column 7]\n APPLY_ABSTRACTION; [line 43, column 7]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 43, column 7]\n *&z:int=9 [line 43, column 7]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_8" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_7" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_9" [label="9: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 41, column 7]\n EXIT_SCOPE(n$5); [line 41, column 7]\n APPLY_ABSTRACTION; [line 41, column 7]\n " shape="box"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_9" [label="9: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 41, column 7]\n " shape="box"] "test_switch2.0717c55583f10f472ddb2d73d867e556_9" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_3" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_10" [label="10: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 53, column 5]\n APPLY_ABSTRACTION; [line 53, column 5]\n " shape="invhouse"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_10" [label="10: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 53, column 5]\n " shape="invhouse"] "test_switch2.0717c55583f10f472ddb2d73d867e556_10" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_3" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 53, column 5]\n APPLY_ABSTRACTION; [line 53, column 5]\n " shape="invhouse"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 53, column 5]\n " shape="invhouse"] "test_switch2.0717c55583f10f472ddb2d73d867e556_11" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_3" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_12" [label="12: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 52, column 5]\n APPLY_ABSTRACTION; [line 52, column 5]\n " shape="invhouse"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_12" [label="12: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 52, column 5]\n " shape="invhouse"] "test_switch2.0717c55583f10f472ddb2d73d867e556_12" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_3" ; @@ -272,7 +272,7 @@ digraph cfg { "test_switch2.0717c55583f10f472ddb2d73d867e556_13" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_10" ; "test_switch2.0717c55583f10f472ddb2d73d867e556_13" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_11" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_14" [label="14: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 46, column 5]\n APPLY_ABSTRACTION; [line 46, column 5]\n " shape="invhouse"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_14" [label="14: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 46, column 5]\n " shape="invhouse"] "test_switch2.0717c55583f10f472ddb2d73d867e556_14" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_7" ; @@ -281,11 +281,11 @@ digraph cfg { "test_switch2.0717c55583f10f472ddb2d73d867e556_15" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_12" ; "test_switch2.0717c55583f10f472ddb2d73d867e556_15" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_13" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_16" [label="16: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 40, column 5]\n EXIT_SCOPE(n$0); [line 40, column 5]\n " shape="invhouse"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_16" [label="16: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 40, column 5]\n " shape="invhouse"] "test_switch2.0717c55583f10f472ddb2d73d867e556_16" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_9" ; -"test_switch2.0717c55583f10f472ddb2d73d867e556_17" [label="17: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 40, column 5]\n EXIT_SCOPE(n$0); [line 40, column 5]\n APPLY_ABSTRACTION; [line 40, column 5]\n " shape="invhouse"] +"test_switch2.0717c55583f10f472ddb2d73d867e556_17" [label="17: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 40, column 5]\n " shape="invhouse"] "test_switch2.0717c55583f10f472ddb2d73d867e556_17" -> "test_switch2.0717c55583f10f472ddb2d73d867e556_7" ; @@ -300,20 +300,20 @@ digraph cfg { "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_2" [label="2: Exit test_switch3 \n " color=yellow style=filled] -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" [label="3: Return Stmt \n *&return:int=0 [line 74, column 3]\n APPLY_ABSTRACTION; [line 74, column 3]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" [label="3: Return Stmt \n *&return:int=0 [line 74, column 3]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_2" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_4" [label="4: SwitchStmt \n n$0=*&value:int [line 61, column 11]\n NULLIFY(&value); [line 61, column 11]\n EXIT_SCOPE(value); [line 61, column 11]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_4" [label="4: SwitchStmt \n n$0=*&value:int [line 61, column 11]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_4" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_15" ; "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_4" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_16" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:int); [line 69, column 7]\n *&z:int=9 [line 69, column 7]\n APPLY_ABSTRACTION; [line 69, column 7]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:int); [line 69, column 7]\n *&z:int=9 [line 69, column 7]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_5" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_6" [label="6: UnaryOperator \n n$3=*&something:int [line 67, column 7]\n *&something:int=(n$3 + 1) [line 67, column 7]\n NULLIFY(&something); [line 67, column 7]\n EXIT_SCOPE(n$3,something); [line 67, column 7]\n APPLY_ABSTRACTION; [line 67, column 7]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_6" [label="6: UnaryOperator \n n$3=*&something:int [line 67, column 7]\n *&something:int=(n$3 + 1) [line 67, column 7]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_6" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" ; @@ -321,19 +321,19 @@ digraph cfg { "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_7" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_6" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_8" [label="8: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 63, column 7]\n EXIT_SCOPE(n$5); [line 63, column 7]\n APPLY_ABSTRACTION; [line 63, column 7]\n " shape="box"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_8" [label="8: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 63, column 7]\n " shape="box"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_8" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_9" [label="9: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 71, column 5]\n EXIT_SCOPE(n$0); [line 71, column 5]\n APPLY_ABSTRACTION; [line 71, column 5]\n " shape="invhouse"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_9" [label="9: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 71, column 5]\n " shape="invhouse"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_9" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 71, column 5]\n EXIT_SCOPE(n$0); [line 71, column 5]\n APPLY_ABSTRACTION; [line 71, column 5]\n " shape="invhouse"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 71, column 5]\n " shape="invhouse"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_10" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_11" [label="11: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 70, column 5]\n EXIT_SCOPE(n$0); [line 70, column 5]\n APPLY_ABSTRACTION; [line 70, column 5]\n " shape="invhouse"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_11" [label="11: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 70, column 5]\n " shape="invhouse"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_11" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_3" ; @@ -342,7 +342,7 @@ digraph cfg { "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_12" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_9" ; "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_12" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_10" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_13" [label="13: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 65, column 5]\n EXIT_SCOPE(n$0); [line 65, column 5]\n " shape="invhouse"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_13" [label="13: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 65, column 5]\n " shape="invhouse"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_13" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_7" ; @@ -351,7 +351,7 @@ digraph cfg { "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_14" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_11" ; "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_14" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_12" ; -"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_15" [label="15: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 62, column 5]\n EXIT_SCOPE(n$0); [line 62, column 5]\n " shape="invhouse"] +"test_switch3.d602e3f7cc0068667fd33a3e54ff193c_15" [label="15: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 62, column 5]\n " shape="invhouse"] "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_15" -> "test_switch3.d602e3f7cc0068667fd33a3e54ff193c_8" ; @@ -371,20 +371,20 @@ digraph cfg { "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_2" [label="2: Exit test_switch4 \n " color=yellow style=filled] -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_3" [label="3: Return Stmt \n *&return:int=0 [line 97, column 3]\n APPLY_ABSTRACTION; [line 97, column 3]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_3" [label="3: Return Stmt \n *&return:int=0 [line 97, column 3]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_3" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_2" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_4" [label="4: SwitchStmt \n n$0=*&value:int [line 79, column 11]\n NULLIFY(&value); [line 79, column 11]\n EXIT_SCOPE(value); [line 79, column 11]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_4" [label="4: SwitchStmt \n n$0=*&value:int [line 79, column 11]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_4" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_16" ; "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_4" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_17" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_5" [label="5: BinaryOperatorStmt: Assign \n *&z:int=42 [line 91, column 7]\n NULLIFY(&z); [line 91, column 7]\n EXIT_SCOPE(z); [line 91, column 7]\n APPLY_ABSTRACTION; [line 91, column 7]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_5" [label="5: BinaryOperatorStmt: Assign \n *&z:int=42 [line 91, column 7]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_5" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_3" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_6" [label="6: UnaryOperator \n n$3=*&something:int [line 89, column 7]\n *&something:int=(n$3 + 1) [line 89, column 7]\n NULLIFY(&something); [line 89, column 7]\n EXIT_SCOPE(n$3,something); [line 89, column 7]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_6" [label="6: UnaryOperator \n n$3=*&something:int [line 89, column 7]\n *&something:int=(n$3 + 1) [line 89, column 7]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_6" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_5" ; @@ -392,23 +392,23 @@ digraph cfg { "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_7" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_6" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 84, column 7]\n *&z:int=9 [line 84, column 7]\n APPLY_ABSTRACTION; [line 84, column 7]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_8" [label="8: DeclStmt \n VARIABLE_DECLARED(z:int); [line 84, column 7]\n *&z:int=9 [line 84, column 7]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_8" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_7" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_9" [label="9: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 82, column 7]\n EXIT_SCOPE(n$5); [line 82, column 7]\n APPLY_ABSTRACTION; [line 82, column 7]\n " shape="box"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_9" [label="9: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 82, column 7]\n " shape="box"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_9" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_3" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_10" [label="10: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 94, column 5]\n APPLY_ABSTRACTION; [line 94, column 5]\n " shape="invhouse"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_10" [label="10: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 94, column 5]\n " shape="invhouse"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_10" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_3" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 94, column 5]\n APPLY_ABSTRACTION; [line 94, column 5]\n " shape="invhouse"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_11" [label="11: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 94, column 5]\n " shape="invhouse"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_11" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_3" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_12" [label="12: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 93, column 5]\n APPLY_ABSTRACTION; [line 93, column 5]\n " shape="invhouse"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_12" [label="12: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 93, column 5]\n " shape="invhouse"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_12" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_3" ; @@ -417,7 +417,7 @@ digraph cfg { "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_13" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_10" ; "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_13" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_11" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_14" [label="14: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 87, column 5]\n APPLY_ABSTRACTION; [line 87, column 5]\n " shape="invhouse"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_14" [label="14: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 87, column 5]\n " shape="invhouse"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_14" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_7" ; @@ -426,11 +426,11 @@ digraph cfg { "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_15" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_12" ; "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_15" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_13" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_16" [label="16: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 81, column 5]\n EXIT_SCOPE(n$0); [line 81, column 5]\n " shape="invhouse"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_16" [label="16: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 81, column 5]\n " shape="invhouse"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_16" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_9" ; -"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_17" [label="17: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 81, column 5]\n EXIT_SCOPE(n$0); [line 81, column 5]\n APPLY_ABSTRACTION; [line 81, column 5]\n " shape="invhouse"] +"test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_17" [label="17: Prune (false branch, switch) \n PRUNE(!(n$0 == 0), false); [line 81, column 5]\n " shape="invhouse"] "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_17" -> "test_switch4.70d4e6e8539e8d1ee3505d4562bc236d_7" ; @@ -445,7 +445,7 @@ digraph cfg { "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_2" [label="2: Exit test_switch5 \n " color=yellow style=filled] -"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_3" [label="3: Return Stmt \n *&return:int=0 [line 113, column 3]\n APPLY_ABSTRACTION; [line 113, column 3]\n " shape="box"] +"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_3" [label="3: Return Stmt \n *&return:int=0 [line 113, column 3]\n " shape="box"] "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_3" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_2" ; @@ -458,11 +458,11 @@ digraph cfg { "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_5" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_6" ; "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_5" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_7" ; -"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 < 10), true); [line 102, column 10]\n EXIT_SCOPE(n$0); [line 102, column 10]\n " shape="invhouse"] +"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 < 10), true); [line 102, column 10]\n " shape="invhouse"] "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_6" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_8" ; -"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 < 10), false); [line 102, column 10]\n NULLIFY(&value); [line 102, column 10]\n EXIT_SCOPE(n$0,value); [line 102, column 10]\n " shape="invhouse"] +"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 < 10), false); [line 102, column 10]\n " shape="invhouse"] "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_7" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_3" ; @@ -471,11 +471,11 @@ digraph cfg { "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_8" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_12" ; "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_8" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_13" ; -"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_9" [label="9: Call _fun_printf \n n$3=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 109, column 9]\n EXIT_SCOPE(n$3); [line 109, column 9]\n APPLY_ABSTRACTION; [line 109, column 9]\n " shape="box"] +"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_9" [label="9: Call _fun_printf \n n$3=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 109, column 9]\n " shape="box"] "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_9" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_4" ; -"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_10" [label="10: BinaryOperatorStmt: Assign \n n$5=*&value:int [line 106, column 11]\n *&x:int=(n$5 + 1) [line 106, column 7]\n APPLY_ABSTRACTION; [line 106, column 7]\n " shape="box"] +"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_10" [label="10: BinaryOperatorStmt: Assign \n n$5=*&value:int [line 106, column 11]\n *&x:int=(n$5 + 1) [line 106, column 7]\n " shape="box"] "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_10" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_4" ; @@ -483,15 +483,15 @@ digraph cfg { "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_11" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_10" ; -"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 0), true); [line 108, column 7]\n EXIT_SCOPE(n$1); [line 108, column 7]\n " shape="invhouse"] +"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 0), true); [line 108, column 7]\n " shape="invhouse"] "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_12" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_9" ; -"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$1 == 0), false); [line 108, column 7]\n EXIT_SCOPE(n$1); [line 108, column 7]\n APPLY_ABSTRACTION; [line 108, column 7]\n " shape="invhouse"] +"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$1 == 0), false); [line 108, column 7]\n " shape="invhouse"] "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_13" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_4" ; -"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_14" [label="14: DeclStmt \n VARIABLE_DECLARED(value:int); [line 101, column 3]\n *&value:int=0 [line 101, column 3]\n APPLY_ABSTRACTION; [line 101, column 3]\n " shape="box"] +"test_switch5.1d93fcc376cd01517eabe22cb325bcfd_14" [label="14: DeclStmt \n VARIABLE_DECLARED(value:int); [line 101, column 3]\n *&value:int=0 [line 101, column 3]\n " shape="box"] "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_14" -> "test_switch5.1d93fcc376cd01517eabe22cb325bcfd_4" ; @@ -502,7 +502,7 @@ digraph cfg { "test_switch6.a23e54b3840073f4ece330ef3c560915_2" [label="2: Exit test_switch6 \n " color=yellow style=filled] -"test_switch6.a23e54b3840073f4ece330ef3c560915_3" [label="3: Return Stmt \n *&return:int=0 [line 131, column 3]\n APPLY_ABSTRACTION; [line 131, column 3]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_3" [label="3: Return Stmt \n *&return:int=0 [line 131, column 3]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_3" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_2" ; @@ -510,37 +510,37 @@ digraph cfg { "test_switch6.a23e54b3840073f4ece330ef3c560915_4" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_10" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_5" [label="5: BinaryOperatorStmt: GT \n n$1=*&value:int [line 118, column 11]\n NULLIFY(&value); [line 118, column 11]\n EXIT_SCOPE(value); [line 118, column 11]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_5" [label="5: BinaryOperatorStmt: GT \n n$1=*&value:int [line 118, column 11]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_5" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_6" ; "test_switch6.a23e54b3840073f4ece330ef3c560915_5" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_7" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_6" [label="6: Prune (true branch, boolean exp) \n PRUNE((n$1 > 0), true); [line 118, column 11]\n EXIT_SCOPE(n$1); [line 118, column 11]\n " shape="invhouse"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_6" [label="6: Prune (true branch, boolean exp) \n PRUNE((n$1 > 0), true); [line 118, column 11]\n " shape="invhouse"] "test_switch6.a23e54b3840073f4ece330ef3c560915_6" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_8" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!(n$1 > 0), false); [line 118, column 11]\n EXIT_SCOPE(n$1); [line 118, column 11]\n " shape="invhouse"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!(n$1 > 0), false); [line 118, column 11]\n " shape="invhouse"] "test_switch6.a23e54b3840073f4ece330ef3c560915_7" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_9" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 118, column 11]\n APPLY_ABSTRACTION; [line 118, column 11]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=1 [line 118, column 11]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_8" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_4" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_9" [label="9: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 118, column 11]\n APPLY_ABSTRACTION; [line 118, column 11]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_9" [label="9: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=0 [line 118, column 11]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_9" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_4" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_10" [label="10: SwitchStmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 118, column 11]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 118, column 11]\n EXIT_SCOPE(0$?%__sil_tmpSIL_temp_conditional___n$0); [line 118, column 11]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_10" [label="10: SwitchStmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 118, column 11]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_10" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_21" ; "test_switch6.a23e54b3840073f4ece330ef3c560915_10" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_22" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_11" [label="11: DeclStmt \n VARIABLE_DECLARED(z:int); [line 126, column 7]\n *&z:int=9 [line 126, column 7]\n APPLY_ABSTRACTION; [line 126, column 7]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_11" [label="11: DeclStmt \n VARIABLE_DECLARED(z:int); [line 126, column 7]\n *&z:int=9 [line 126, column 7]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_11" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_3" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_12" [label="12: UnaryOperator \n n$5=*&something:int [line 124, column 7]\n *&something:int=(n$5 + 1) [line 124, column 7]\n NULLIFY(&something); [line 124, column 7]\n EXIT_SCOPE(n$5,something); [line 124, column 7]\n APPLY_ABSTRACTION; [line 124, column 7]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_12" [label="12: UnaryOperator \n n$5=*&something:int [line 124, column 7]\n *&something:int=(n$5 + 1) [line 124, column 7]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_12" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_3" ; @@ -548,19 +548,19 @@ digraph cfg { "test_switch6.a23e54b3840073f4ece330ef3c560915_13" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_12" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_14" [label="14: Call _fun_printf \n n$7=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 120, column 7]\n EXIT_SCOPE(n$7); [line 120, column 7]\n APPLY_ABSTRACTION; [line 120, column 7]\n " shape="box"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_14" [label="14: Call _fun_printf \n n$7=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 120, column 7]\n " shape="box"] "test_switch6.a23e54b3840073f4ece330ef3c560915_14" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_3" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_15" [label="15: Prune (true branch, switch) \n PRUNE((n$2 == 3), true); [line 128, column 5]\n EXIT_SCOPE(n$2); [line 128, column 5]\n APPLY_ABSTRACTION; [line 128, column 5]\n " shape="invhouse"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_15" [label="15: Prune (true branch, switch) \n PRUNE((n$2 == 3), true); [line 128, column 5]\n " shape="invhouse"] "test_switch6.a23e54b3840073f4ece330ef3c560915_15" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_3" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_16" [label="16: Prune (false branch, switch) \n PRUNE(!(n$2 == 3), false); [line 128, column 5]\n EXIT_SCOPE(n$2); [line 128, column 5]\n APPLY_ABSTRACTION; [line 128, column 5]\n " shape="invhouse"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_16" [label="16: Prune (false branch, switch) \n PRUNE(!(n$2 == 3), false); [line 128, column 5]\n " shape="invhouse"] "test_switch6.a23e54b3840073f4ece330ef3c560915_16" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_3" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_17" [label="17: Prune (true branch, switch) \n PRUNE((n$2 == 2), true); [line 127, column 5]\n EXIT_SCOPE(n$2); [line 127, column 5]\n APPLY_ABSTRACTION; [line 127, column 5]\n " shape="invhouse"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_17" [label="17: Prune (true branch, switch) \n PRUNE((n$2 == 2), true); [line 127, column 5]\n " shape="invhouse"] "test_switch6.a23e54b3840073f4ece330ef3c560915_17" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_3" ; @@ -569,7 +569,7 @@ digraph cfg { "test_switch6.a23e54b3840073f4ece330ef3c560915_18" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_15" ; "test_switch6.a23e54b3840073f4ece330ef3c560915_18" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_16" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_19" [label="19: Prune (true branch, switch) \n PRUNE((n$2 == 1), true); [line 122, column 5]\n EXIT_SCOPE(n$2); [line 122, column 5]\n " shape="invhouse"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_19" [label="19: Prune (true branch, switch) \n PRUNE((n$2 == 1), true); [line 122, column 5]\n " shape="invhouse"] "test_switch6.a23e54b3840073f4ece330ef3c560915_19" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_13" ; @@ -578,7 +578,7 @@ digraph cfg { "test_switch6.a23e54b3840073f4ece330ef3c560915_20" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_17" ; "test_switch6.a23e54b3840073f4ece330ef3c560915_20" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_18" ; -"test_switch6.a23e54b3840073f4ece330ef3c560915_21" [label="21: Prune (true branch, switch) \n PRUNE((n$2 == 0), true); [line 119, column 5]\n EXIT_SCOPE(n$2); [line 119, column 5]\n " shape="invhouse"] +"test_switch6.a23e54b3840073f4ece330ef3c560915_21" [label="21: Prune (true branch, switch) \n PRUNE((n$2 == 0), true); [line 119, column 5]\n " shape="invhouse"] "test_switch6.a23e54b3840073f4ece330ef3c560915_21" -> "test_switch6.a23e54b3840073f4ece330ef3c560915_14" ; @@ -598,7 +598,7 @@ digraph cfg { "test_switch7.8298274f5578f21bdddf71ffa79afcb8_2" [label="2: Exit test_switch7 \n " color=yellow style=filled] -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" [label="3: Return Stmt \n *&return:int=0 [line 151, column 3]\n APPLY_ABSTRACTION; [line 151, column 3]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" [label="3: Return Stmt \n *&return:int=0 [line 151, column 3]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_2" ; @@ -607,11 +607,11 @@ digraph cfg { "test_switch7.8298274f5578f21bdddf71ffa79afcb8_4" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_15" ; "test_switch7.8298274f5578f21bdddf71ffa79afcb8_4" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_16" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:int); [line 146, column 7]\n *&z:int=9 [line 146, column 7]\n APPLY_ABSTRACTION; [line 146, column 7]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:int); [line 146, column 7]\n *&z:int=9 [line 146, column 7]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_5" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_6" [label="6: UnaryOperator \n n$3=*&something:int [line 144, column 7]\n *&something:int=(n$3 + 1) [line 144, column 7]\n NULLIFY(&something); [line 144, column 7]\n EXIT_SCOPE(n$3,something); [line 144, column 7]\n APPLY_ABSTRACTION; [line 144, column 7]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_6" [label="6: UnaryOperator \n n$3=*&something:int [line 144, column 7]\n *&something:int=(n$3 + 1) [line 144, column 7]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_6" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" ; @@ -619,19 +619,19 @@ digraph cfg { "test_switch7.8298274f5578f21bdddf71ffa79afcb8_7" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_6" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_8" [label="8: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 140, column 7]\n EXIT_SCOPE(n$5); [line 140, column 7]\n APPLY_ABSTRACTION; [line 140, column 7]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_8" [label="8: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 140, column 7]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_8" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_9" [label="9: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 148, column 5]\n EXIT_SCOPE(n$0); [line 148, column 5]\n APPLY_ABSTRACTION; [line 148, column 5]\n " shape="invhouse"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_9" [label="9: Prune (true branch, switch) \n PRUNE((n$0 == 3), true); [line 148, column 5]\n " shape="invhouse"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_9" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 148, column 5]\n EXIT_SCOPE(n$0); [line 148, column 5]\n APPLY_ABSTRACTION; [line 148, column 5]\n " shape="invhouse"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$0 == 3), false); [line 148, column 5]\n " shape="invhouse"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_10" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_11" [label="11: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 147, column 5]\n EXIT_SCOPE(n$0); [line 147, column 5]\n APPLY_ABSTRACTION; [line 147, column 5]\n " shape="invhouse"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_11" [label="11: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 147, column 5]\n " shape="invhouse"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_11" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_3" ; @@ -640,7 +640,7 @@ digraph cfg { "test_switch7.8298274f5578f21bdddf71ffa79afcb8_12" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_9" ; "test_switch7.8298274f5578f21bdddf71ffa79afcb8_12" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_10" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_13" [label="13: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 142, column 5]\n EXIT_SCOPE(n$0); [line 142, column 5]\n " shape="invhouse"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_13" [label="13: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 142, column 5]\n " shape="invhouse"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_13" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_7" ; @@ -649,7 +649,7 @@ digraph cfg { "test_switch7.8298274f5578f21bdddf71ffa79afcb8_14" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_11" ; "test_switch7.8298274f5578f21bdddf71ffa79afcb8_14" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_12" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_15" [label="15: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 139, column 5]\n EXIT_SCOPE(n$0); [line 139, column 5]\n " shape="invhouse"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_15" [label="15: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 139, column 5]\n " shape="invhouse"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_15" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_8" ; @@ -658,7 +658,7 @@ digraph cfg { "test_switch7.8298274f5578f21bdddf71ffa79afcb8_16" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_13" ; "test_switch7.8298274f5578f21bdddf71ffa79afcb8_16" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_14" ; -"test_switch7.8298274f5578f21bdddf71ffa79afcb8_17" [label="17: DeclStmt \n VARIABLE_DECLARED(value:int); [line 137, column 3]\n *&value:int=0 [line 137, column 3]\n NULLIFY(&value); [line 137, column 3]\n EXIT_SCOPE(value); [line 137, column 3]\n " shape="box"] +"test_switch7.8298274f5578f21bdddf71ffa79afcb8_17" [label="17: DeclStmt \n VARIABLE_DECLARED(value:int); [line 137, column 3]\n *&value:int=0 [line 137, column 3]\n " shape="box"] "test_switch7.8298274f5578f21bdddf71ffa79afcb8_17" -> "test_switch7.8298274f5578f21bdddf71ffa79afcb8_4" ; @@ -669,7 +669,7 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_2" [label="2: Exit test_switch8 \n " color=yellow style=filled] -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_3" [label="3: Return Stmt \n *&return:int=0 [line 173, column 3]\n APPLY_ABSTRACTION; [line 173, column 3]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_3" [label="3: Return Stmt \n *&return:int=0 [line 173, column 3]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_3" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_2" ; @@ -682,15 +682,15 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_5" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_6" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_5" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_7" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 < 10), true); [line 156, column 10]\n EXIT_SCOPE(n$0); [line 156, column 10]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 < 10), true); [line 156, column 10]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_6" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_10" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 < 10), false); [line 156, column 10]\n NULLIFY(&value); [line 156, column 10]\n EXIT_SCOPE(n$0,value); [line 156, column 10]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 < 10), false); [line 156, column 10]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_7" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_3" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 171, column 5]\n *&a:int=0 [line 171, column 5]\n NULLIFY(&a); [line 171, column 5]\n EXIT_SCOPE(a); [line 171, column 5]\n APPLY_ABSTRACTION; [line 171, column 5]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" [label="8: DeclStmt \n VARIABLE_DECLARED(a:int); [line 171, column 5]\n *&a:int=0 [line 171, column 5]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_4" ; @@ -703,32 +703,32 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_10" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_11" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_10" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_12" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_11" [label="11: Prune (true branch, boolean exp) \n PRUNE((n$2 == 0), true); [line 157, column 13]\n EXIT_SCOPE(n$2); [line 157, column 13]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_11" [label="11: Prune (true branch, boolean exp) \n PRUNE((n$2 == 0), true); [line 157, column 13]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_11" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_13" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_12" [label="12: Prune (false branch, boolean exp) \n PRUNE(!(n$2 == 0), false); [line 157, column 13]\n EXIT_SCOPE(n$2); [line 157, column 13]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_12" [label="12: Prune (false branch, boolean exp) \n PRUNE(!(n$2 == 0), false); [line 157, column 13]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_12" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_14" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_13" [label="13: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 157, column 13]\n APPLY_ABSTRACTION; [line 157, column 13]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_13" [label="13: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 157, column 13]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_13" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_9" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_14" [label="14: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=2 [line 157, column 13]\n APPLY_ABSTRACTION; [line 157, column 13]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_14" [label="14: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=2 [line 157, column 13]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_14" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_9" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_15" [label="15: SwitchStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 157, column 13]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 157, column 13]\n EXIT_SCOPE(0$?%__sil_tmpSIL_temp_conditional___n$1); [line 157, column 13]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_15" [label="15: SwitchStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 157, column 13]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_15" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_27" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_15" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_28" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_16" [label="16: DeclStmt \n VARIABLE_DECLARED(z:int); [line 166, column 9]\n *&z:int=9 [line 166, column 9]\n APPLY_ABSTRACTION; [line 166, column 9]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_16" [label="16: DeclStmt \n VARIABLE_DECLARED(z:int); [line 166, column 9]\n *&z:int=9 [line 166, column 9]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_16" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_17" [label="17: UnaryOperator \n n$7=*&something:int [line 163, column 9]\n *&something:int=(n$7 + 1) [line 163, column 9]\n NULLIFY(&something); [line 163, column 9]\n EXIT_SCOPE(n$7,something); [line 163, column 9]\n APPLY_ABSTRACTION; [line 163, column 9]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_17" [label="17: UnaryOperator \n n$7=*&something:int [line 163, column 9]\n *&something:int=(n$7 + 1) [line 163, column 9]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_17" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_4" ; @@ -736,23 +736,23 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_18" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_17" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_19" [label="19: Return Stmt \n *&return:int=0 [line 160, column 9]\n APPLY_ABSTRACTION; [line 160, column 9]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_19" [label="19: Return Stmt \n *&return:int=0 [line 160, column 9]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_19" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_2" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_20" [label="20: Call _fun_printf \n n$8=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 159, column 9]\n EXIT_SCOPE(n$8); [line 159, column 9]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_20" [label="20: Call _fun_printf \n n$8=_fun_printf(\"(0)HELLO WORLD!\":char*) [line 159, column 9]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_20" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_19" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_21" [label="21: Prune (true branch, switch) \n PRUNE((n$3 == 3), true); [line 168, column 7]\n EXIT_SCOPE(n$3); [line 168, column 7]\n APPLY_ABSTRACTION; [line 168, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_21" [label="21: Prune (true branch, switch) \n PRUNE((n$3 == 3), true); [line 168, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_21" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_22" [label="22: Prune (false branch, switch) \n PRUNE(!(n$3 == 3), false); [line 168, column 7]\n EXIT_SCOPE(n$3); [line 168, column 7]\n APPLY_ABSTRACTION; [line 168, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_22" [label="22: Prune (false branch, switch) \n PRUNE(!(n$3 == 3), false); [line 168, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_22" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_23" [label="23: Prune (true branch, switch) \n PRUNE((n$3 == 2), true); [line 167, column 7]\n EXIT_SCOPE(n$3); [line 167, column 7]\n APPLY_ABSTRACTION; [line 167, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_23" [label="23: Prune (true branch, switch) \n PRUNE((n$3 == 2), true); [line 167, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_23" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_8" ; @@ -761,7 +761,7 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_24" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_21" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_24" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_22" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_25" [label="25: Prune (true branch, switch) \n PRUNE((n$3 == 1), true); [line 161, column 7]\n EXIT_SCOPE(n$3); [line 161, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_25" [label="25: Prune (true branch, switch) \n PRUNE((n$3 == 1), true); [line 161, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_25" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_18" ; @@ -770,7 +770,7 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_26" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_23" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_26" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_24" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_27" [label="27: Prune (true branch, switch) \n PRUNE((n$3 == 0), true); [line 158, column 7]\n NULLIFY(&value); [line 158, column 7]\n EXIT_SCOPE(n$3,value); [line 158, column 7]\n " shape="invhouse"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_27" [label="27: Prune (true branch, switch) \n PRUNE((n$3 == 0), true); [line 158, column 7]\n " shape="invhouse"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_27" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_20" ; @@ -779,7 +779,7 @@ digraph cfg { "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_28" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_25" ; "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_28" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_26" ; -"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_29" [label="29: DeclStmt \n VARIABLE_DECLARED(value:int); [line 155, column 3]\n *&value:int=0 [line 155, column 3]\n APPLY_ABSTRACTION; [line 155, column 3]\n " shape="box"] +"test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_29" [label="29: DeclStmt \n VARIABLE_DECLARED(value:int); [line 155, column 3]\n *&value:int=0 [line 155, column 3]\n " shape="box"] "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_29" -> "test_switch8.6a6653773b94c1bb3f3c90dc1790d1ed_4" ; @@ -790,11 +790,11 @@ digraph cfg { "test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_2" [label="2: Exit test_switch9 \n " color=yellow style=filled] -"test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_3" [label="3: Return Stmt \n *&return:int=0 [line 179, column 3]\n APPLY_ABSTRACTION; [line 179, column 3]\n " shape="box"] +"test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_3" [label="3: Return Stmt \n *&return:int=0 [line 179, column 3]\n " shape="box"] "test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_3" -> "test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_2" ; -"test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_4" [label="4: SwitchStmt \n n$0=*&value:int [line 178, column 11]\n NULLIFY(&value); [line 178, column 11]\n EXIT_SCOPE(n$0,value); [line 178, column 11]\n " shape="box"] +"test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_4" [label="4: SwitchStmt \n n$0=*&value:int [line 178, column 11]\n " shape="box"] "test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_4" -> "test_switch9.f4a96f02ca05cf92a483f69cdfe717b1_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot index b66e29fb4..279bca346 100644 --- a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_unroll.c.dot @@ -7,11 +7,11 @@ digraph cfg { "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_2" [label="2: Exit unroll_loop \n " color=yellow style=filled] -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" [label="3: Return Stmt \n n$0=*&ret:int [line 24, column 10]\n *&return:int=n$0 [line 24, column 3]\n NULLIFY(&ret); [line 24, column 3]\n EXIT_SCOPE(n$0,ret); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" [label="3: Return Stmt \n n$0=*&ret:int [line 24, column 10]\n *&return:int=n$0 [line 24, column 3]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_2" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" [label="4: SwitchStmt \n n$1=*&n:int [line 10, column 11]\n NULLIFY(&n); [line 10, column 11]\n EXIT_SCOPE(n); [line 10, column 11]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" [label="4: SwitchStmt \n n$1=*&n:int [line 10, column 11]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" ; @@ -25,15 +25,15 @@ digraph cfg { "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" ; "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" [label="7: Prune (true branch, do while) \n PRUNE(((n$2 - 1) > 0), true); [line 22, column 16]\n EXIT_SCOPE(n$2); [line 22, column 16]\n APPLY_ABSTRACTION; [line 22, column 16]\n " shape="invhouse"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" [label="7: Prune (true branch, do while) \n PRUNE(((n$2 - 1) > 0), true); [line 22, column 16]\n " shape="invhouse"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_7" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" [label="8: Prune (false branch, do while) \n PRUNE(!((n$2 - 1) > 0), false); [line 22, column 16]\n NULLIFY(&loop); [line 22, column 16]\n EXIT_SCOPE(n$2,loop); [line 22, column 16]\n APPLY_ABSTRACTION; [line 22, column 16]\n " shape="invhouse"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" [label="8: Prune (false branch, do while) \n PRUNE(!((n$2 - 1) > 0), false); [line 22, column 16]\n " shape="invhouse"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_8" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" [label="9: UnaryOperator \n n$3=*&ret:int [line 21, column 11]\n *&ret:int=(n$3 + 1) [line 21, column 11]\n EXIT_SCOPE(n$3); [line 21, column 11]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" [label="9: UnaryOperator \n n$3=*&ret:int [line 21, column 11]\n *&ret:int=(n$3 + 1) [line 21, column 11]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_6" ; @@ -41,36 +41,36 @@ digraph cfg { "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" [label="11: Prune (true branch, if) \n PRUNE(1, true); [line 16, column 15]\n APPLY_ABSTRACTION; [line 16, column 15]\n " shape="invhouse"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" [label="11: Prune (true branch, if) \n PRUNE(1, true); [line 16, column 15]\n " shape="invhouse"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" [label="12: Prune (false branch, if) \n PRUNE(!1, false); [line 16, column 15]\n APPLY_ABSTRACTION; [line 16, column 15]\n " shape="invhouse"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" [label="12: Prune (false branch, if) \n PRUNE(!1, false); [line 16, column 15]\n " shape="invhouse"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" [label="13: UnaryOperator \n n$4=*&ret:int [line 18, column 15]\n *&ret:int=(n$4 + 1) [line 18, column 15]\n EXIT_SCOPE(n$4); [line 18, column 15]\n APPLY_ABSTRACTION; [line 18, column 15]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" [label="13: UnaryOperator \n n$4=*&ret:int [line 18, column 15]\n *&ret:int=(n$4 + 1) [line 18, column 15]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_10" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" [label="14: UnaryOperator \n n$7=*&ret:int [line 15, column 11]\n *&ret:int=(n$7 + 1) [line 15, column 11]\n EXIT_SCOPE(n$7); [line 15, column 11]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" [label="14: UnaryOperator \n n$7=*&ret:int [line 15, column 11]\n *&ret:int=(n$7 + 1) [line 15, column 11]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_11" ; "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_12" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" [label="15: UnaryOperator \n n$8=*&ret:int [line 13, column 9]\n *&ret:int=(n$8 + 1) [line 13, column 9]\n EXIT_SCOPE(n$8); [line 13, column 9]\n APPLY_ABSTRACTION; [line 13, column 9]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" [label="15: UnaryOperator \n n$8=*&ret:int [line 13, column 9]\n *&ret:int=(n$8 + 1) [line 13, column 9]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_15" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" [label="16: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 1), true); [line 20, column 9]\n EXIT_SCOPE(n$1); [line 20, column 9]\n APPLY_ABSTRACTION; [line 20, column 9]\n " shape="invhouse"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" [label="16: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 1), true); [line 20, column 9]\n " shape="invhouse"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_9" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" [label="17: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 1), false); [line 20, column 9]\n NULLIFY(&loop); [line 20, column 9]\n EXIT_SCOPE(n$1,loop); [line 20, column 9]\n APPLY_ABSTRACTION; [line 20, column 9]\n " shape="invhouse"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" [label="17: Prune (false branch, switch) \n PRUNE(!((n$1 % 8) == 1), false); [line 20, column 9]\n " shape="invhouse"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_3" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" [label="18: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 2), true); [line 17, column 13]\n EXIT_SCOPE(n$1); [line 17, column 13]\n APPLY_ABSTRACTION; [line 17, column 13]\n " shape="invhouse"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" [label="18: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 2), true); [line 17, column 13]\n " shape="invhouse"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_13" ; @@ -79,7 +79,7 @@ digraph cfg { "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_16" ; "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_17" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" [label="20: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 3), true); [line 14, column 9]\n EXIT_SCOPE(n$1); [line 14, column 9]\n APPLY_ABSTRACTION; [line 14, column 9]\n " shape="invhouse"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" [label="20: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 3), true); [line 14, column 9]\n " shape="invhouse"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_14" ; @@ -88,7 +88,7 @@ digraph cfg { "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_18" ; "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_19" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" [label="22: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 0), true); [line 11, column 5]\n EXIT_SCOPE(n$1); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="invhouse"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" [label="22: Prune (true branch, switch) \n PRUNE(((n$1 % 8) == 0), true); [line 11, column 5]\n " shape="invhouse"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_22" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_5" ; @@ -97,7 +97,7 @@ digraph cfg { "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_20" ; "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_23" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_21" ; -"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" [label="24: DeclStmt \n VARIABLE_DECLARED(loop:int); [line 9, column 3]\n n$11=*&n:int [line 9, column 14]\n *&loop:int=(n$11 + (3 / 4)) [line 9, column 3]\n EXIT_SCOPE(n$11); [line 9, column 3]\n " shape="box"] +"unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" [label="24: DeclStmt \n VARIABLE_DECLARED(loop:int); [line 9, column 3]\n n$11=*&n:int [line 9, column 14]\n *&loop:int=(n$11 + (3 / 4)) [line 9, column 3]\n " shape="box"] "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_24" -> "unroll_loop.7d9e50ecf5e5106a8dd5deee005639d6_4" ; diff --git a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_with_labels.c.dot b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_with_labels.c.dot index ad45a4581..61b6cad51 100644 --- a/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_with_labels.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/switchstmt/switch_with_labels.c.dot @@ -7,36 +7,36 @@ digraph cfg { "label_case.83d07a314df100648248d9156212096b_2" [label="2: Exit label_case \n " color=yellow style=filled] -"label_case.83d07a314df100648248d9156212096b_3" [label="3: Return Stmt \n n$0=*&ret:int [line 36, column 10]\n *&return:int=n$0 [line 36, column 3]\n NULLIFY(&ret); [line 36, column 3]\n EXIT_SCOPE(n$0,ret); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"label_case.83d07a314df100648248d9156212096b_3" [label="3: Return Stmt \n n$0=*&ret:int [line 36, column 10]\n *&return:int=n$0 [line 36, column 3]\n " shape="box"] "label_case.83d07a314df100648248d9156212096b_3" -> "label_case.83d07a314df100648248d9156212096b_2" ; -"label_case.83d07a314df100648248d9156212096b_4" [label="4: SwitchStmt \n n$1=*&x:char [line 26, column 11]\n NULLIFY(&x); [line 26, column 11]\n EXIT_SCOPE(x); [line 26, column 11]\n " shape="box"] +"label_case.83d07a314df100648248d9156212096b_4" [label="4: SwitchStmt \n n$1=*&x:char [line 26, column 11]\n " shape="box"] "label_case.83d07a314df100648248d9156212096b_4" -> "label_case.83d07a314df100648248d9156212096b_12" ; "label_case.83d07a314df100648248d9156212096b_4" -> "label_case.83d07a314df100648248d9156212096b_13" ; -"label_case.83d07a314df100648248d9156212096b_5" [label="5: UnaryOperator \n n$3=*&ret:int [line 33, column 7]\n *&ret:int=(n$3 + 1) [line 33, column 7]\n EXIT_SCOPE(n$3); [line 33, column 7]\n APPLY_ABSTRACTION; [line 33, column 7]\n " shape="box"] +"label_case.83d07a314df100648248d9156212096b_5" [label="5: UnaryOperator \n n$3=*&ret:int [line 33, column 7]\n *&ret:int=(n$3 + 1) [line 33, column 7]\n " shape="box"] "label_case.83d07a314df100648248d9156212096b_5" -> "label_case.83d07a314df100648248d9156212096b_3" ; -"label_case.83d07a314df100648248d9156212096b_6" [label="6: Skip GotoLabel_l \n APPLY_ABSTRACTION; [line 30, column 5]\n " color="gray"] +"label_case.83d07a314df100648248d9156212096b_6" [label="6: Skip GotoLabel_l \n " color="gray"] "label_case.83d07a314df100648248d9156212096b_6" -> "label_case.83d07a314df100648248d9156212096b_5" ; -"label_case.83d07a314df100648248d9156212096b_7" [label="7: UnaryOperator \n n$6=*&ret:int [line 28, column 7]\n *&ret:int=(n$6 + 1) [line 28, column 7]\n EXIT_SCOPE(n$6); [line 28, column 7]\n " shape="box"] +"label_case.83d07a314df100648248d9156212096b_7" [label="7: UnaryOperator \n n$6=*&ret:int [line 28, column 7]\n *&ret:int=(n$6 + 1) [line 28, column 7]\n " shape="box"] "label_case.83d07a314df100648248d9156212096b_7" -> "label_case.83d07a314df100648248d9156212096b_6" ; -"label_case.83d07a314df100648248d9156212096b_8" [label="8: Prune (true branch, switch) \n PRUNE((n$1 == 3), true); [line 32, column 5]\n EXIT_SCOPE(n$1); [line 32, column 5]\n APPLY_ABSTRACTION; [line 32, column 5]\n " shape="invhouse"] +"label_case.83d07a314df100648248d9156212096b_8" [label="8: Prune (true branch, switch) \n PRUNE((n$1 == 3), true); [line 32, column 5]\n " shape="invhouse"] "label_case.83d07a314df100648248d9156212096b_8" -> "label_case.83d07a314df100648248d9156212096b_5" ; -"label_case.83d07a314df100648248d9156212096b_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$1 == 3), false); [line 32, column 5]\n EXIT_SCOPE(n$1); [line 32, column 5]\n APPLY_ABSTRACTION; [line 32, column 5]\n " shape="invhouse"] +"label_case.83d07a314df100648248d9156212096b_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$1 == 3), false); [line 32, column 5]\n " shape="invhouse"] "label_case.83d07a314df100648248d9156212096b_9" -> "label_case.83d07a314df100648248d9156212096b_3" ; -"label_case.83d07a314df100648248d9156212096b_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 2), true); [line 31, column 5]\n EXIT_SCOPE(n$1); [line 31, column 5]\n APPLY_ABSTRACTION; [line 31, column 5]\n " shape="invhouse"] +"label_case.83d07a314df100648248d9156212096b_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 2), true); [line 31, column 5]\n " shape="invhouse"] "label_case.83d07a314df100648248d9156212096b_10" -> "label_case.83d07a314df100648248d9156212096b_5" ; @@ -45,7 +45,7 @@ digraph cfg { "label_case.83d07a314df100648248d9156212096b_11" -> "label_case.83d07a314df100648248d9156212096b_8" ; "label_case.83d07a314df100648248d9156212096b_11" -> "label_case.83d07a314df100648248d9156212096b_9" ; -"label_case.83d07a314df100648248d9156212096b_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 1), true); [line 27, column 5]\n EXIT_SCOPE(n$1); [line 27, column 5]\n " shape="invhouse"] +"label_case.83d07a314df100648248d9156212096b_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 1), true); [line 27, column 5]\n " shape="invhouse"] "label_case.83d07a314df100648248d9156212096b_12" -> "label_case.83d07a314df100648248d9156212096b_7" ; @@ -65,40 +65,40 @@ digraph cfg { "label_default.f30729864b0243c0a794ef0254fe7d23_2" [label="2: Exit label_default \n " color=yellow style=filled] -"label_default.f30729864b0243c0a794ef0254fe7d23_3" [label="3: Return Stmt \n n$0=*&ret:int [line 21, column 10]\n *&return:int=n$0 [line 21, column 3]\n NULLIFY(&ret); [line 21, column 3]\n EXIT_SCOPE(n$0,ret); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"label_default.f30729864b0243c0a794ef0254fe7d23_3" [label="3: Return Stmt \n n$0=*&ret:int [line 21, column 10]\n *&return:int=n$0 [line 21, column 3]\n " shape="box"] "label_default.f30729864b0243c0a794ef0254fe7d23_3" -> "label_default.f30729864b0243c0a794ef0254fe7d23_2" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_4" [label="4: SwitchStmt \n n$1=*&x:char [line 10, column 11]\n NULLIFY(&x); [line 10, column 11]\n EXIT_SCOPE(x); [line 10, column 11]\n " shape="box"] +"label_default.f30729864b0243c0a794ef0254fe7d23_4" [label="4: SwitchStmt \n n$1=*&x:char [line 10, column 11]\n " shape="box"] "label_default.f30729864b0243c0a794ef0254fe7d23_4" -> "label_default.f30729864b0243c0a794ef0254fe7d23_11" ; "label_default.f30729864b0243c0a794ef0254fe7d23_4" -> "label_default.f30729864b0243c0a794ef0254fe7d23_12" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_5" [label="5: UnaryOperator \n n$2=*&ret:int [line 19, column 7]\n *&ret:int=(n$2 - 1) [line 19, column 7]\n EXIT_SCOPE(n$2); [line 19, column 7]\n APPLY_ABSTRACTION; [line 19, column 7]\n " shape="box"] +"label_default.f30729864b0243c0a794ef0254fe7d23_5" [label="5: UnaryOperator \n n$2=*&ret:int [line 19, column 7]\n *&ret:int=(n$2 - 1) [line 19, column 7]\n " shape="box"] "label_default.f30729864b0243c0a794ef0254fe7d23_5" -> "label_default.f30729864b0243c0a794ef0254fe7d23_3" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_6" [label="6: Skip GotoLabel_l \n APPLY_ABSTRACTION; [line 17, column 5]\n " color="gray"] +"label_default.f30729864b0243c0a794ef0254fe7d23_6" [label="6: Skip GotoLabel_l \n " color="gray"] "label_default.f30729864b0243c0a794ef0254fe7d23_6" -> "label_default.f30729864b0243c0a794ef0254fe7d23_5" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_7" [label="7: BinaryOperatorStmt: Assign \n *&ret:int=2 [line 15, column 7]\n APPLY_ABSTRACTION; [line 15, column 7]\n " shape="box"] +"label_default.f30729864b0243c0a794ef0254fe7d23_7" [label="7: BinaryOperatorStmt: Assign \n *&ret:int=2 [line 15, column 7]\n " shape="box"] "label_default.f30729864b0243c0a794ef0254fe7d23_7" -> "label_default.f30729864b0243c0a794ef0254fe7d23_3" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_8" [label="8: UnaryOperator \n n$6=*&ret:int [line 12, column 7]\n *&ret:int=(n$6 + 1) [line 12, column 7]\n EXIT_SCOPE(n$6); [line 12, column 7]\n " shape="box"] +"label_default.f30729864b0243c0a794ef0254fe7d23_8" [label="8: UnaryOperator \n n$6=*&ret:int [line 12, column 7]\n *&ret:int=(n$6 + 1) [line 12, column 7]\n " shape="box"] "label_default.f30729864b0243c0a794ef0254fe7d23_8" -> "label_default.f30729864b0243c0a794ef0254fe7d23_6" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_9" [label="9: Prune (true branch, switch) \n PRUNE((n$1 == 2), true); [line 14, column 5]\n NULLIFY(&ret); [line 14, column 5]\n EXIT_SCOPE(n$1,ret); [line 14, column 5]\n " shape="invhouse"] +"label_default.f30729864b0243c0a794ef0254fe7d23_9" [label="9: Prune (true branch, switch) \n PRUNE((n$1 == 2), true); [line 14, column 5]\n " shape="invhouse"] "label_default.f30729864b0243c0a794ef0254fe7d23_9" -> "label_default.f30729864b0243c0a794ef0254fe7d23_7" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$1 == 2), false); [line 14, column 5]\n EXIT_SCOPE(n$1); [line 14, column 5]\n APPLY_ABSTRACTION; [line 14, column 5]\n " shape="invhouse"] +"label_default.f30729864b0243c0a794ef0254fe7d23_10" [label="10: Prune (false branch, switch) \n PRUNE(!(n$1 == 2), false); [line 14, column 5]\n " shape="invhouse"] "label_default.f30729864b0243c0a794ef0254fe7d23_10" -> "label_default.f30729864b0243c0a794ef0254fe7d23_5" ; -"label_default.f30729864b0243c0a794ef0254fe7d23_11" [label="11: Prune (true branch, switch) \n PRUNE((n$1 == 1), true); [line 11, column 5]\n EXIT_SCOPE(n$1); [line 11, column 5]\n " shape="invhouse"] +"label_default.f30729864b0243c0a794ef0254fe7d23_11" [label="11: Prune (true branch, switch) \n PRUNE((n$1 == 1), true); [line 11, column 5]\n " shape="invhouse"] "label_default.f30729864b0243c0a794ef0254fe7d23_11" -> "label_default.f30729864b0243c0a794ef0254fe7d23_8" ; diff --git a/infer/tests/codetoanalyze/c/frontend/types/struct.c.dot b/infer/tests/codetoanalyze/c/frontend/types/struct.c.dot index 490f9aac1..38bd9147c 100644 --- a/infer/tests/codetoanalyze/c/frontend/types/struct.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/types/struct.c.dot @@ -7,7 +7,7 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] -"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: BinaryOperatorStmt: Assign \n *&x.b:int=20 [line 16, column 3]\n NULLIFY(&x); [line 16, column 3]\n EXIT_SCOPE(x); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: BinaryOperatorStmt: Assign \n *&x.b:int=20 [line 16, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; diff --git a/infer/tests/codetoanalyze/c/frontend/unusual_exps/generic_exp.c.dot b/infer/tests/codetoanalyze/c/frontend/unusual_exps/generic_exp.c.dot index d7b7c8fc0..049bc4106 100644 --- a/infer/tests/codetoanalyze/c/frontend/unusual_exps/generic_exp.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/unusual_exps/generic_exp.c.dot @@ -7,11 +7,11 @@ digraph cfg { "test_typename.b2359812ef4a83b4e2638a11e6c522b3_2" [label="2: Exit test_typename \n " color=yellow style=filled] -"test_typename.b2359812ef4a83b4e2638a11e6c522b3_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z:int); [line 14, column 3]\n *&z:int=3 [line 14, column 3]\n NULLIFY(&z); [line 14, column 3]\n EXIT_SCOPE(z); [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] +"test_typename.b2359812ef4a83b4e2638a11e6c522b3_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z:int); [line 14, column 3]\n *&z:int=3 [line 14, column 3]\n " shape="box"] "test_typename.b2359812ef4a83b4e2638a11e6c522b3_3" -> "test_typename.b2359812ef4a83b4e2638a11e6c522b3_2" ; -"test_typename.b2359812ef4a83b4e2638a11e6c522b3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 13, column 3]\n *&x:int=2 [line 13, column 3]\n NULLIFY(&x); [line 13, column 3]\n EXIT_SCOPE(x); [line 13, column 3]\n " shape="box"] +"test_typename.b2359812ef4a83b4e2638a11e6c522b3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 13, column 3]\n *&x:int=2 [line 13, column 3]\n " shape="box"] "test_typename.b2359812ef4a83b4e2638a11e6c522b3_4" -> "test_typename.b2359812ef4a83b4e2638a11e6c522b3_3" ; diff --git a/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot b/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot index c7206dcf5..2270a4505 100644 --- a/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot +++ b/infer/tests/codetoanalyze/c/frontend/unusual_stmts/asm.c.dot @@ -4,14 +4,14 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&dst); [line 26, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 25, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: GCCAsmStmt \n n$0=*&src:int [line 24, column 13]\n n$1=_fun___infer_skip_gcc_asm_stmt(&dst:int&,n$0:int) [line 21, column 3]\n NULLIFY(&src); [line 21, column 3]\n EXIT_SCOPE(n$0,n$1,src,dst); [line 21, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: GCCAsmStmt \n n$0=*&src:int [line 24, column 13]\n n$1=_fun___infer_skip_gcc_asm_stmt(&dst:int&,n$0:int) [line 21, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; @@ -23,14 +23,14 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_1" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; -"test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n NULLIFY(&x); [line 15, column 1]\n NULLIFY(&z); [line 15, column 1]\n NULLIFY(&y); [line 15, column 1]\n NULLIFY(&h); [line 15, column 1]\n " color=yellow style=filled] +"test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] -"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: Return Stmt \n *&return:int=0 [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: Return Stmt \n *&return:int=0 [line 14, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: GCCAsmStmt \n n$0=_fun___infer_skip_gcc_asm_stmt(&x:int&,&y:int&,&z:int&,&h:int&,0:int) [line 13, column 3]\n EXIT_SCOPE(n$0,h,y,z,x); [line 13, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: GCCAsmStmt \n n$0=_fun___infer_skip_gcc_asm_stmt(&x:int&,&y:int&,&z:int&,&h:int&,0:int) [line 13, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_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 531ce8c2e..353ac9d57 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 @@ -4,14 +4,14 @@ digraph cfg { "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_1" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_2" [label="2: Exit vaarg_foo \n NULLIFY(&valist); [line 22, column 1]\n NULLIFY(&x); [line 22, column 1]\n " color=yellow style=filled] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_2" [label="2: Exit vaarg_foo \n " color=yellow style=filled] -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" [label="3: Return Stmt \n n$0=*&val:int [line 21, column 10]\n *&return:int=n$0 [line 21, column 3]\n NULLIFY(&val); [line 21, column 3]\n EXIT_SCOPE(n$0,val); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" [label="3: Return Stmt \n n$0=*&val:int [line 21, column 10]\n *&return:int=n$0 [line 21, column 3]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_2" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" [label="4: Call _fun___builtin_va_end \n n$1=_fun___builtin_va_end(&valist:void*) [line 20, column 3]\n EXIT_SCOPE(n$1,valist); [line 20, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" [label="4: Call _fun___builtin_va_end \n n$1=_fun___builtin_va_end(&valist:void*) [line 20, column 3]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_3" ; @@ -19,32 +19,32 @@ digraph cfg { "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_4" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" [label="6: BinaryOperatorStmt: EQ \n n$2=*&i:int [line 15, column 7]\n NULLIFY(&i); [line 15, column 7]\n EXIT_SCOPE(i); [line 15, column 7]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" [label="6: BinaryOperatorStmt: EQ \n n$2=*&i:int [line 15, column 7]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" ; "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" [label="7: Prune (true branch, if) \n PRUNE((n$2 == 9), true); [line 15, column 7]\n EXIT_SCOPE(n$2); [line 15, column 7]\n " shape="invhouse"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" [label="7: Prune (true branch, if) \n PRUNE((n$2 == 9), true); [line 15, column 7]\n " shape="invhouse"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_7" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" [label="8: Prune (false branch, if) \n PRUNE(!(n$2 == 9), false); [line 15, column 7]\n EXIT_SCOPE(n$2); [line 15, column 7]\n " shape="invhouse"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" [label="8: Prune (false branch, if) \n PRUNE(!(n$2 == 9), false); [line 15, column 7]\n " shape="invhouse"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_8" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" [label="9: BinaryOperatorStmt: Assign \n *&val:int=(9 / 0) [line 16, column 5]\n APPLY_ABSTRACTION; [line 16, column 5]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" [label="9: BinaryOperatorStmt: Assign \n *&val:int=(9 / 0) [line 16, column 5]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_9" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" [label="10: BinaryOperatorStmt: Assign \n *&val:int=(4 / 0) [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" [label="10: BinaryOperatorStmt: Assign \n *&val:int=(4 / 0) [line 18, column 5]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_10" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_5" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" [label="11: DeclStmt \n VARIABLE_DECLARED(i:int); [line 13, column 3]\n n$4=_fun___builtin_va_arg(&valist:void*) [line 13, column 11]\n *&i:int=n$4 [line 13, column 3]\n EXIT_SCOPE(n$4); [line 13, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" [label="11: DeclStmt \n VARIABLE_DECLARED(i:int); [line 13, column 3]\n n$4=_fun___builtin_va_arg(&valist:void*) [line 13, column 11]\n *&i:int=n$4 [line 13, column 3]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_6" ; -"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" [label="12: Call _fun___builtin_va_start \n n$5=_fun___builtin_va_start(&valist:void*,&x:int&) [line 12, column 3]\n EXIT_SCOPE(n$5,x); [line 12, column 3]\n " shape="box"] +"vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" [label="12: Call _fun___builtin_va_start \n n$5=_fun___builtin_va_start(&valist:void*,&x:int&) [line 12, column 3]\n " shape="box"] "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_12" -> "vaarg_foo.73af1e8d32c2d09f7488c5fea173b853_11" ; 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 c2d93ec45..345eb24ed 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/attributes/clang_fallthrough.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "h#4941587955358707969.72d1ffab9146aba0866be6bd3e972603_2" [label="2: Exit h \n " color=yellow style=filled] -"h#4941587955358707969.72d1ffab9146aba0866be6bd3e972603_3" [label="3: Return Stmt \n *&return:int=3 [line 8, column 11]\n APPLY_ABSTRACTION; [line 8, column 11]\n " shape="box"] +"h#4941587955358707969.72d1ffab9146aba0866be6bd3e972603_3" [label="3: Return Stmt \n *&return:int=3 [line 8, column 11]\n " shape="box"] "h#4941587955358707969.72d1ffab9146aba0866be6bd3e972603_3" -> "h#4941587955358707969.72d1ffab9146aba0866be6bd3e972603_2" ; @@ -18,28 +18,28 @@ digraph cfg { "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_2" [label="2: Exit switch_with_fallthrough \n " color=yellow style=filled] -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" [label="3: Return Stmt \n n$0=*&res:int [line 22, column 10]\n *&return:int=n$0 [line 22, column 3]\n NULLIFY(&res); [line 22, column 3]\n EXIT_SCOPE(n$0,res); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" [label="3: Return Stmt \n n$0=*&res:int [line 22, column 10]\n *&return:int=n$0 [line 22, column 3]\n " shape="box"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_2" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" [label="4: SwitchStmt \n n$1=*&n:int [line 12, column 11]\n NULLIFY(&n); [line 12, column 11]\n EXIT_SCOPE(n); [line 12, column 11]\n " shape="box"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" [label="4: SwitchStmt \n n$1=*&n:int [line 12, column 11]\n " shape="box"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" ; "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_4" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_13" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" [label="5: BinaryOperatorStmt: Assign \n n$3=_fun_h() [line 19, column 13]\n *&res:int=n$3 [line 19, column 7]\n EXIT_SCOPE(n$3); [line 19, column 7]\n APPLY_ABSTRACTION; [line 19, column 7]\n " shape="box"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" [label="5: BinaryOperatorStmt: Assign \n n$3=_fun_h() [line 19, column 13]\n *&res:int=n$3 [line 19, column 7]\n " shape="box"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" [label="6: Prune (true branch, switch) \n PRUNE((n$1 == 77), true); [line 18, column 5]\n NULLIFY(&res); [line 18, column 5]\n EXIT_SCOPE(n$1,res); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" [label="6: Prune (true branch, switch) \n PRUNE((n$1 == 77), true); [line 18, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" [label="7: Prune (false branch, switch) \n PRUNE(!(n$1 == 77), false); [line 18, column 5]\n EXIT_SCOPE(n$1); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" [label="7: Prune (false branch, switch) \n PRUNE(!(n$1 == 77), false); [line 18, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_3" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" [label="8: Prune (true branch, switch) \n PRUNE((n$1 == 66), true); [line 16, column 5]\n NULLIFY(&res); [line 16, column 5]\n EXIT_SCOPE(n$1,res); [line 16, column 5]\n APPLY_ABSTRACTION; [line 16, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" [label="8: Prune (true branch, switch) \n PRUNE((n$1 == 66), true); [line 16, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; @@ -48,7 +48,7 @@ digraph cfg { "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_6" ; "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_7" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 33), true); [line 14, column 5]\n NULLIFY(&res); [line 14, column 5]\n EXIT_SCOPE(n$1,res); [line 14, column 5]\n APPLY_ABSTRACTION; [line 14, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" [label="10: Prune (true branch, switch) \n PRUNE((n$1 == 33), true); [line 14, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_10" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; @@ -57,7 +57,7 @@ digraph cfg { "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_8" ; "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_11" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_9" ; -"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 22), true); [line 13, column 5]\n NULLIFY(&res); [line 13, column 5]\n EXIT_SCOPE(n$1,res); [line 13, column 5]\n APPLY_ABSTRACTION; [line 13, column 5]\n " shape="invhouse"] +"switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" [label="12: Prune (true branch, switch) \n PRUNE((n$1 == 22), true); [line 13, column 5]\n " shape="invhouse"] "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_12" -> "switch_with_fallthrough#6355028676793350740.9380c19327ea36a0a69b7e115d031492_5" ; @@ -77,7 +77,7 @@ digraph cfg { "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_2" [label="2: Exit test_fallthrough \n " color=yellow style=filled] -"test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_3" [label="3: Return Stmt \n n$0=_fun_switch_with_fallthrough(66:int) [line 25, column 38]\n *&return:int=(1 / (n$0 - 3)) [line 25, column 26]\n EXIT_SCOPE(n$0); [line 25, column 26]\n APPLY_ABSTRACTION; [line 25, column 26]\n " shape="box"] +"test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_3" [label="3: Return Stmt \n n$0=_fun_switch_with_fallthrough(66:int) [line 25, column 38]\n *&return:int=(1 / (n$0 - 3)) [line 25, column 26]\n " shape="box"] "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_3" -> "test_fallthrough#10031967177420807224.9a3ad886bb67a8e65c703cdc289f5661_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot index d54d9b138..18d00b616 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/builtin/new.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_2" [label="2: Exit operator_new \n " color=yellow style=filled] -"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" [label="3: Return Stmt \n n$0=*&ptr2:void* [line 21, column 10]\n *&return:void*=n$0 [line 21, column 3]\n NULLIFY(&ptr2); [line 21, column 3]\n EXIT_SCOPE(n$0,ptr2); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" [label="3: Return Stmt \n n$0=*&ptr2:void* [line 21, column 10]\n *&return:void*=n$0 [line 21, column 3]\n " shape="box"] "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_3" -> "operator_new#13351464032276683690.f7532bbe196cdd8520d944e0c3e1f7b4_2" ; @@ -18,19 +18,19 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call delete \n n$0=*&i:int* [line 12, column 10]\n n$1=_fun___delete(n$0:int*) [line 12, column 3]\n NULLIFY(&i); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,i); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call delete \n n$0=*&i:int* [line 12, column 10]\n n$1=_fun___delete(n$0:int*) [line 12, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 11, column 3]\n EXIT_SCOPE(n$2); [line 11, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: CXXNewExpr \n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 11, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int*); [line 10, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 10, column 12]\n *&i:int*=n$3 [line 10, column 3]\n EXIT_SCOPE(n$3); [line 10, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int*); [line 10, column 3]\n n$3=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 10, column 12]\n *&i:int*=n$3 [line 10, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=2 [line 9, column 3]\n NULLIFY(&x); [line 9, column 3]\n EXIT_SCOPE(x); [line 9, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=2 [line 9, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; @@ -41,7 +41,7 @@ digraph cfg { "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_2" [label="2: Exit test_placement \n " color=yellow style=filled] -"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:A*); [line 24, column 45]\n n$2=*&ptr:void* [line 24, column 60]\n n$0=*&ptr2:int* [line 24, column 65]\n *&ptr2:int*=(n$0 + 1) [line 24, column 65]\n n$1=*&ptr2:int* [line 24, column 65]\n n$3=_fun___placement_new(sizeof(t=A):unsigned long,n$2:void*,n$1:void*) [line 24, column 55]\n n$4=_fun_A::A(n$3:A*) [line 24, column 73]\n *&p:A*=n$3 [line 24, column 45]\n NULLIFY(&ptr2); [line 24, column 45]\n NULLIFY(&ptr); [line 24, column 45]\n NULLIFY(&p); [line 24, column 45]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,ptr2,ptr,p); [line 24, column 45]\n APPLY_ABSTRACTION; [line 24, column 45]\n " shape="box"] +"test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:A*); [line 24, column 45]\n n$2=*&ptr:void* [line 24, column 60]\n n$0=*&ptr2:int* [line 24, column 65]\n *&ptr2:int*=(n$0 + 1) [line 24, column 65]\n n$1=*&ptr2:int* [line 24, column 65]\n n$3=_fun___placement_new(sizeof(t=A):unsigned long,n$2:void*,n$1:void*) [line 24, column 55]\n n$4=_fun_A::A(n$3:A*) [line 24, column 73]\n *&p:A*=n$3 [line 24, column 45]\n " shape="box"] "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_3" -> "test_placement#7589029240520377616.7f92d4e10c030674dddd1682731c0ba3_2" ; 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 54586bebf..b1a06fdd1 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/break_scope.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_1" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_2" [label="2: Exit break_scope::test_do_while \n NULLIFY(&x3); [line 89, column 1]\n NULLIFY(&x1); [line 89, column 1]\n NULLIFY(&x4); [line 89, column 1]\n NULLIFY(&x2); [line 89, column 1]\n " color=yellow style=filled] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_2" [label="2: Exit break_scope::test_do_while \n " color=yellow style=filled] -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" [label="3: Destruction(Scope) \n _=*&x1:break_scope::X [line 89, column 1]\n n$1=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 89, column 1]\n EXIT_SCOPE(_,n$1,x1); [line 89, column 1]\n APPLY_ABSTRACTION; [line 89, column 1]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" [label="3: Destruction(Scope) \n _=*&x1:break_scope::X [line 89, column 1]\n n$1=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 89, column 1]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_2" ; @@ -15,15 +15,15 @@ digraph cfg { "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_4" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" [label="5: Prune (true branch, do while) \n n$3=*&a:_Bool [line 88, column 12]\n PRUNE(n$3, true); [line 88, column 12]\n EXIT_SCOPE(n$3); [line 88, column 12]\n APPLY_ABSTRACTION; [line 88, column 12]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" [label="5: Prune (true branch, do while) \n n$3=*&a:_Bool [line 88, column 12]\n PRUNE(n$3, true); [line 88, 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, do while) \n n$3=*&a:_Bool [line 88, column 12]\n PRUNE(!n$3, false); [line 88, column 12]\n NULLIFY(&a); [line 88, column 12]\n EXIT_SCOPE(n$3,a); [line 88, column 12]\n APPLY_ABSTRACTION; [line 88, column 12]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_6" [label="6: Prune (false branch, do while) \n n$3=*&a:_Bool [line 88, column 12]\n PRUNE(!n$3, false); [line 88, column 12]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_6" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_7" [label="7: Destruction(Scope) \n _=*&x2:break_scope::X [line 88, column 3]\n n$5=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 88, column 3]\n EXIT_SCOPE(_,n$5,x2); [line 88, column 3]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_7" [label="7: Destruction(Scope) \n _=*&x2:break_scope::X [line 88, column 3]\n n$5=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 88, column 3]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_7" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_5" ; @@ -32,36 +32,36 @@ 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, if) \n n$7=*&b:_Bool [line 82, column 9]\n PRUNE(n$7, true); [line 82, column 9]\n NULLIFY(&b); [line 82, column 9]\n EXIT_SCOPE(n$7,b); [line 82, column 9]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" [label="9: Prune (true branch, if) \n n$7=*&b:_Bool [line 82, column 9]\n PRUNE(n$7, true); [line 82, column 9]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_12" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" [label="10: Prune (false branch, if) \n n$7=*&b:_Bool [line 82, column 9]\n PRUNE(!n$7, false); [line 82, column 9]\n EXIT_SCOPE(n$7); [line 82, column 9]\n " shape="invhouse"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" [label="10: Prune (false branch, if) \n n$7=*&b:_Bool [line 82, column 9]\n PRUNE(!n$7, false); [line 82, column 9]\n " shape="invhouse"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_14" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_11" [label="11: Destruction(break) \n _=*&x3:break_scope::X [line 84, column 7]\n n$9=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 84, column 7]\n _=*&x2:break_scope::X [line 84, column 7]\n n$11=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 84, column 7]\n EXIT_SCOPE(_,_,n$9,n$11,x2,x3); [line 84, column 7]\n APPLY_ABSTRACTION; [line 84, column 7]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_11" [label="11: Destruction(break) \n _=*&x3:break_scope::X [line 84, column 7]\n n$9=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 84, column 7]\n _=*&x2:break_scope::X [line 84, column 7]\n n$11=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 84, column 7]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_11" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_3" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 83, column 7]\n n$13=_fun_break_scope::X::X(&x3:break_scope::X*) [line 83, column 9]\n EXIT_SCOPE(n$13); [line 83, column 9]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 83, column 7]\n n$13=_fun_break_scope::X::X(&x3:break_scope::X*) [line 83, column 9]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_12" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_11" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" [label="13: Destruction(Scope) \n _=*&x4:break_scope::X [line 87, column 5]\n n$15=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 87, column 5]\n EXIT_SCOPE(_,n$15,x4); [line 87, column 5]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" [label="13: Destruction(Scope) \n _=*&x4:break_scope::X [line 87, column 5]\n n$15=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 87, column 5]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_8" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x4:break_scope::X); [line 86, column 7]\n n$17=_fun_break_scope::X::X(&x4:break_scope::X*) [line 86, column 9]\n EXIT_SCOPE(n$17); [line 86, column 9]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x4:break_scope::X); [line 86, column 7]\n n$17=_fun_break_scope::X::X(&x4:break_scope::X*) [line 86, column 9]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_14" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_13" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 81, column 5]\n n$19=_fun_break_scope::X::X(&x2:break_scope::X*) [line 81, column 7]\n EXIT_SCOPE(n$19); [line 81, column 7]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 81, column 5]\n n$19=_fun_break_scope::X::X(&x2:break_scope::X*) [line 81, column 7]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_9" ; "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_15" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_10" ; -"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 79, column 3]\n n$21=_fun_break_scope::X::X(&x1:break_scope::X*) [line 79, column 5]\n EXIT_SCOPE(n$21); [line 79, column 5]\n APPLY_ABSTRACTION; [line 79, column 5]\n " shape="box"] +"test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 79, column 3]\n n$21=_fun_break_scope::X::X(&x1:break_scope::X*) [line 79, column 5]\n " shape="box"] "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_16" -> "test_do_while#break_scope#1068194121698893969.72aceeae2a95e32b3efdbdc08d127420_4" ; @@ -69,18 +69,18 @@ digraph cfg { "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_1" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_17" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_2" [label="2: Exit break_scope::test_for \n NULLIFY(&0$?%__sil_tmp__temp_return_n$19); [line 64, column 1]\n NULLIFY(&x2); [line 64, column 1]\n NULLIFY(&x1); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$9); [line 64, column 1]\n NULLIFY(&it); [line 64, column 1]\n NULLIFY(&vector); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$22); [line 64, column 1]\n " color=yellow style=filled] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_2" [label="2: Exit break_scope::test_for \n " color=yellow style=filled] -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_3" [label="3: Destruction(Scope) \n _=*&x2:break_scope::X [line 64, column 1]\n n$1=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 64, column 1]\n _=*&vector:break_scope::vec [line 64, column 1]\n n$3=_fun_break_scope::vec::~vec(&vector:break_scope::vec*) injected [line 64, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,vector,x2); [line 64, column 1]\n APPLY_ABSTRACTION; [line 64, column 1]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_3" [label="3: Destruction(Scope) \n _=*&x2:break_scope::X [line 64, column 1]\n n$1=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 64, column 1]\n _=*&vector:break_scope::vec [line 64, column 1]\n n$3=_fun_break_scope::vec::~vec(&vector:break_scope::vec*) injected [line 64, column 1]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_3" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_2" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 63, column 3]\n n$5=_fun_break_scope::X::X(&x2:break_scope::X*) [line 63, column 5]\n EXIT_SCOPE(n$5); [line 63, column 5]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 63, column 3]\n n$5=_fun_break_scope::X::X(&x2:break_scope::X*) [line 63, column 5]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_3" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_5" [label="5: Destruction(Scope) \n _=*&it:break_scope::iterator [line 62, column 3]\n n$7=_fun_break_scope::iterator::~iterator(&it:break_scope::iterator*) injected [line 62, column 3]\n EXIT_SCOPE(_,n$7,it); [line 62, column 3]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_5" [label="5: Destruction(Scope) \n _=*&it:break_scope::iterator [line 62, column 3]\n n$7=_fun_break_scope::iterator::~iterator(&it:break_scope::iterator*) injected [line 62, column 3]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_5" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_4" ; @@ -88,25 +88,25 @@ digraph cfg { "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_6" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" [label="7: DeclStmt \n VARIABLE_DECLARED(it:break_scope::iterator); [line 57, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator); [line 57, column 22]\n _=*&vector:break_scope::vec [line 57, column 22]\n n$15=_fun_break_scope::vec::begin(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator*) assign_last [line 57, column 22]\n n$16=_fun_break_scope::iterator::iterator(&it:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator&) [line 57, column 22]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator [line 57, column 35]\n n$11=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator*) injected [line 57, column 35]\n EXIT_SCOPE(_,_,n$11,n$15,n$16,0$?%__sil_tmpSIL_materialize_temp__n$9); [line 57, column 35]\n APPLY_ABSTRACTION; [line 57, column 35]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" [label="7: DeclStmt \n VARIABLE_DECLARED(it:break_scope::iterator); [line 57, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator); [line 57, column 22]\n _=*&vector:break_scope::vec [line 57, column 22]\n n$15=_fun_break_scope::vec::begin(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator*) assign_last [line 57, column 22]\n n$16=_fun_break_scope::iterator::iterator(&it:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator&) [line 57, column 22]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator [line 57, column 35]\n n$11=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$9:break_scope::iterator*) injected [line 57, column 35]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_6" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" [label="8: Call _fun_break_scope::iterator::operator++ \n n$20=_fun_break_scope::iterator::operator++(&it:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$19:break_scope::iterator*) assign_last [line 57, column 58]\n EXIT_SCOPE(n$20,0$?%__sil_tmp__temp_return_n$19); [line 57, column 58]\n APPLY_ABSTRACTION; [line 57, column 58]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" [label="8: Call _fun_break_scope::iterator::operator++ \n n$20=_fun_break_scope::iterator::operator++(&it:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$19:break_scope::iterator*) assign_last [line 57, column 58]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_6" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" [label="9: Call _fun_break_scope::iterator::operator!= \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$22:break_scope::iterator const ); [line 57, column 44]\n _=*&vector:break_scope::vec [line 57, column 44]\n n$25=_fun_break_scope::vec::end(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$22:break_scope::iterator*) assign_last [line 57, column 44]\n n$26=_fun_break_scope::iterator::operator!=(&it:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$22:break_scope::iterator const &) [line 57, column 38]\n EXIT_SCOPE(_,n$25,0$?%__sil_tmpSIL_materialize_temp__n$22); [line 57, column 38]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" [label="9: Call _fun_break_scope::iterator::operator!= \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$22:break_scope::iterator const ); [line 57, column 44]\n _=*&vector:break_scope::vec [line 57, column 44]\n n$25=_fun_break_scope::vec::end(&vector:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$22:break_scope::iterator*) assign_last [line 57, column 44]\n n$26=_fun_break_scope::iterator::operator!=(&it:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$22:break_scope::iterator const &) [line 57, column 38]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" ; "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_9" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_11" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" [label="10: Prune (true branch, for loop) \n PRUNE(n$26, true); [line 57, column 38]\n EXIT_SCOPE(n$26); [line 57, column 38]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" [label="10: Prune (true branch, for loop) \n PRUNE(n$26, true); [line 57, column 38]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" ; "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_10" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_14" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_11" [label="11: Prune (false branch, for loop) \n PRUNE(!n$26, false); [line 57, column 38]\n EXIT_SCOPE(n$26); [line 57, column 38]\n APPLY_ABSTRACTION; [line 57, column 38]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_11" [label="11: Prune (false branch, for loop) \n PRUNE(!n$26, false); [line 57, column 38]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_11" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_5" ; @@ -114,23 +114,23 @@ digraph cfg { "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_8" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" [label="13: Prune (true branch, if) \n n$27=*&b:_Bool [line 58, column 9]\n PRUNE(n$27, true); [line 58, column 9]\n NULLIFY(&b); [line 58, column 9]\n EXIT_SCOPE(n$27,b); [line 58, column 9]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" [label="13: Prune (true branch, if) \n n$27=*&b:_Bool [line 58, column 9]\n PRUNE(n$27, true); [line 58, column 9]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_13" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_14" [label="14: Prune (false branch, if) \n n$27=*&b:_Bool [line 58, column 9]\n PRUNE(!n$27, false); [line 58, column 9]\n EXIT_SCOPE(n$27); [line 58, column 9]\n " shape="invhouse"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_14" [label="14: Prune (false branch, if) \n n$27=*&b:_Bool [line 58, column 9]\n PRUNE(!n$27, false); [line 58, column 9]\n " shape="invhouse"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_14" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_12" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_15" [label="15: Destruction(break) \n _=*&x1:break_scope::X [line 60, column 7]\n n$29=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 60, column 7]\n EXIT_SCOPE(_,n$29,x1); [line 60, column 7]\n APPLY_ABSTRACTION; [line 60, column 7]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_15" [label="15: Destruction(break) \n _=*&x1:break_scope::X [line 60, column 7]\n n$29=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 60, column 7]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_15" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_5" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 59, column 7]\n n$31=_fun_break_scope::X::X(&x1:break_scope::X*) [line 59, column 9]\n EXIT_SCOPE(n$31); [line 59, column 9]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 59, column 7]\n n$31=_fun_break_scope::X::X(&x1:break_scope::X*) [line 59, column 9]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_16" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_15" ; -"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_17" [label="17: DeclStmt \n VARIABLE_DECLARED(vector:break_scope::vec); [line 56, column 3]\n n$35=_fun_break_scope::vec::vec(&vector:break_scope::vec*) [line 56, column 7]\n EXIT_SCOPE(n$35); [line 56, column 7]\n " shape="box"] +"test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_17" [label="17: DeclStmt \n VARIABLE_DECLARED(vector:break_scope::vec); [line 56, column 3]\n n$35=_fun_break_scope::vec::vec(&vector:break_scope::vec*) [line 56, column 7]\n " shape="box"] "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_17" -> "test_for#break_scope#12580813866832058675.4c62e98ea10322d216af5dcd2cfbde37_7" ; @@ -138,14 +138,14 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_1" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_2" [label="2: Exit break_scope::test_for_range \n NULLIFY(&vector); [line 53, column 1]\n NULLIFY(&__begin1); [line 53, column 1]\n NULLIFY(&__end1); [line 53, column 1]\n NULLIFY(&x2); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$30); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$19); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$10); [line 53, column 1]\n NULLIFY(&x1); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$43); [line 53, column 1]\n NULLIFY(&x); [line 53, column 1]\n " color=yellow style=filled] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_2" [label="2: Exit break_scope::test_for_range \n " color=yellow style=filled] -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" [label="3: Destruction(Scope) \n _=*&x1:break_scope::X [line 53, column 1]\n n$1=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 53, column 1]\n _=*&vector:break_scope::vec [line 53, column 1]\n n$3=_fun_break_scope::vec::~vec(&vector:break_scope::vec*) injected [line 53, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x1,vector); [line 53, column 1]\n APPLY_ABSTRACTION; [line 53, column 1]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" [label="3: Destruction(Scope) \n _=*&x1:break_scope::X [line 53, column 1]\n n$1=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 53, column 1]\n _=*&vector:break_scope::vec [line 53, column 1]\n n$3=_fun_break_scope::vec::~vec(&vector:break_scope::vec*) injected [line 53, column 1]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_2" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_4" [label="4: Destruction(Scope) \n _=*&__end1:break_scope::iterator [line 52, column 3]\n n$6=_fun_break_scope::iterator::~iterator(&__end1:break_scope::iterator*) injected [line 52, column 3]\n _=*&__begin1:break_scope::iterator [line 52, column 3]\n n$8=_fun_break_scope::iterator::~iterator(&__begin1:break_scope::iterator*) injected [line 52, column 3]\n EXIT_SCOPE(_,_,n$6,n$8,__end1,__begin1); [line 52, column 3]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_4" [label="4: Destruction(Scope) \n _=*&__end1:break_scope::iterator [line 52, column 3]\n n$6=_fun_break_scope::iterator::~iterator(&__end1:break_scope::iterator*) injected [line 52, column 3]\n _=*&__begin1:break_scope::iterator [line 52, column 3]\n n$8=_fun_break_scope::iterator::~iterator(&__begin1:break_scope::iterator*) injected [line 52, column 3]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_4" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_3" ; @@ -153,15 +153,15 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_5" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_6" [label="6: DeclStmt \n VARIABLE_DECLARED(__end1:break_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator); [line 47, column 12]\n n$14=*&__range1:break_scope::vec& [line 47, column 12]\n _=*n$14:break_scope::vec [line 47, column 12]\n n$17=_fun_break_scope::vec::end(n$14:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator*) assign_last [line 47, column 12]\n n$18=_fun_break_scope::iterator::iterator(&__end1:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator&) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator [line 47, column 12]\n n$12=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator*) injected [line 47, column 12]\n NULLIFY(&__range1); [line 47, column 12]\n EXIT_SCOPE(_,_,n$12,n$14,n$17,n$18,__range1,0$?%__sil_tmpSIL_materialize_temp__n$10); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_6" [label="6: DeclStmt \n VARIABLE_DECLARED(__end1:break_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator); [line 47, column 12]\n n$14=*&__range1:break_scope::vec& [line 47, column 12]\n _=*n$14:break_scope::vec [line 47, column 12]\n n$17=_fun_break_scope::vec::end(n$14:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator*) assign_last [line 47, column 12]\n n$18=_fun_break_scope::iterator::iterator(&__end1:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator&) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator [line 47, column 12]\n n$12=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$10:break_scope::iterator*) injected [line 47, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_6" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_5" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" [label="7: DeclStmt \n VARIABLE_DECLARED(__begin1:break_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator); [line 47, column 12]\n n$23=*&__range1:break_scope::vec& [line 47, column 12]\n _=*n$23:break_scope::vec [line 47, column 12]\n n$26=_fun_break_scope::vec::begin(n$23:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator*) assign_last [line 47, column 12]\n n$27=_fun_break_scope::iterator::iterator(&__begin1:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator&) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator [line 47, column 12]\n n$21=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator*) injected [line 47, column 12]\n EXIT_SCOPE(_,_,n$21,n$23,n$26,n$27,0$?%__sil_tmpSIL_materialize_temp__n$19); [line 47, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" [label="7: DeclStmt \n VARIABLE_DECLARED(__begin1:break_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator); [line 47, column 12]\n n$23=*&__range1:break_scope::vec& [line 47, column 12]\n _=*n$23:break_scope::vec [line 47, column 12]\n n$26=_fun_break_scope::vec::begin(n$23:break_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator*) assign_last [line 47, column 12]\n n$27=_fun_break_scope::iterator::iterator(&__begin1:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator&) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator [line 47, column 12]\n n$21=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$19:break_scope::iterator*) injected [line 47, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_6" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" [label="8: Call _fun_break_scope::iterator::operator++ \n n$31=_fun_break_scope::iterator::operator++(&__begin1:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$30:break_scope::iterator*) assign_last [line 47, column 12]\n EXIT_SCOPE(n$31,0$?%__sil_tmp__temp_return_n$30); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" [label="8: Call _fun_break_scope::iterator::operator++ \n n$31=_fun_break_scope::iterator::operator++(&__begin1:break_scope::iterator&,&0$?%__sil_tmp__temp_return_n$30:break_scope::iterator*) assign_last [line 47, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_5" ; @@ -170,11 +170,11 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" ; "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_9" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_11" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" [label="10: Prune (true branch, for loop) \n PRUNE(n$33, true); [line 47, column 12]\n EXIT_SCOPE(n$33); [line 47, column 12]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" [label="10: Prune (true branch, for loop) \n PRUNE(n$33, true); [line 47, column 12]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_10" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_11" [label="11: Prune (false branch, for loop) \n PRUNE(!n$33, false); [line 47, column 12]\n EXIT_SCOPE(n$33); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_11" [label="11: Prune (false branch, for loop) \n PRUNE(!n$33, false); [line 47, column 12]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_11" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_4" ; @@ -182,23 +182,23 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_8" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" [label="13: Prune (true branch, if) \n n$34=*&b:_Bool [line 48, column 9]\n PRUNE(n$34, true); [line 48, column 9]\n NULLIFY(&b); [line 48, column 9]\n EXIT_SCOPE(n$34,b); [line 48, column 9]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" [label="13: Prune (true branch, if) \n n$34=*&b:_Bool [line 48, column 9]\n PRUNE(n$34, true); [line 48, column 9]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_14" [label="14: Prune (false branch, if) \n n$34=*&b:_Bool [line 48, column 9]\n PRUNE(!n$34, false); [line 48, column 9]\n EXIT_SCOPE(n$34,x); [line 48, column 9]\n " shape="invhouse"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_14" [label="14: Prune (false branch, if) \n n$34=*&b:_Bool [line 48, column 9]\n PRUNE(!n$34, false); [line 48, column 9]\n " shape="invhouse"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_14" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_12" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_15" [label="15: Destruction(break) \n _=*&x2:break_scope::X [line 50, column 7]\n n$36=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 50, column 7]\n _=*&x:break_scope::X [line 50, column 7]\n n$38=_fun_break_scope::X::~X(&x:break_scope::X*) injected [line 50, column 7]\n EXIT_SCOPE(_,_,n$36,n$38,x,x2); [line 50, column 7]\n APPLY_ABSTRACTION; [line 50, column 7]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_15" [label="15: Destruction(break) \n _=*&x2:break_scope::X [line 50, column 7]\n n$36=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 50, column 7]\n _=*&x:break_scope::X [line 50, column 7]\n n$38=_fun_break_scope::X::~X(&x:break_scope::X*) injected [line 50, column 7]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_15" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_4" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 49, column 7]\n n$40=_fun_break_scope::X::X(&x2:break_scope::X*,&x:break_scope::X&) [line 49, column 14]\n EXIT_SCOPE(n$40); [line 49, column 14]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 49, column 7]\n n$40=_fun_break_scope::X::X(&x2:break_scope::X*,&x:break_scope::X&) [line 49, column 14]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_16" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_15" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" [label="17: DeclStmt \n VARIABLE_DECLARED(x:break_scope::X); [line 47, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X const ); [line 47, column 12]\n n$49=_fun_break_scope::iterator::operator*(&__begin1:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X*) assign_last [line 47, column 12]\n n$50=_fun_break_scope::X::X(&x:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X const &) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X const [line 47, column 12]\n n$45=_fun_break_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X const *) injected [line 47, column 12]\n EXIT_SCOPE(_,n$45,n$49,n$50,0$?%__sil_tmpSIL_materialize_temp__n$43); [line 47, column 12]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" [label="17: DeclStmt \n VARIABLE_DECLARED(x:break_scope::X); [line 47, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X const ); [line 47, column 12]\n n$49=_fun_break_scope::iterator::operator*(&__begin1:break_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X*) assign_last [line 47, column 12]\n n$50=_fun_break_scope::X::X(&x:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X const &) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X const [line 47, column 12]\n n$45=_fun_break_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$43:break_scope::X const *) injected [line 47, column 12]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_17" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_13" ; @@ -207,11 +207,11 @@ digraph cfg { "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_18" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_7" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 46, column 3]\n n$52=_fun_break_scope::X::X(&x1:break_scope::X*) [line 46, column 5]\n EXIT_SCOPE(n$52); [line 46, column 5]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 46, column 3]\n n$52=_fun_break_scope::X::X(&x1:break_scope::X*) [line 46, column 5]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_18" ; -"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" [label="20: DeclStmt \n VARIABLE_DECLARED(vector:break_scope::vec); [line 45, column 3]\n n$53=_fun_break_scope::vec::vec(&vector:break_scope::vec*) [line 45, column 7]\n EXIT_SCOPE(n$53); [line 45, column 7]\n " shape="box"] +"test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" [label="20: DeclStmt \n VARIABLE_DECLARED(vector:break_scope::vec); [line 45, column 3]\n n$53=_fun_break_scope::vec::vec(&vector:break_scope::vec*) [line 45, column 7]\n " shape="box"] "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_20" -> "test_for_range#break_scope#2115859683356214080.ad34c277f8d086eb0a22c75fc80fb235_19" ; @@ -219,55 +219,55 @@ digraph cfg { "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_1" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_2" [label="2: Exit break_scope::test_switch \n NULLIFY(&x4); [line 128, column 1]\n NULLIFY(&x5); [line 128, column 1]\n NULLIFY(&x1); [line 128, column 1]\n NULLIFY(&x3); [line 128, column 1]\n NULLIFY(&x2); [line 128, column 1]\n " color=yellow style=filled] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_2" [label="2: Exit break_scope::test_switch \n " color=yellow style=filled] -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_3" [label="3: Destruction(Scope) \n _=*&x5:break_scope::X [line 128, column 1]\n n$1=_fun_break_scope::X::~X(&x5:break_scope::X*) injected [line 128, column 1]\n _=*&x1:break_scope::X [line 128, column 1]\n n$3=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 128, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x1,x5); [line 128, column 1]\n APPLY_ABSTRACTION; [line 128, column 1]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_3" [label="3: Destruction(Scope) \n _=*&x5:break_scope::X [line 128, column 1]\n n$1=_fun_break_scope::X::~X(&x5:break_scope::X*) injected [line 128, column 1]\n _=*&x1:break_scope::X [line 128, column 1]\n n$3=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 128, column 1]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_3" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_2" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x5:break_scope::X); [line 127, column 3]\n n$5=_fun_break_scope::X::X(&x5:break_scope::X*) [line 127, column 5]\n EXIT_SCOPE(n$5); [line 127, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x5:break_scope::X); [line 127, column 3]\n n$5=_fun_break_scope::X::X(&x5:break_scope::X*) [line 127, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_3" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" [label="5: SwitchStmt \n n$6=*&n:int [line 115, column 11]\n NULLIFY(&n); [line 115, column 11]\n EXIT_SCOPE(n); [line 115, column 11]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" [label="5: SwitchStmt \n n$6=*&n:int [line 115, column 11]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" ; "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" [label="6: Destruction(Scope) \n _=*&x4:break_scope::X [line 125, column 5]\n n$8=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 125, column 5]\n EXIT_SCOPE(_,n$8,x4); [line 125, column 5]\n APPLY_ABSTRACTION; [line 125, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" [label="6: Destruction(Scope) \n _=*&x4:break_scope::X [line 125, column 5]\n n$8=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 125, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x4:break_scope::X); [line 124, column 7]\n n$10=_fun_break_scope::X::X(&x4:break_scope::X*) [line 124, column 9]\n EXIT_SCOPE(n$10); [line 124, column 9]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x4:break_scope::X); [line 124, column 7]\n n$10=_fun_break_scope::X::X(&x4:break_scope::X*) [line 124, column 9]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_6" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" [label="8: Destruction(break) \n _=*&x3:break_scope::X [line 121, column 7]\n n$12=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 121, column 7]\n EXIT_SCOPE(_,n$12,x3); [line 121, column 7]\n APPLY_ABSTRACTION; [line 121, column 7]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" [label="8: Destruction(break) \n _=*&x3:break_scope::X [line 121, column 7]\n n$12=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 121, column 7]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 120, column 7]\n n$14=_fun_break_scope::X::X(&x3:break_scope::X*) [line 120, column 9]\n EXIT_SCOPE(n$14); [line 120, column 9]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" [label="9: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 120, column 7]\n n$14=_fun_break_scope::X::X(&x3:break_scope::X*) [line 120, column 9]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_8" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" [label="10: Destruction(Scope) \n _=*&x2:break_scope::X [line 118, column 5]\n n$16=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 118, column 5]\n EXIT_SCOPE(_,n$16,x2); [line 118, column 5]\n APPLY_ABSTRACTION; [line 118, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" [label="10: Destruction(Scope) \n _=*&x2:break_scope::X [line 118, column 5]\n n$16=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 118, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 117, column 7]\n n$18=_fun_break_scope::X::X(&x2:break_scope::X*) [line 117, column 9]\n EXIT_SCOPE(n$18); [line 117, column 9]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 117, column 7]\n n$18=_fun_break_scope::X::X(&x2:break_scope::X*) [line 117, column 9]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_10" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" [label="12: Prune (true branch, switch) \n PRUNE((n$6 == 3), true); [line 123, column 5]\n EXIT_SCOPE(n$6); [line 123, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" [label="12: Prune (true branch, switch) \n PRUNE((n$6 == 3), true); [line 123, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_7" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$6 == 3), false); [line 123, column 5]\n EXIT_SCOPE(n$6); [line 123, column 5]\n APPLY_ABSTRACTION; [line 123, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" [label="13: Prune (false branch, switch) \n PRUNE(!(n$6 == 3), false); [line 123, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_4" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" [label="14: Prune (true branch, switch) \n PRUNE((n$6 == 2), true); [line 119, column 5]\n EXIT_SCOPE(n$6); [line 119, column 5]\n APPLY_ABSTRACTION; [line 119, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" [label="14: Prune (true branch, switch) \n PRUNE((n$6 == 2), true); [line 119, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_9" ; @@ -276,7 +276,7 @@ digraph cfg { "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_12" ; "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_13" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" [label="16: Prune (true branch, switch) \n PRUNE((n$6 == 1), true); [line 116, column 5]\n EXIT_SCOPE(n$6); [line 116, column 5]\n " shape="invhouse"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" [label="16: Prune (true branch, switch) \n PRUNE((n$6 == 1), true); [line 116, column 5]\n " shape="invhouse"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_16" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_11" ; @@ -285,7 +285,7 @@ digraph cfg { "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_14" ; "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_17" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_15" ; -"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" [label="18: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 114, column 3]\n n$20=_fun_break_scope::X::X(&x1:break_scope::X*) [line 114, column 5]\n EXIT_SCOPE(n$20); [line 114, column 5]\n " shape="box"] +"test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" [label="18: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 114, column 3]\n n$20=_fun_break_scope::X::X(&x1:break_scope::X*) [line 114, column 5]\n " shape="box"] "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_18" -> "test_switch#break_scope#5012999682930893305.43ca855443a5fa68fa701447a90f7a1f_5" ; @@ -293,10 +293,10 @@ digraph cfg { "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_1" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_2" [label="2: Exit break_scope::test_while1 \n NULLIFY(&x2); [line 76, column 1]\n NULLIFY(&x1); [line 76, column 1]\n NULLIFY(&x4); [line 76, column 1]\n " color=yellow style=filled] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_2" [label="2: Exit break_scope::test_while1 \n " color=yellow style=filled] -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" [label="3: Destruction(Scope) \n _=*&x1:break_scope::X [line 76, column 1]\n n$1=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 76, column 1]\n EXIT_SCOPE(_,n$1,x1); [line 76, column 1]\n APPLY_ABSTRACTION; [line 76, column 1]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" [label="3: Destruction(Scope) \n _=*&x1:break_scope::X [line 76, column 1]\n n$1=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 76, column 1]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_2" ; @@ -305,12 +305,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, while) \n n$3=*&a:_Bool [line 68, column 10]\n PRUNE(n$3, true); [line 68, column 10]\n EXIT_SCOPE(n$3); [line 68, column 10]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_5" [label="5: Prune (true branch, while) \n n$3=*&a:_Bool [line 68, column 10]\n PRUNE(n$3, true); [line 68, 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, while) \n n$3=*&a:_Bool [line 68, column 10]\n PRUNE(!n$3, false); [line 68, column 10]\n NULLIFY(&a); [line 68, column 10]\n EXIT_SCOPE(n$3,a); [line 68, column 10]\n APPLY_ABSTRACTION; [line 68, column 10]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" [label="6: Prune (false branch, while) \n n$3=*&a:_Bool [line 68, column 10]\n PRUNE(!n$3, false); [line 68, column 10]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_6" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" ; @@ -318,31 +318,31 @@ 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, if) \n n$4=*&b:_Bool [line 69, column 9]\n PRUNE(n$4, true); [line 69, column 9]\n NULLIFY(&b); [line 69, column 9]\n EXIT_SCOPE(n$4,b); [line 69, column 9]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" [label="8: Prune (true branch, if) \n n$4=*&b:_Bool [line 69, column 9]\n PRUNE(n$4, true); [line 69, column 9]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_8" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_11" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" [label="9: Prune (false branch, if) \n n$4=*&b:_Bool [line 69, column 9]\n PRUNE(!n$4, false); [line 69, column 9]\n EXIT_SCOPE(n$4); [line 69, column 9]\n " shape="invhouse"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" [label="9: Prune (false branch, if) \n n$4=*&b:_Bool [line 69, column 9]\n PRUNE(!n$4, false); [line 69, column 9]\n " shape="invhouse"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_9" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_13" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_10" [label="10: Destruction(break) \n _=*&x2:break_scope::X [line 71, column 7]\n n$6=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 71, column 7]\n EXIT_SCOPE(_,n$6,x2); [line 71, column 7]\n APPLY_ABSTRACTION; [line 71, column 7]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_10" [label="10: Destruction(break) \n _=*&x2:break_scope::X [line 71, column 7]\n n$6=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 71, column 7]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_10" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_3" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 70, column 7]\n n$8=_fun_break_scope::X::X(&x2:break_scope::X*) [line 70, column 9]\n EXIT_SCOPE(n$8); [line 70, column 9]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 70, column 7]\n n$8=_fun_break_scope::X::X(&x2:break_scope::X*) [line 70, column 9]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_11" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_10" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" [label="12: Destruction(Scope) \n _=*&x4:break_scope::X [line 74, column 5]\n n$10=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 74, column 5]\n EXIT_SCOPE(_,n$10,x4); [line 74, column 5]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" [label="12: Destruction(Scope) \n _=*&x4:break_scope::X [line 74, column 5]\n n$10=_fun_break_scope::X::~X(&x4:break_scope::X*) injected [line 74, column 5]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_7" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x4:break_scope::X); [line 73, column 7]\n n$12=_fun_break_scope::X::X(&x4:break_scope::X*) [line 73, column 9]\n EXIT_SCOPE(n$12); [line 73, column 9]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x4:break_scope::X); [line 73, column 7]\n n$12=_fun_break_scope::X::X(&x4:break_scope::X*) [line 73, column 9]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_13" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_12" ; -"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 67, column 3]\n n$15=_fun_break_scope::X::X(&x1:break_scope::X*) [line 67, column 5]\n EXIT_SCOPE(n$15); [line 67, column 5]\n APPLY_ABSTRACTION; [line 67, column 5]\n " shape="box"] +"test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 67, column 3]\n n$15=_fun_break_scope::X::X(&x1:break_scope::X*) [line 67, column 5]\n " shape="box"] "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_14" -> "test_while1#break_scope#17740518799763849642.b3409b963f3ece06bd5b04dd968e5c61_4" ; @@ -350,10 +350,10 @@ digraph cfg { "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_1" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_2" [label="2: Exit break_scope::test_while2 \n NULLIFY(&x2); [line 100, column 1]\n NULLIFY(&x1); [line 100, column 1]\n NULLIFY(&x3); [line 100, column 1]\n " color=yellow style=filled] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_2" [label="2: Exit break_scope::test_while2 \n " color=yellow style=filled] -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_3" [label="3: Destruction(Scope) \n _=*&x1:break_scope::X [line 100, column 1]\n n$1=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 100, column 1]\n EXIT_SCOPE(_,n$1,x1); [line 100, column 1]\n APPLY_ABSTRACTION; [line 100, column 1]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_3" [label="3: Destruction(Scope) \n _=*&x1:break_scope::X [line 100, column 1]\n n$1=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 100, column 1]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_3" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_2" ; @@ -362,15 +362,15 @@ 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, while) \n n$3=*&a:_Bool [line 93, column 10]\n PRUNE(n$3, true); [line 93, column 10]\n EXIT_SCOPE(n$3); [line 93, column 10]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" [label="5: Prune (true branch, while) \n n$3=*&a:_Bool [line 93, column 10]\n PRUNE(n$3, true); [line 93, column 10]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_5" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" [label="6: Prune (false branch, while) \n n$3=*&a:_Bool [line 93, column 10]\n PRUNE(!n$3, false); [line 93, column 10]\n NULLIFY(&a); [line 93, column 10]\n EXIT_SCOPE(n$3,a); [line 93, column 10]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" [label="6: Prune (false branch, while) \n n$3=*&a:_Bool [line 93, column 10]\n PRUNE(!n$3, false); [line 93, column 10]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_6" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_3" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" [label="7: Destruction(Scope) \n _=*&x2:break_scope::X [line 99, column 3]\n n$5=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 99, column 3]\n EXIT_SCOPE(_,n$5,x2); [line 99, column 3]\n APPLY_ABSTRACTION; [line 99, column 3]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" [label="7: Destruction(Scope) \n _=*&x2:break_scope::X [line 99, column 3]\n n$5=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 99, column 3]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_4" ; @@ -379,27 +379,27 @@ 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, while) \n n$7=*&b:_Bool [line 95, column 12]\n PRUNE(n$7, true); [line 95, column 12]\n EXIT_SCOPE(n$7); [line 95, column 12]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" [label="9: Prune (true branch, while) \n n$7=*&b:_Bool [line 95, column 12]\n PRUNE(n$7, true); [line 95, column 12]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_9" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_12" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" [label="10: Prune (false branch, while) \n n$7=*&b:_Bool [line 95, column 12]\n PRUNE(!n$7, false); [line 95, column 12]\n EXIT_SCOPE(n$7); [line 95, column 12]\n APPLY_ABSTRACTION; [line 95, column 12]\n " shape="invhouse"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" [label="10: Prune (false branch, while) \n n$7=*&b:_Bool [line 95, column 12]\n PRUNE(!n$7, false); [line 95, column 12]\n " shape="invhouse"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_10" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_11" [label="11: Destruction(break) \n _=*&x3:break_scope::X [line 97, column 7]\n n$9=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 97, column 7]\n EXIT_SCOPE(_,n$9,x3); [line 97, column 7]\n APPLY_ABSTRACTION; [line 97, column 7]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_11" [label="11: Destruction(break) \n _=*&x3:break_scope::X [line 97, column 7]\n n$9=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 97, column 7]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_11" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_7" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 96, column 7]\n n$11=_fun_break_scope::X::X(&x3:break_scope::X*) [line 96, column 9]\n EXIT_SCOPE(n$11); [line 96, column 9]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 96, column 7]\n n$11=_fun_break_scope::X::X(&x3:break_scope::X*) [line 96, column 9]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_12" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_11" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 94, column 5]\n n$13=_fun_break_scope::X::X(&x2:break_scope::X*) [line 94, column 7]\n EXIT_SCOPE(n$13); [line 94, column 7]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 94, column 5]\n n$13=_fun_break_scope::X::X(&x2:break_scope::X*) [line 94, column 7]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_13" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_8" ; -"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 92, column 3]\n n$15=_fun_break_scope::X::X(&x1:break_scope::X*) [line 92, column 5]\n EXIT_SCOPE(n$15); [line 92, column 5]\n APPLY_ABSTRACTION; [line 92, column 5]\n " shape="box"] +"test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 92, column 3]\n n$15=_fun_break_scope::X::X(&x1:break_scope::X*) [line 92, column 5]\n " shape="box"] "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_14" -> "test_while2#break_scope#17250772168162981325.38013d039ed950814e06274bca56c75d_4" ; @@ -407,14 +407,14 @@ digraph cfg { "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_1" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_13" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_2" [label="2: Exit break_scope::test_while3 \n NULLIFY(&x1); [line 111, column 1]\n NULLIFY(&x2); [line 111, column 1]\n NULLIFY(&x3); [line 111, column 1]\n " color=yellow style=filled] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_2" [label="2: Exit break_scope::test_while3 \n " color=yellow style=filled] -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_3" [label="3: Destruction(Scope) \n _=*&x3:break_scope::X [line 111, column 1]\n n$1=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 111, column 1]\n _=*&x1:break_scope::X [line 111, column 1]\n n$3=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 111, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x3,x1); [line 111, column 1]\n APPLY_ABSTRACTION; [line 111, column 1]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_3" [label="3: Destruction(Scope) \n _=*&x3:break_scope::X [line 111, column 1]\n n$1=_fun_break_scope::X::~X(&x3:break_scope::X*) injected [line 111, column 1]\n _=*&x1:break_scope::X [line 111, column 1]\n n$3=_fun_break_scope::X::~X(&x1:break_scope::X*) injected [line 111, column 1]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_3" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_2" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 110, column 3]\n n$5=_fun_break_scope::X::X(&x3:break_scope::X*) [line 110, column 5]\n EXIT_SCOPE(n$5); [line 110, column 5]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:break_scope::X); [line 110, column 3]\n n$5=_fun_break_scope::X::X(&x3:break_scope::X*) [line 110, column 5]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_3" ; @@ -423,15 +423,15 @@ 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, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(n$6, true); [line 104, column 10]\n EXIT_SCOPE(n$6); [line 104, column 10]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_6" [label="6: Prune (true branch, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(n$6, true); [line 104, 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, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(!n$6, false); [line 104, column 10]\n NULLIFY(&a); [line 104, column 10]\n EXIT_SCOPE(n$6,a); [line 104, column 10]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" [label="7: Prune (false branch, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(!n$6, false); [line 104, column 10]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_7" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_4" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" [label="8: Destruction(Scope) \n _=*&x2:break_scope::X [line 109, column 3]\n n$8=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 109, column 3]\n EXIT_SCOPE(_,n$8,x2); [line 109, column 3]\n APPLY_ABSTRACTION; [line 109, column 3]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" [label="8: Destruction(Scope) \n _=*&x2:break_scope::X [line 109, column 3]\n n$8=_fun_break_scope::X::~X(&x2:break_scope::X*) injected [line 109, column 3]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_5" ; @@ -440,19 +440,19 @@ 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, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(n$10, true); [line 106, column 12]\n EXIT_SCOPE(n$10); [line 106, column 12]\n APPLY_ABSTRACTION; [line 106, column 12]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_10" [label="10: Prune (true branch, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(n$10, true); [line 106, 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, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(!n$10, false); [line 106, column 12]\n EXIT_SCOPE(n$10); [line 106, column 12]\n APPLY_ABSTRACTION; [line 106, column 12]\n " shape="invhouse"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" [label="11: Prune (false branch, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(!n$10, false); [line 106, column 12]\n " shape="invhouse"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_11" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_8" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 105, column 5]\n n$13=_fun_break_scope::X::X(&x2:break_scope::X*) [line 105, column 7]\n EXIT_SCOPE(n$13); [line 105, column 7]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:break_scope::X); [line 105, column 5]\n n$13=_fun_break_scope::X::X(&x2:break_scope::X*) [line 105, column 7]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_12" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_9" ; -"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 103, column 3]\n n$15=_fun_break_scope::X::X(&x1:break_scope::X*) [line 103, column 5]\n EXIT_SCOPE(n$15); [line 103, column 5]\n APPLY_ABSTRACTION; [line 103, column 5]\n " shape="box"] +"test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x1:break_scope::X); [line 103, column 3]\n n$15=_fun_break_scope::X::X(&x1:break_scope::X*) [line 103, column 5]\n " shape="box"] "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_13" -> "test_while3#break_scope#10134831914750033380.7cab458a264bff5f98e4df48e17e8d7d_5" ; @@ -484,7 +484,7 @@ digraph cfg { "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_2" [label="2: Exit break_scope::X::~X \n " color=yellow style=filled] -"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" [label="3: Destruction(virtual base) \n n$0=*&this:break_scope::X* [line 10, column 9]\n _=*n$0:break_scope::X [line 10, column 9]\n n$2=_fun_break_scope::X::__infer_inner_destructor_~X(n$0:break_scope::X*) injected [line 10, column 9]\n NULLIFY(&this); [line 10, column 9]\n EXIT_SCOPE(_,n$0,n$2,this); [line 10, column 9]\n APPLY_ABSTRACTION; [line 10, column 9]\n " shape="box"] +"~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" [label="3: Destruction(virtual base) \n n$0=*&this:break_scope::X* [line 10, column 9]\n _=*n$0:break_scope::X [line 10, column 9]\n n$2=_fun_break_scope::X::__infer_inner_destructor_~X(n$0:break_scope::X*) injected [line 10, column 9]\n " shape="box"] "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_3" -> "~X#X#break_scope#(321850372193847154).bb0579f8004d4fbf59537d5d55a8dfe9_2" ; @@ -499,28 +499,28 @@ digraph cfg { "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&this:break_scope::iterator* [line 27, column 48]\n n$2=*n$1.position:int [line 27, column 48]\n n$3=*&i2:break_scope::iterator const & [line 27, column 60]\n n$4=*n$3.position:int [line 27, column 60]\n NULLIFY(&this); [line 27, column 60]\n NULLIFY(&i2); [line 27, column 60]\n EXIT_SCOPE(n$1,n$3,this,i2); [line 27, column 60]\n " shape="box"] +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&this:break_scope::iterator* [line 27, column 48]\n n$2=*n$1.position:int [line 27, column 48]\n n$3=*&i2:break_scope::iterator const & [line 27, column 60]\n n$4=*n$3.position:int [line 27, column 60]\n " shape="box"] "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, boolean exp) \n PRUNE((n$2 != n$4), true); [line 27, column 48]\n EXIT_SCOPE(n$2,n$4); [line 27, 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 27, 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, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 27, column 48]\n EXIT_SCOPE(n$2,n$4); [line 27, 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 27, column 48]\n " shape="invhouse"] "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_6" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 27, column 48]\n APPLY_ABSTRACTION; [line 27, column 48]\n " shape="box"] +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 27, column 48]\n " shape="box"] "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_7" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 27, column 48]\n APPLY_ABSTRACTION; [line 27, column 48]\n " shape="box"] +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 27, column 48]\n " shape="box"] "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_8" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_3" ; -"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 27, column 48]\n *&return:_Bool=n$5 [line 27, column 41]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 41]\n EXIT_SCOPE(n$5,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 41]\n APPLY_ABSTRACTION; [line 27, column 41]\n " shape="box"] +"operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 27, column 48]\n *&return:_Bool=n$5 [line 27, column 41]\n " shape="box"] "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_9" -> "operator!=#iterator#break_scope#(15861647440981693631).5a328db1c01702ad115b55855603e1eb_2" ; @@ -531,11 +531,11 @@ digraph cfg { "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_2" [label="2: Exit break_scope::iterator::operator++ \n " color=yellow style=filled] -"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 24, column 5]\n n$1=*&this:break_scope::iterator* [line 24, column 13]\n n$2=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,n$1:break_scope::iterator&) [line 24, column 12]\n NULLIFY(&__return_param); [line 24, column 12]\n NULLIFY(&this); [line 24, column 12]\n EXIT_SCOPE(n$0,n$1,n$2,__return_param,this); [line 24, column 12]\n APPLY_ABSTRACTION; [line 24, column 12]\n " shape="box"] +"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 24, column 5]\n n$1=*&this:break_scope::iterator* [line 24, column 13]\n n$2=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,n$1:break_scope::iterator&) [line 24, column 12]\n " shape="box"] "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_2" ; -"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_4" [label="4: UnaryOperator \n n$3=*&this:break_scope::iterator* [line 23, column 5]\n n$4=*n$3.position:int [line 23, column 5]\n *n$3.position:int=(n$4 + 1) [line 23, column 5]\n EXIT_SCOPE(n$3,n$4); [line 23, column 5]\n " shape="box"] +"operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_4" [label="4: UnaryOperator \n n$3=*&this:break_scope::iterator* [line 23, column 5]\n n$4=*n$3.position:int [line 23, column 5]\n *n$3.position:int=(n$4 + 1) [line 23, column 5]\n " shape="box"] "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_4" -> "operator++#iterator#break_scope(class break_scope::iterator)#(2766485846133390801).12f92dbbbaf6641d4bc9bd9bd9586210_3" ; @@ -543,10 +543,10 @@ digraph cfg { "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_1" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" ; -"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_2" [label="2: Exit break_scope::iterator::operator* \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 42, column 63]\n " color=yellow style=filled] +"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_2" [label="2: Exit break_scope::iterator::operator* \n " color=yellow style=filled] -"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 42, column 33]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const ); [line 42, column 40]\n n$5=*&this:break_scope::iterator const * [line 42, column 40]\n n$6=*n$5.vector:break_scope::vec const * [line 42, column 40]\n _=*n$6:break_scope::vec const [line 42, column 40]\n n$8=*&this:break_scope::iterator const * [line 42, column 52]\n n$9=*n$8.position:int [line 42, column 52]\n n$11=_fun_break_scope::vec::get(n$6:break_scope::vec const *,n$9:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X*) assign_last [line 42, column 40]\n n$12=_fun_break_scope::X::X(n$0:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const &) [line 42, column 40]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const [line 42, column 60]\n n$3=_fun_break_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const *) injected [line 42, column 60]\n NULLIFY(&__return_param); [line 42, column 60]\n NULLIFY(&this); [line 42, column 60]\n EXIT_SCOPE(_,_,n$0,n$3,n$5,n$6,n$8,n$9,n$11,n$12,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 42, column 60]\n APPLY_ABSTRACTION; [line 42, column 60]\n " shape="box"] +"operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 42, column 33]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const ); [line 42, column 40]\n n$5=*&this:break_scope::iterator const * [line 42, column 40]\n n$6=*n$5.vector:break_scope::vec const * [line 42, column 40]\n _=*n$6:break_scope::vec const [line 42, column 40]\n n$8=*&this:break_scope::iterator const * [line 42, column 52]\n n$9=*n$8.position:int [line 42, column 52]\n n$11=_fun_break_scope::vec::get(n$6:break_scope::vec const *,n$9:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X*) assign_last [line 42, column 40]\n n$12=_fun_break_scope::X::X(n$0:break_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const &) [line 42, column 40]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const [line 42, column 60]\n n$3=_fun_break_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::X const *) injected [line 42, column 60]\n " shape="box"] "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_3" -> "operator*#iterator#break_scope(class break_scope::X)#(4328339407583570703).89adb890a0c29514eda31053987e2050_2" ; @@ -557,11 +557,11 @@ digraph cfg { "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_2" [label="2: Exit break_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:break_scope::iterator const & [line 16, column 8]\n n$3=*n$2.vector:break_scope::vec const * [line 16, column 8]\n *n$1.vector:break_scope::vec const *=n$3 [line 16, column 8]\n NULLIFY(&this); [line 16, column 8]\n NULLIFY(&__param_0); [line 16, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 16, column 8]\n APPLY_ABSTRACTION; [line 16, column 8]\n " shape="box"] +"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:break_scope::iterator const & [line 16, column 8]\n n$3=*n$2.vector:break_scope::vec const * [line 16, column 8]\n *n$1.vector:break_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_2" ; -"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_4" [label="4: Constructor Init \n n$4=*&this:break_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:break_scope::iterator const & [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n EXIT_SCOPE(n$4,n$5,n$6); [line 16, column 8]\n " shape="box"] +"iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_4" [label="4: Constructor Init \n n$4=*&this:break_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:break_scope::iterator const & [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_4" -> "iterator#iterator#break_scope#{13325232528858742422|constexpr}.df2bdd1dc650d74172db385b1dec541f_3" ; @@ -572,11 +572,11 @@ digraph cfg { "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_2" [label="2: Exit break_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 20, column 52]\n n$2=*&v:break_scope::vec const * [line 20, column 59]\n *n$1.vector:break_scope::vec const *=n$2 [line 20, column 52]\n NULLIFY(&v); [line 20, column 52]\n NULLIFY(&this); [line 20, column 52]\n EXIT_SCOPE(n$1,n$2,v,this); [line 20, column 52]\n APPLY_ABSTRACTION; [line 20, column 52]\n " shape="box"] +"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 20, column 52]\n n$2=*&v:break_scope::vec const * [line 20, column 59]\n *n$1.vector:break_scope::vec const *=n$2 [line 20, column 52]\n " shape="box"] "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_2" ; -"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_4" [label="4: Constructor Init \n n$3=*&this:break_scope::iterator* [line 20, column 37]\n n$4=*&pos:int [line 20, column 46]\n *n$3.position:int=n$4 [line 20, column 37]\n NULLIFY(&pos); [line 20, column 37]\n EXIT_SCOPE(n$3,n$4,pos); [line 20, column 37]\n " shape="box"] +"iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_4" [label="4: Constructor Init \n n$3=*&this:break_scope::iterator* [line 20, column 37]\n n$4=*&pos:int [line 20, column 46]\n *n$3.position:int=n$4 [line 20, column 37]\n " shape="box"] "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_4" -> "iterator#iterator#break_scope(class break_scope::vec)#{16869174875139255019}.5bff0f8e93c62e2b970e10e384e3b9df_3" ; @@ -587,11 +587,11 @@ digraph cfg { "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_2" [label="2: Exit break_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:break_scope::iterator& [line 16, column 8]\n n$3=*n$2.vector:break_scope::vec const * [line 16, column 8]\n *n$1.vector:break_scope::vec const *=n$3 [line 16, column 8]\n NULLIFY(&this); [line 16, column 8]\n NULLIFY(&__param_0); [line 16, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 16, column 8]\n APPLY_ABSTRACTION; [line 16, column 8]\n " shape="box"] +"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" [label="3: Constructor Init \n n$1=*&this:break_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:break_scope::iterator& [line 16, column 8]\n n$3=*n$2.vector:break_scope::vec const * [line 16, column 8]\n *n$1.vector:break_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_2" ; -"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" [label="4: Constructor Init \n n$4=*&this:break_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:break_scope::iterator& [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n EXIT_SCOPE(n$4,n$5,n$6); [line 16, column 8]\n " shape="box"] +"iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" [label="4: Constructor Init \n n$4=*&this:break_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:break_scope::iterator& [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_4" -> "iterator#iterator#break_scope#{3654715460407933162|constexpr}.a69cb17d37da9b3963eb407e0dec4509_3" ; @@ -602,7 +602,7 @@ digraph cfg { "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_2" [label="2: Exit break_scope::vec::get \n " color=yellow style=filled] -"get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 37, column 26]\n n$1=*&this:break_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_break_scope::X::X(n$0:break_scope::X*,n$1._data[n$2]:break_scope::X const &) [line 37, column 33]\n NULLIFY(&__return_param); [line 37, column 33]\n NULLIFY(&pos); [line 37, column 33]\n NULLIFY(&this); [line 37, column 33]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,__return_param,pos,this); [line 37, column 33]\n APPLY_ABSTRACTION; [line 37, column 33]\n " shape="box"] +"get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::X* [line 37, column 26]\n n$1=*&this:break_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_break_scope::X::X(n$0:break_scope::X*,n$1._data[n$2]:break_scope::X const &) [line 37, column 33]\n " shape="box"] "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_3" -> "get#vec#break_scope(class break_scope::X)#(1283787980840570343).f29590f18442006705e4b1df63322511_2" ; @@ -610,10 +610,10 @@ digraph cfg { "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_1" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" ; -"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_2" [label="2: Exit break_scope::vec::end \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 47]\n " color=yellow style=filled] +"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_2" [label="2: Exit break_scope::vec::end \n " color=yellow style=filled] -"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 35, column 20]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator); [line 35, column 27]\n n$5=*&this:break_scope::vec* [line 35, column 36]\n n$6=_fun_break_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$5:break_scope::vec*,10:int) [line 35, column 27]\n n$7=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 35, column 27]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator [line 35, column 44]\n n$3=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*) injected [line 35, column 44]\n NULLIFY(&__return_param); [line 35, column 44]\n NULLIFY(&this); [line 35, column 44]\n EXIT_SCOPE(_,n$0,n$3,n$5,n$6,n$7,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 35, column 44]\n APPLY_ABSTRACTION; [line 35, column 44]\n " shape="box"] +"end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 35, column 20]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator); [line 35, column 27]\n n$5=*&this:break_scope::vec* [line 35, column 36]\n n$6=_fun_break_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$5:break_scope::vec*,10:int) [line 35, column 27]\n n$7=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 35, column 27]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator [line 35, column 44]\n n$3=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*) injected [line 35, column 44]\n " shape="box"] "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_3" -> "end#vec#break_scope(class break_scope::iterator)#(4427317924121915380).28b4ffbb5a64aa367cc424acb2a0de9b_2" ; @@ -621,10 +621,10 @@ digraph cfg { "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_1" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" ; -"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_2" [label="2: Exit break_scope::vec::begin \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 34, column 48]\n " color=yellow style=filled] +"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_2" [label="2: Exit break_scope::vec::begin \n " color=yellow style=filled] -"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 34, column 22]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator); [line 34, column 29]\n n$5=*&this:break_scope::vec* [line 34, column 38]\n n$6=_fun_break_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$5:break_scope::vec*,0:int) [line 34, column 29]\n n$7=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 34, column 29]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator [line 34, column 45]\n n$3=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*) injected [line 34, column 45]\n NULLIFY(&__return_param); [line 34, column 45]\n NULLIFY(&this); [line 34, column 45]\n EXIT_SCOPE(_,n$0,n$3,n$5,n$6,n$7,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 34, column 45]\n APPLY_ABSTRACTION; [line 34, column 45]\n " shape="box"] +"begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" [label="3: Return Stmt \n n$0=*&__return_param:break_scope::iterator* [line 34, column 22]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator); [line 34, column 29]\n n$5=*&this:break_scope::vec* [line 34, column 38]\n n$6=_fun_break_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*,n$5:break_scope::vec*,0:int) [line 34, column 29]\n n$7=_fun_break_scope::iterator::iterator(n$0:break_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator&) [line 34, column 29]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator [line 34, column 45]\n n$3=_fun_break_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:break_scope::iterator*) injected [line 34, column 45]\n " shape="box"] "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_3" -> "begin#vec#break_scope(class break_scope::iterator)#(5557509884489875894).5dac1fcfbf012c7c4e9ccd6f67cbd1ce_2" ; @@ -635,7 +635,7 @@ digraph cfg { "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_2" [label="2: Exit break_scope::vec::vec \n " color=yellow style=filled] -"vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" [label="3: Constructor Init \n n$1=*&this:break_scope::vec* [line 33, column 3]\n n$2=_fun_break_scope::X::X(n$1._data:break_scope::X[10*1](*)) [line 33, column 3]\n NULLIFY(&this); [line 33, column 3]\n EXIT_SCOPE(n$1,n$2,this); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" [label="3: Constructor Init \n n$1=*&this:break_scope::vec* [line 33, column 3]\n n$2=_fun_break_scope::X::X(n$1._data:break_scope::X[10*1](*)) [line 33, column 3]\n " shape="box"] "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_3" -> "vec#vec#break_scope#{8713994320815093146}.a7abdfa106915d365eda869e8e136554_2" ; @@ -653,7 +653,7 @@ digraph cfg { "~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_2" [label="2: Exit break_scope::vec::~vec \n " color=yellow style=filled] -"~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_3" [label="3: Destruction(virtual base) \n n$0=*&this:break_scope::vec* [line 32, column 8]\n _=*n$0:break_scope::vec [line 32, column 8]\n n$2=_fun_break_scope::vec::__infer_inner_destructor_~vec(n$0:break_scope::vec*) injected [line 32, column 8]\n NULLIFY(&this); [line 32, column 8]\n EXIT_SCOPE(_,n$0,n$2,this); [line 32, column 8]\n APPLY_ABSTRACTION; [line 32, column 8]\n " shape="box"] +"~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_3" [label="3: Destruction(virtual base) \n n$0=*&this:break_scope::vec* [line 32, column 8]\n _=*n$0:break_scope::vec [line 32, column 8]\n n$2=_fun_break_scope::vec::__infer_inner_destructor_~vec(n$0:break_scope::vec*) injected [line 32, column 8]\n " shape="box"] "~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_3" -> "~vec#vec#break_scope#(2726327876410250530).6af158139cecaa31993b3ce213ac0fe6_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot index d561f39ad..4d649bdb2 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_destructor.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "f(class Person)#3072121847520995784.d15d531febb371128c8a5206341d5cb9_2" [label="2: Exit f \n " color=yellow style=filled] -"f(class Person)#3072121847520995784.d15d531febb371128c8a5206341d5cb9_3" [label="3: Call _fun_Person::~Person \n n$0=*&p:Person* [line 13, column 21]\n _=*n$0:Person [line 13, column 21]\n n$2=_fun_Person::~Person(n$0:Person*) [line 13, column 21]\n NULLIFY(&p); [line 13, column 21]\n EXIT_SCOPE(_,n$0,n$2,p); [line 13, column 21]\n APPLY_ABSTRACTION; [line 13, column 21]\n " shape="box"] +"f(class Person)#3072121847520995784.d15d531febb371128c8a5206341d5cb9_3" [label="3: Call _fun_Person::~Person \n n$0=*&p:Person* [line 13, column 21]\n _=*n$0:Person [line 13, column 21]\n n$2=_fun_Person::~Person(n$0:Person*) [line 13, column 21]\n " shape="box"] "f(class Person)#3072121847520995784.d15d531febb371128c8a5206341d5cb9_3" -> "f(class Person)#3072121847520995784.d15d531febb371128c8a5206341d5cb9_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot index e575bb6a2..bf633d18d 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/call_on_delete.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_2" [label="2: Exit deleteInt \n " color=yellow style=filled] -"deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_3" [label="3: Call delete \n n$0=*&x:int* [line 14, column 33]\n n$1=_fun___delete(n$0:int*) [line 14, column 26]\n NULLIFY(&x); [line 14, column 26]\n EXIT_SCOPE(n$0,n$1,x); [line 14, column 26]\n APPLY_ABSTRACTION; [line 14, column 26]\n " shape="box"] +"deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_3" [label="3: Call delete \n n$0=*&x:int* [line 14, column 33]\n n$1=_fun___delete(n$0:int*) [line 14, column 26]\n " shape="box"] "deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_3" -> "deleteInt#11507157942721721842.63c462d9916f225a70cc32ed39aaaf5f_2" ; @@ -18,7 +18,7 @@ digraph cfg { "deleteX(class X)#8359832236310221055.de7d98d32d68fd20c6aec48045fd1c8e_2" [label="2: Exit deleteX \n " color=yellow style=filled] -"deleteX(class X)#8359832236310221055.de7d98d32d68fd20c6aec48045fd1c8e_3" [label="3: Call delete \n n$0=*&x:X* [line 12, column 29]\n n$1=_fun___delete(n$0:X*) [line 12, column 22]\n NULLIFY(&x); [line 12, column 22]\n EXIT_SCOPE(n$0,n$1,x); [line 12, column 22]\n APPLY_ABSTRACTION; [line 12, column 22]\n " shape="box"] +"deleteX(class X)#8359832236310221055.de7d98d32d68fd20c6aec48045fd1c8e_3" [label="3: Call delete \n n$0=*&x:X* [line 12, column 29]\n n$1=_fun___delete(n$0:X*) [line 12, column 22]\n " shape="box"] "deleteX(class X)#8359832236310221055.de7d98d32d68fd20c6aec48045fd1c8e_3" -> "deleteX(class X)#8359832236310221055.de7d98d32d68fd20c6aec48045fd1c8e_2" ; @@ -36,7 +36,7 @@ digraph cfg { "~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_2" [label="2: Exit X::~X \n " color=yellow style=filled] -"~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_3" [label="3: Destruction(virtual base) \n n$0=*&this:X* [line 9, column 9]\n _=*n$0:X [line 9, column 9]\n n$2=_fun_X::__infer_inner_destructor_~X(n$0:X*) injected [line 9, column 9]\n NULLIFY(&this); [line 9, column 9]\n EXIT_SCOPE(_,n$0,n$2,this); [line 9, column 9]\n APPLY_ABSTRACTION; [line 9, column 9]\n " shape="box"] +"~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_3" [label="3: Destruction(virtual base) \n n$0=*&this:X* [line 9, column 9]\n _=*n$0:X [line 9, column 9]\n n$2=_fun_X::__infer_inner_destructor_~X(n$0:X*) injected [line 9, column 9]\n " shape="box"] "~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_3" -> "~X#X#(9850251229546392500).92228f0925803df4b24e5d788ad29673_2" ; 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 0cd3a8735..1de119ff1 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/continue_scope.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_1" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_2" [label="2: Exit continue_scope::test_do_while \n NULLIFY(&x3); [line 89, column 1]\n NULLIFY(&x1); [line 89, column 1]\n NULLIFY(&x4); [line 89, column 1]\n NULLIFY(&x2); [line 89, column 1]\n " color=yellow style=filled] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_2" [label="2: Exit continue_scope::test_do_while \n " color=yellow style=filled] -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_3" [label="3: Destruction(Scope) \n _=*&x1:continue_scope::X [line 89, column 1]\n n$1=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 89, column 1]\n EXIT_SCOPE(_,n$1,x1); [line 89, column 1]\n APPLY_ABSTRACTION; [line 89, column 1]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_3" [label="3: Destruction(Scope) \n _=*&x1:continue_scope::X [line 89, column 1]\n n$1=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 89, column 1]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_3" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_2" ; @@ -15,15 +15,15 @@ digraph cfg { "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_4" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" [label="5: Prune (true branch, do while) \n n$3=*&a:_Bool [line 88, column 12]\n PRUNE(n$3, true); [line 88, column 12]\n EXIT_SCOPE(n$3); [line 88, column 12]\n APPLY_ABSTRACTION; [line 88, column 12]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" [label="5: Prune (true branch, do while) \n n$3=*&a:_Bool [line 88, column 12]\n PRUNE(n$3, true); [line 88, 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, do while) \n n$3=*&a:_Bool [line 88, column 12]\n PRUNE(!n$3, false); [line 88, column 12]\n NULLIFY(&a); [line 88, column 12]\n EXIT_SCOPE(n$3,a); [line 88, column 12]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" [label="6: Prune (false branch, do while) \n n$3=*&a:_Bool [line 88, column 12]\n PRUNE(!n$3, false); [line 88, column 12]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_3" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_7" [label="7: Destruction(Scope) \n _=*&x2:continue_scope::X [line 88, column 3]\n n$5=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 88, column 3]\n EXIT_SCOPE(_,n$5,x2); [line 88, column 3]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_7" [label="7: Destruction(Scope) \n _=*&x2:continue_scope::X [line 88, column 3]\n n$5=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 88, column 3]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_7" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" ; @@ -32,37 +32,37 @@ 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, if) \n n$7=*&b:_Bool [line 82, column 9]\n PRUNE(n$7, true); [line 82, column 9]\n EXIT_SCOPE(n$7); [line 82, column 9]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" [label="9: Prune (true branch, if) \n n$7=*&b:_Bool [line 82, column 9]\n PRUNE(n$7, true); [line 82, column 9]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_12" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" [label="10: Prune (false branch, if) \n n$7=*&b:_Bool [line 82, column 9]\n PRUNE(!n$7, false); [line 82, column 9]\n EXIT_SCOPE(n$7); [line 82, column 9]\n " shape="invhouse"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" [label="10: Prune (false branch, if) \n n$7=*&b:_Bool [line 82, column 9]\n PRUNE(!n$7, false); [line 82, column 9]\n " shape="invhouse"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_14" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_11" [label="11: Destruction(continue) \n _=*&x3:continue_scope::X [line 84, column 7]\n n$9=_fun_continue_scope::X::~X(&x3:continue_scope::X*) injected [line 84, column 7]\n _=*&x2:continue_scope::X [line 84, column 7]\n n$11=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 84, column 7]\n EXIT_SCOPE(_,_,n$9,n$11,x2,x3); [line 84, column 7]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_11" [label="11: Destruction(continue) \n _=*&x3:continue_scope::X [line 84, column 7]\n n$9=_fun_continue_scope::X::~X(&x3:continue_scope::X*) injected [line 84, column 7]\n _=*&x2:continue_scope::X [line 84, column 7]\n n$11=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 84, column 7]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_11" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_5" ; "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_11" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_6" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x3:continue_scope::X); [line 83, column 7]\n n$13=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 83, column 9]\n EXIT_SCOPE(n$13); [line 83, column 9]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x3:continue_scope::X); [line 83, column 7]\n n$13=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 83, column 9]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_12" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_11" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" [label="13: Destruction(Scope) \n _=*&x4:continue_scope::X [line 87, column 5]\n n$15=_fun_continue_scope::X::~X(&x4:continue_scope::X*) injected [line 87, column 5]\n EXIT_SCOPE(_,n$15,x4); [line 87, column 5]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" [label="13: Destruction(Scope) \n _=*&x4:continue_scope::X [line 87, column 5]\n n$15=_fun_continue_scope::X::~X(&x4:continue_scope::X*) injected [line 87, column 5]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_8" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x4:continue_scope::X); [line 86, column 7]\n n$17=_fun_continue_scope::X::X(&x4:continue_scope::X*) [line 86, column 9]\n EXIT_SCOPE(n$17); [line 86, column 9]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x4:continue_scope::X); [line 86, column 7]\n n$17=_fun_continue_scope::X::X(&x4:continue_scope::X*) [line 86, column 9]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_14" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_13" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 81, column 5]\n n$19=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 81, column 7]\n EXIT_SCOPE(n$19); [line 81, column 7]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" [label="15: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 81, column 5]\n n$19=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 81, column 7]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_9" ; "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_15" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_10" ; -"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 79, column 3]\n n$21=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 79, column 5]\n EXIT_SCOPE(n$21); [line 79, column 5]\n APPLY_ABSTRACTION; [line 79, column 5]\n " shape="box"] +"test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 79, column 3]\n n$21=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 79, column 5]\n " shape="box"] "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_16" -> "test_do_while#continue_scope#8999676231552324448.9fe455097ef7e757730530e9e7c09864_4" ; @@ -70,18 +70,18 @@ digraph cfg { "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_1" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_17" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_2" [label="2: Exit continue_scope::test_for \n NULLIFY(&0$?%__sil_tmp__temp_return_n$19); [line 64, column 1]\n NULLIFY(&x2); [line 64, column 1]\n NULLIFY(&x1); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$9); [line 64, column 1]\n NULLIFY(&it); [line 64, column 1]\n NULLIFY(&vector); [line 64, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$22); [line 64, column 1]\n " color=yellow style=filled] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_2" [label="2: Exit continue_scope::test_for \n " color=yellow style=filled] -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_3" [label="3: Destruction(Scope) \n _=*&x2:continue_scope::X [line 64, column 1]\n n$1=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 64, column 1]\n _=*&vector:continue_scope::vec [line 64, column 1]\n n$3=_fun_continue_scope::vec::~vec(&vector:continue_scope::vec*) injected [line 64, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,vector,x2); [line 64, column 1]\n APPLY_ABSTRACTION; [line 64, column 1]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_3" [label="3: Destruction(Scope) \n _=*&x2:continue_scope::X [line 64, column 1]\n n$1=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 64, column 1]\n _=*&vector:continue_scope::vec [line 64, column 1]\n n$3=_fun_continue_scope::vec::~vec(&vector:continue_scope::vec*) injected [line 64, column 1]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_3" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_2" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 63, column 3]\n n$5=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 63, column 5]\n EXIT_SCOPE(n$5); [line 63, column 5]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 63, column 3]\n n$5=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 63, column 5]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_3" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_5" [label="5: Destruction(Scope) \n _=*&it:continue_scope::iterator [line 62, column 3]\n n$7=_fun_continue_scope::iterator::~iterator(&it:continue_scope::iterator*) injected [line 62, column 3]\n EXIT_SCOPE(_,n$7,it); [line 62, column 3]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_5" [label="5: Destruction(Scope) \n _=*&it:continue_scope::iterator [line 62, column 3]\n n$7=_fun_continue_scope::iterator::~iterator(&it:continue_scope::iterator*) injected [line 62, column 3]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_5" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_4" ; @@ -89,25 +89,25 @@ digraph cfg { "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_6" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(it:continue_scope::iterator); [line 57, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator); [line 57, column 22]\n _=*&vector:continue_scope::vec [line 57, column 22]\n n$15=_fun_continue_scope::vec::begin(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator*) assign_last [line 57, column 22]\n n$16=_fun_continue_scope::iterator::iterator(&it:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator&) [line 57, column 22]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator [line 57, column 35]\n n$11=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator*) injected [line 57, column 35]\n EXIT_SCOPE(_,_,n$11,n$15,n$16,0$?%__sil_tmpSIL_materialize_temp__n$9); [line 57, column 35]\n APPLY_ABSTRACTION; [line 57, column 35]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(it:continue_scope::iterator); [line 57, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator); [line 57, column 22]\n _=*&vector:continue_scope::vec [line 57, column 22]\n n$15=_fun_continue_scope::vec::begin(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator*) assign_last [line 57, column 22]\n n$16=_fun_continue_scope::iterator::iterator(&it:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator&) [line 57, column 22]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator [line 57, column 35]\n n$11=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$9:continue_scope::iterator*) injected [line 57, column 35]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_6" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" [label="8: Call _fun_continue_scope::iterator::operator++ \n n$20=_fun_continue_scope::iterator::operator++(&it:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$19:continue_scope::iterator*) assign_last [line 57, column 58]\n EXIT_SCOPE(n$20,0$?%__sil_tmp__temp_return_n$19); [line 57, column 58]\n APPLY_ABSTRACTION; [line 57, column 58]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" [label="8: Call _fun_continue_scope::iterator::operator++ \n n$20=_fun_continue_scope::iterator::operator++(&it:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$19:continue_scope::iterator*) assign_last [line 57, column 58]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_6" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" [label="9: Call _fun_continue_scope::iterator::operator!= \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$22:continue_scope::iterator const ); [line 57, column 44]\n _=*&vector:continue_scope::vec [line 57, column 44]\n n$25=_fun_continue_scope::vec::end(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$22:continue_scope::iterator*) assign_last [line 57, column 44]\n n$26=_fun_continue_scope::iterator::operator!=(&it:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$22:continue_scope::iterator const &) [line 57, column 38]\n EXIT_SCOPE(_,n$25,0$?%__sil_tmpSIL_materialize_temp__n$22); [line 57, column 38]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" [label="9: Call _fun_continue_scope::iterator::operator!= \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$22:continue_scope::iterator const ); [line 57, column 44]\n _=*&vector:continue_scope::vec [line 57, column 44]\n n$25=_fun_continue_scope::vec::end(&vector:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$22:continue_scope::iterator*) assign_last [line 57, column 44]\n n$26=_fun_continue_scope::iterator::operator!=(&it:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$22:continue_scope::iterator const &) [line 57, column 38]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" ; "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_9" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_11" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" [label="10: Prune (true branch, for loop) \n PRUNE(n$26, true); [line 57, column 38]\n EXIT_SCOPE(n$26); [line 57, column 38]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" [label="10: Prune (true branch, for loop) \n PRUNE(n$26, true); [line 57, column 38]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" ; "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_10" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_14" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_11" [label="11: Prune (false branch, for loop) \n PRUNE(!n$26, false); [line 57, column 38]\n EXIT_SCOPE(n$26); [line 57, column 38]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_11" [label="11: Prune (false branch, for loop) \n PRUNE(!n$26, false); [line 57, column 38]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_11" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_5" ; @@ -115,23 +115,23 @@ digraph cfg { "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" [label="13: Prune (true branch, if) \n n$27=*&b:_Bool [line 58, column 9]\n PRUNE(n$27, true); [line 58, column 9]\n EXIT_SCOPE(n$27); [line 58, column 9]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" [label="13: Prune (true branch, if) \n n$27=*&b:_Bool [line 58, column 9]\n PRUNE(n$27, true); [line 58, column 9]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_13" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_14" [label="14: Prune (false branch, if) \n n$27=*&b:_Bool [line 58, column 9]\n PRUNE(!n$27, false); [line 58, column 9]\n EXIT_SCOPE(n$27); [line 58, column 9]\n " shape="invhouse"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_14" [label="14: Prune (false branch, if) \n n$27=*&b:_Bool [line 58, column 9]\n PRUNE(!n$27, false); [line 58, column 9]\n " shape="invhouse"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_14" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_12" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_15" [label="15: Destruction(continue) \n _=*&x1:continue_scope::X [line 60, column 7]\n n$29=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 60, column 7]\n EXIT_SCOPE(_,n$29,x1); [line 60, column 7]\n APPLY_ABSTRACTION; [line 60, column 7]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_15" [label="15: Destruction(continue) \n _=*&x1:continue_scope::X [line 60, column 7]\n n$29=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 60, column 7]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_15" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_8" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 59, column 7]\n n$31=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 59, column 9]\n EXIT_SCOPE(n$31); [line 59, column 9]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 59, column 7]\n n$31=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 59, column 9]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_16" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_15" ; -"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_17" [label="17: DeclStmt \n VARIABLE_DECLARED(vector:continue_scope::vec); [line 56, column 3]\n n$35=_fun_continue_scope::vec::vec(&vector:continue_scope::vec*) [line 56, column 7]\n EXIT_SCOPE(n$35); [line 56, column 7]\n " shape="box"] +"test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_17" [label="17: DeclStmt \n VARIABLE_DECLARED(vector:continue_scope::vec); [line 56, column 3]\n n$35=_fun_continue_scope::vec::vec(&vector:continue_scope::vec*) [line 56, column 7]\n " shape="box"] "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_17" -> "test_for#continue_scope#10203739842900202560.4cb2db668430574619fdf529fdd4af8c_7" ; @@ -139,14 +139,14 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_1" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_2" [label="2: Exit continue_scope::test_for_range \n NULLIFY(&vector); [line 53, column 1]\n NULLIFY(&__begin1); [line 53, column 1]\n NULLIFY(&__end1); [line 53, column 1]\n NULLIFY(&x2); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$30); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$19); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$10); [line 53, column 1]\n NULLIFY(&x1); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$43); [line 53, column 1]\n NULLIFY(&x); [line 53, column 1]\n " color=yellow style=filled] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_2" [label="2: Exit continue_scope::test_for_range \n " color=yellow style=filled] -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" [label="3: Destruction(Scope) \n _=*&x1:continue_scope::X [line 53, column 1]\n n$1=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 53, column 1]\n _=*&vector:continue_scope::vec [line 53, column 1]\n n$3=_fun_continue_scope::vec::~vec(&vector:continue_scope::vec*) injected [line 53, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x1,vector); [line 53, column 1]\n APPLY_ABSTRACTION; [line 53, column 1]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" [label="3: Destruction(Scope) \n _=*&x1:continue_scope::X [line 53, column 1]\n n$1=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 53, column 1]\n _=*&vector:continue_scope::vec [line 53, column 1]\n n$3=_fun_continue_scope::vec::~vec(&vector:continue_scope::vec*) injected [line 53, column 1]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_2" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_4" [label="4: Destruction(Scope) \n _=*&__end1:continue_scope::iterator [line 52, column 3]\n n$6=_fun_continue_scope::iterator::~iterator(&__end1:continue_scope::iterator*) injected [line 52, column 3]\n _=*&__begin1:continue_scope::iterator [line 52, column 3]\n n$8=_fun_continue_scope::iterator::~iterator(&__begin1:continue_scope::iterator*) injected [line 52, column 3]\n EXIT_SCOPE(_,_,n$6,n$8,__end1,__begin1); [line 52, column 3]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_4" [label="4: Destruction(Scope) \n _=*&__end1:continue_scope::iterator [line 52, column 3]\n n$6=_fun_continue_scope::iterator::~iterator(&__end1:continue_scope::iterator*) injected [line 52, column 3]\n _=*&__begin1:continue_scope::iterator [line 52, column 3]\n n$8=_fun_continue_scope::iterator::~iterator(&__begin1:continue_scope::iterator*) injected [line 52, column 3]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_4" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_3" ; @@ -154,15 +154,15 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_5" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_6" [label="6: DeclStmt \n VARIABLE_DECLARED(__end1:continue_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator); [line 47, column 12]\n n$14=*&__range1:continue_scope::vec& [line 47, column 12]\n _=*n$14:continue_scope::vec [line 47, column 12]\n n$17=_fun_continue_scope::vec::end(n$14:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator*) assign_last [line 47, column 12]\n n$18=_fun_continue_scope::iterator::iterator(&__end1:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator&) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator [line 47, column 12]\n n$12=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator*) injected [line 47, column 12]\n NULLIFY(&__range1); [line 47, column 12]\n EXIT_SCOPE(_,_,n$12,n$14,n$17,n$18,__range1,0$?%__sil_tmpSIL_materialize_temp__n$10); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_6" [label="6: DeclStmt \n VARIABLE_DECLARED(__end1:continue_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator); [line 47, column 12]\n n$14=*&__range1:continue_scope::vec& [line 47, column 12]\n _=*n$14:continue_scope::vec [line 47, column 12]\n n$17=_fun_continue_scope::vec::end(n$14:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator*) assign_last [line 47, column 12]\n n$18=_fun_continue_scope::iterator::iterator(&__end1:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator&) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator [line 47, column 12]\n n$12=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$10:continue_scope::iterator*) injected [line 47, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_6" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_5" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" [label="7: DeclStmt \n VARIABLE_DECLARED(__begin1:continue_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator); [line 47, column 12]\n n$23=*&__range1:continue_scope::vec& [line 47, column 12]\n _=*n$23:continue_scope::vec [line 47, column 12]\n n$26=_fun_continue_scope::vec::begin(n$23:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator*) assign_last [line 47, column 12]\n n$27=_fun_continue_scope::iterator::iterator(&__begin1:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator&) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator [line 47, column 12]\n n$21=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator*) injected [line 47, column 12]\n EXIT_SCOPE(_,_,n$21,n$23,n$26,n$27,0$?%__sil_tmpSIL_materialize_temp__n$19); [line 47, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" [label="7: DeclStmt \n VARIABLE_DECLARED(__begin1:continue_scope::iterator); [line 47, column 12]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator); [line 47, column 12]\n n$23=*&__range1:continue_scope::vec& [line 47, column 12]\n _=*n$23:continue_scope::vec [line 47, column 12]\n n$26=_fun_continue_scope::vec::begin(n$23:continue_scope::vec&,&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator*) assign_last [line 47, column 12]\n n$27=_fun_continue_scope::iterator::iterator(&__begin1:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator&) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator [line 47, column 12]\n n$21=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$19:continue_scope::iterator*) injected [line 47, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_6" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" [label="8: Call _fun_continue_scope::iterator::operator++ \n n$31=_fun_continue_scope::iterator::operator++(&__begin1:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$30:continue_scope::iterator*) assign_last [line 47, column 12]\n EXIT_SCOPE(n$31,0$?%__sil_tmp__temp_return_n$30); [line 47, column 12]\n APPLY_ABSTRACTION; [line 47, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" [label="8: Call _fun_continue_scope::iterator::operator++ \n n$31=_fun_continue_scope::iterator::operator++(&__begin1:continue_scope::iterator&,&0$?%__sil_tmp__temp_return_n$30:continue_scope::iterator*) assign_last [line 47, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_5" ; @@ -171,11 +171,11 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" ; "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_9" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_11" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" [label="10: Prune (true branch, for loop) \n PRUNE(n$33, true); [line 47, column 12]\n EXIT_SCOPE(n$33); [line 47, column 12]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" [label="10: Prune (true branch, for loop) \n PRUNE(n$33, true); [line 47, column 12]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_10" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_11" [label="11: Prune (false branch, for loop) \n PRUNE(!n$33, false); [line 47, column 12]\n EXIT_SCOPE(n$33); [line 47, column 12]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_11" [label="11: Prune (false branch, for loop) \n PRUNE(!n$33, false); [line 47, column 12]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_11" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_4" ; @@ -183,23 +183,23 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" [label="13: Prune (true branch, if) \n n$34=*&b:_Bool [line 48, column 9]\n PRUNE(n$34, true); [line 48, column 9]\n EXIT_SCOPE(n$34); [line 48, column 9]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" [label="13: Prune (true branch, if) \n n$34=*&b:_Bool [line 48, column 9]\n PRUNE(n$34, true); [line 48, column 9]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_14" [label="14: Prune (false branch, if) \n n$34=*&b:_Bool [line 48, column 9]\n PRUNE(!n$34, false); [line 48, column 9]\n EXIT_SCOPE(n$34,x); [line 48, column 9]\n " shape="invhouse"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_14" [label="14: Prune (false branch, if) \n n$34=*&b:_Bool [line 48, column 9]\n PRUNE(!n$34, false); [line 48, column 9]\n " shape="invhouse"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_14" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_12" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_15" [label="15: Destruction(continue) \n _=*&x2:continue_scope::X [line 50, column 7]\n n$36=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 50, column 7]\n _=*&x:continue_scope::X [line 50, column 7]\n n$38=_fun_continue_scope::X::~X(&x:continue_scope::X*) injected [line 50, column 7]\n EXIT_SCOPE(_,_,n$36,n$38,x,x2); [line 50, column 7]\n APPLY_ABSTRACTION; [line 50, column 7]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_15" [label="15: Destruction(continue) \n _=*&x2:continue_scope::X [line 50, column 7]\n n$36=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 50, column 7]\n _=*&x:continue_scope::X [line 50, column 7]\n n$38=_fun_continue_scope::X::~X(&x:continue_scope::X*) injected [line 50, column 7]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_15" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_8" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 49, column 7]\n n$40=_fun_continue_scope::X::X(&x2:continue_scope::X*,&x:continue_scope::X&) [line 49, column 14]\n EXIT_SCOPE(n$40); [line 49, column 14]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" [label="16: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 49, column 7]\n n$40=_fun_continue_scope::X::X(&x2:continue_scope::X*,&x:continue_scope::X&) [line 49, column 14]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_16" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_15" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" [label="17: DeclStmt \n VARIABLE_DECLARED(x:continue_scope::X); [line 47, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X const ); [line 47, column 12]\n n$49=_fun_continue_scope::iterator::operator*(&__begin1:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X*) assign_last [line 47, column 12]\n n$50=_fun_continue_scope::X::X(&x:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X const &) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X const [line 47, column 12]\n n$45=_fun_continue_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X const *) injected [line 47, column 12]\n EXIT_SCOPE(_,n$45,n$49,n$50,0$?%__sil_tmpSIL_materialize_temp__n$43); [line 47, column 12]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" [label="17: DeclStmt \n VARIABLE_DECLARED(x:continue_scope::X); [line 47, column 8]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X const ); [line 47, column 12]\n n$49=_fun_continue_scope::iterator::operator*(&__begin1:continue_scope::iterator&,&0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X*) assign_last [line 47, column 12]\n n$50=_fun_continue_scope::X::X(&x:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X const &) [line 47, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X const [line 47, column 12]\n n$45=_fun_continue_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$43:continue_scope::X const *) injected [line 47, column 12]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_17" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_13" ; @@ -208,11 +208,11 @@ digraph cfg { "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_18" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_7" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 46, column 3]\n n$52=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 46, column 5]\n EXIT_SCOPE(n$52); [line 46, column 5]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 46, column 3]\n n$52=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 46, column 5]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_18" ; -"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" [label="20: DeclStmt \n VARIABLE_DECLARED(vector:continue_scope::vec); [line 45, column 3]\n n$53=_fun_continue_scope::vec::vec(&vector:continue_scope::vec*) [line 45, column 7]\n EXIT_SCOPE(n$53); [line 45, column 7]\n " shape="box"] +"test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" [label="20: DeclStmt \n VARIABLE_DECLARED(vector:continue_scope::vec); [line 45, column 3]\n n$53=_fun_continue_scope::vec::vec(&vector:continue_scope::vec*) [line 45, column 7]\n " shape="box"] "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_20" -> "test_for_range#continue_scope#9937708960633325401.fa75d7368d8f711ae7e040a8b2ae1442_19" ; @@ -220,10 +220,10 @@ digraph cfg { "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_1" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_2" [label="2: Exit continue_scope::test_while1 \n NULLIFY(&x2); [line 76, column 1]\n NULLIFY(&x1); [line 76, column 1]\n NULLIFY(&x4); [line 76, column 1]\n " color=yellow style=filled] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_2" [label="2: Exit continue_scope::test_while1 \n " color=yellow style=filled] -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_3" [label="3: Destruction(Scope) \n _=*&x1:continue_scope::X [line 76, column 1]\n n$1=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 76, column 1]\n EXIT_SCOPE(_,n$1,x1); [line 76, column 1]\n APPLY_ABSTRACTION; [line 76, column 1]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_3" [label="3: Destruction(Scope) \n _=*&x1:continue_scope::X [line 76, column 1]\n n$1=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 76, column 1]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_3" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_2" ; @@ -232,12 +232,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, while) \n n$3=*&a:_Bool [line 68, column 10]\n PRUNE(n$3, true); [line 68, column 10]\n EXIT_SCOPE(n$3); [line 68, column 10]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_5" [label="5: Prune (true branch, while) \n n$3=*&a:_Bool [line 68, column 10]\n PRUNE(n$3, true); [line 68, 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, while) \n n$3=*&a:_Bool [line 68, column 10]\n PRUNE(!n$3, false); [line 68, column 10]\n NULLIFY(&a); [line 68, column 10]\n EXIT_SCOPE(n$3,a); [line 68, column 10]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" [label="6: Prune (false branch, while) \n n$3=*&a:_Bool [line 68, column 10]\n PRUNE(!n$3, false); [line 68, column 10]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_6" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_3" ; @@ -245,31 +245,31 @@ 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, if) \n n$4=*&b:_Bool [line 69, column 9]\n PRUNE(n$4, true); [line 69, column 9]\n EXIT_SCOPE(n$4); [line 69, column 9]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" [label="8: Prune (true branch, if) \n n$4=*&b:_Bool [line 69, column 9]\n PRUNE(n$4, true); [line 69, column 9]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_8" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_11" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" [label="9: Prune (false branch, if) \n n$4=*&b:_Bool [line 69, column 9]\n PRUNE(!n$4, false); [line 69, column 9]\n EXIT_SCOPE(n$4); [line 69, column 9]\n " shape="invhouse"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" [label="9: Prune (false branch, if) \n n$4=*&b:_Bool [line 69, column 9]\n PRUNE(!n$4, false); [line 69, column 9]\n " shape="invhouse"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_9" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_13" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_10" [label="10: Destruction(continue) \n _=*&x2:continue_scope::X [line 71, column 7]\n n$6=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 71, column 7]\n EXIT_SCOPE(_,n$6,x2); [line 71, column 7]\n APPLY_ABSTRACTION; [line 71, column 7]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_10" [label="10: Destruction(continue) \n _=*&x2:continue_scope::X [line 71, column 7]\n n$6=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 71, column 7]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_10" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 70, column 7]\n n$8=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 70, column 9]\n EXIT_SCOPE(n$8); [line 70, column 9]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 70, column 7]\n n$8=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 70, column 9]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_11" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_10" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" [label="12: Destruction(Scope) \n _=*&x4:continue_scope::X [line 74, column 5]\n n$10=_fun_continue_scope::X::~X(&x4:continue_scope::X*) injected [line 74, column 5]\n EXIT_SCOPE(_,n$10,x4); [line 74, column 5]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" [label="12: Destruction(Scope) \n _=*&x4:continue_scope::X [line 74, column 5]\n n$10=_fun_continue_scope::X::~X(&x4:continue_scope::X*) injected [line 74, column 5]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_7" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x4:continue_scope::X); [line 73, column 7]\n n$12=_fun_continue_scope::X::X(&x4:continue_scope::X*) [line 73, column 9]\n EXIT_SCOPE(n$12); [line 73, column 9]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x4:continue_scope::X); [line 73, column 7]\n n$12=_fun_continue_scope::X::X(&x4:continue_scope::X*) [line 73, column 9]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_13" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_12" ; -"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 67, column 3]\n n$15=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 67, column 5]\n EXIT_SCOPE(n$15); [line 67, column 5]\n APPLY_ABSTRACTION; [line 67, column 5]\n " shape="box"] +"test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 67, column 3]\n n$15=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 67, column 5]\n " shape="box"] "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_14" -> "test_while1#continue_scope#7540876780991944911.b81085ce953e1cd4f035dc0322ac5331_4" ; @@ -277,10 +277,10 @@ digraph cfg { "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_1" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_2" [label="2: Exit continue_scope::test_while2 \n NULLIFY(&x2); [line 100, column 1]\n NULLIFY(&x1); [line 100, column 1]\n NULLIFY(&x3); [line 100, column 1]\n " color=yellow style=filled] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_2" [label="2: Exit continue_scope::test_while2 \n " color=yellow style=filled] -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_3" [label="3: Destruction(Scope) \n _=*&x1:continue_scope::X [line 100, column 1]\n n$1=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 100, column 1]\n EXIT_SCOPE(_,n$1,x1); [line 100, column 1]\n APPLY_ABSTRACTION; [line 100, column 1]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_3" [label="3: Destruction(Scope) \n _=*&x1:continue_scope::X [line 100, column 1]\n n$1=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 100, column 1]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_3" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_2" ; @@ -289,15 +289,15 @@ 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, while) \n n$3=*&a:_Bool [line 93, column 10]\n PRUNE(n$3, true); [line 93, column 10]\n EXIT_SCOPE(n$3); [line 93, column 10]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" [label="5: Prune (true branch, while) \n n$3=*&a:_Bool [line 93, column 10]\n PRUNE(n$3, true); [line 93, column 10]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_5" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" [label="6: Prune (false branch, while) \n n$3=*&a:_Bool [line 93, column 10]\n PRUNE(!n$3, false); [line 93, column 10]\n NULLIFY(&a); [line 93, column 10]\n EXIT_SCOPE(n$3,a); [line 93, column 10]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" [label="6: Prune (false branch, while) \n n$3=*&a:_Bool [line 93, column 10]\n PRUNE(!n$3, false); [line 93, column 10]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_6" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_3" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_7" [label="7: Destruction(Scope) \n _=*&x2:continue_scope::X [line 99, column 3]\n n$5=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 99, column 3]\n EXIT_SCOPE(_,n$5,x2); [line 99, column 3]\n APPLY_ABSTRACTION; [line 99, column 3]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_7" [label="7: Destruction(Scope) \n _=*&x2:continue_scope::X [line 99, column 3]\n n$5=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 99, column 3]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_7" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_4" ; @@ -306,27 +306,27 @@ 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, while) \n n$7=*&b:_Bool [line 95, column 12]\n PRUNE(n$7, true); [line 95, column 12]\n EXIT_SCOPE(n$7); [line 95, column 12]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" [label="9: Prune (true branch, while) \n n$7=*&b:_Bool [line 95, column 12]\n PRUNE(n$7, true); [line 95, column 12]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_9" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_12" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" [label="10: Prune (false branch, while) \n n$7=*&b:_Bool [line 95, column 12]\n PRUNE(!n$7, false); [line 95, column 12]\n EXIT_SCOPE(n$7); [line 95, column 12]\n " shape="invhouse"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" [label="10: Prune (false branch, while) \n n$7=*&b:_Bool [line 95, column 12]\n PRUNE(!n$7, false); [line 95, column 12]\n " shape="invhouse"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_10" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_7" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_11" [label="11: Destruction(continue) \n _=*&x3:continue_scope::X [line 97, column 7]\n n$9=_fun_continue_scope::X::~X(&x3:continue_scope::X*) injected [line 97, column 7]\n EXIT_SCOPE(_,n$9,x3); [line 97, column 7]\n APPLY_ABSTRACTION; [line 97, column 7]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_11" [label="11: Destruction(continue) \n _=*&x3:continue_scope::X [line 97, column 7]\n n$9=_fun_continue_scope::X::~X(&x3:continue_scope::X*) injected [line 97, column 7]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_11" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_8" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x3:continue_scope::X); [line 96, column 7]\n n$11=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 96, column 9]\n EXIT_SCOPE(n$11); [line 96, column 9]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x3:continue_scope::X); [line 96, column 7]\n n$11=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 96, column 9]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_12" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_11" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 94, column 5]\n n$13=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 94, column 7]\n EXIT_SCOPE(n$13); [line 94, column 7]\n APPLY_ABSTRACTION; [line 94, column 7]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 94, column 5]\n n$13=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 94, column 7]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_13" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_8" ; -"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 92, column 3]\n n$15=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 92, column 5]\n EXIT_SCOPE(n$15); [line 92, column 5]\n APPLY_ABSTRACTION; [line 92, column 5]\n " shape="box"] +"test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 92, column 3]\n n$15=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 92, column 5]\n " shape="box"] "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_14" -> "test_while2#continue_scope#4169552136172626704.fb057544ed7a6c8312596f53be6b62dc_4" ; @@ -334,14 +334,14 @@ digraph cfg { "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_1" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_13" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_2" [label="2: Exit continue_scope::test_while3 \n NULLIFY(&x1); [line 111, column 1]\n NULLIFY(&x2); [line 111, column 1]\n NULLIFY(&x3); [line 111, column 1]\n " color=yellow style=filled] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_2" [label="2: Exit continue_scope::test_while3 \n " color=yellow style=filled] -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_3" [label="3: Destruction(Scope) \n _=*&x3:continue_scope::X [line 111, column 1]\n n$1=_fun_continue_scope::X::~X(&x3:continue_scope::X*) injected [line 111, column 1]\n _=*&x1:continue_scope::X [line 111, column 1]\n n$3=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 111, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x3,x1); [line 111, column 1]\n APPLY_ABSTRACTION; [line 111, column 1]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_3" [label="3: Destruction(Scope) \n _=*&x3:continue_scope::X [line 111, column 1]\n n$1=_fun_continue_scope::X::~X(&x3:continue_scope::X*) injected [line 111, column 1]\n _=*&x1:continue_scope::X [line 111, column 1]\n n$3=_fun_continue_scope::X::~X(&x1:continue_scope::X*) injected [line 111, column 1]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_3" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_2" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:continue_scope::X); [line 110, column 3]\n n$5=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 110, column 5]\n EXIT_SCOPE(n$5); [line 110, column 5]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:continue_scope::X); [line 110, column 3]\n n$5=_fun_continue_scope::X::X(&x3:continue_scope::X*) [line 110, column 5]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_3" ; @@ -350,15 +350,15 @@ 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, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(n$6, true); [line 104, column 10]\n EXIT_SCOPE(n$6); [line 104, column 10]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_6" [label="6: Prune (true branch, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(n$6, true); [line 104, 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, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(!n$6, false); [line 104, column 10]\n NULLIFY(&a); [line 104, column 10]\n EXIT_SCOPE(n$6,a); [line 104, column 10]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" [label="7: Prune (false branch, while) \n n$6=*&a:_Bool [line 104, column 10]\n PRUNE(!n$6, false); [line 104, column 10]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_7" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_4" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" [label="8: Destruction(Scope) \n _=*&x2:continue_scope::X [line 109, column 3]\n n$8=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 109, column 3]\n EXIT_SCOPE(_,n$8,x2); [line 109, column 3]\n APPLY_ABSTRACTION; [line 109, column 3]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" [label="8: Destruction(Scope) \n _=*&x2:continue_scope::X [line 109, column 3]\n n$8=_fun_continue_scope::X::~X(&x2:continue_scope::X*) injected [line 109, column 3]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_5" ; @@ -367,19 +367,19 @@ 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, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(n$10, true); [line 106, column 12]\n EXIT_SCOPE(n$10); [line 106, column 12]\n APPLY_ABSTRACTION; [line 106, column 12]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_10" [label="10: Prune (true branch, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(n$10, true); [line 106, 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, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(!n$10, false); [line 106, column 12]\n EXIT_SCOPE(n$10); [line 106, column 12]\n " shape="invhouse"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" [label="11: Prune (false branch, while) \n n$10=*&b:_Bool [line 106, column 12]\n PRUNE(!n$10, false); [line 106, column 12]\n " shape="invhouse"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_11" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_8" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 105, column 5]\n n$13=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 105, column 7]\n EXIT_SCOPE(n$13); [line 105, column 7]\n APPLY_ABSTRACTION; [line 105, column 7]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:continue_scope::X); [line 105, column 5]\n n$13=_fun_continue_scope::X::X(&x2:continue_scope::X*) [line 105, column 7]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_12" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_9" ; -"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 103, column 3]\n n$15=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 103, column 5]\n EXIT_SCOPE(n$15); [line 103, column 5]\n APPLY_ABSTRACTION; [line 103, column 5]\n " shape="box"] +"test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x1:continue_scope::X); [line 103, column 3]\n n$15=_fun_continue_scope::X::X(&x1:continue_scope::X*) [line 103, column 5]\n " shape="box"] "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_13" -> "test_while3#continue_scope#1176125085634537673.a024bcf519539ef1deac237c06a02a78_5" ; @@ -411,7 +411,7 @@ digraph cfg { "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_2" [label="2: Exit continue_scope::X::~X \n " color=yellow style=filled] -"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" [label="3: Destruction(virtual base) \n n$0=*&this:continue_scope::X* [line 10, column 9]\n _=*n$0:continue_scope::X [line 10, column 9]\n n$2=_fun_continue_scope::X::__infer_inner_destructor_~X(n$0:continue_scope::X*) injected [line 10, column 9]\n NULLIFY(&this); [line 10, column 9]\n EXIT_SCOPE(_,n$0,n$2,this); [line 10, column 9]\n APPLY_ABSTRACTION; [line 10, column 9]\n " shape="box"] +"~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" [label="3: Destruction(virtual base) \n n$0=*&this:continue_scope::X* [line 10, column 9]\n _=*n$0:continue_scope::X [line 10, column 9]\n n$2=_fun_continue_scope::X::__infer_inner_destructor_~X(n$0:continue_scope::X*) injected [line 10, column 9]\n " shape="box"] "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_3" -> "~X#X#continue_scope#(14106261246415748043).bee8da02915b57fe8c8e01c9b731311d_2" ; @@ -419,10 +419,10 @@ digraph cfg { "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_1" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" ; -"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_2" [label="2: Exit continue_scope::iterator::operator* \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 42, column 63]\n " color=yellow style=filled] +"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_2" [label="2: Exit continue_scope::iterator::operator* \n " color=yellow style=filled] -"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 42, column 33]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const ); [line 42, column 40]\n n$5=*&this:continue_scope::iterator const * [line 42, column 40]\n n$6=*n$5.vector:continue_scope::vec const * [line 42, column 40]\n _=*n$6:continue_scope::vec const [line 42, column 40]\n n$8=*&this:continue_scope::iterator const * [line 42, column 52]\n n$9=*n$8.position:int [line 42, column 52]\n n$11=_fun_continue_scope::vec::get(n$6:continue_scope::vec const *,n$9:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X*) assign_last [line 42, column 40]\n n$12=_fun_continue_scope::X::X(n$0:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const &) [line 42, column 40]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const [line 42, column 60]\n n$3=_fun_continue_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const *) injected [line 42, column 60]\n NULLIFY(&__return_param); [line 42, column 60]\n NULLIFY(&this); [line 42, column 60]\n EXIT_SCOPE(_,_,n$0,n$3,n$5,n$6,n$8,n$9,n$11,n$12,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 42, column 60]\n APPLY_ABSTRACTION; [line 42, column 60]\n " shape="box"] +"operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 42, column 33]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const ); [line 42, column 40]\n n$5=*&this:continue_scope::iterator const * [line 42, column 40]\n n$6=*n$5.vector:continue_scope::vec const * [line 42, column 40]\n _=*n$6:continue_scope::vec const [line 42, column 40]\n n$8=*&this:continue_scope::iterator const * [line 42, column 52]\n n$9=*n$8.position:int [line 42, column 52]\n n$11=_fun_continue_scope::vec::get(n$6:continue_scope::vec const *,n$9:int,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X*) assign_last [line 42, column 40]\n n$12=_fun_continue_scope::X::X(n$0:continue_scope::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const &) [line 42, column 40]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const [line 42, column 60]\n n$3=_fun_continue_scope::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::X const *) injected [line 42, column 60]\n " shape="box"] "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_3" -> "operator*#iterator#continue_scope(class continue_scope::X)#(10976315504449545146).6f0a140275409bbf42ae1dbc8842f6af_2" ; @@ -437,28 +437,28 @@ digraph cfg { "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&this:continue_scope::iterator* [line 27, column 48]\n n$2=*n$1.position:int [line 27, column 48]\n n$3=*&i2:continue_scope::iterator const & [line 27, column 60]\n n$4=*n$3.position:int [line 27, column 60]\n NULLIFY(&this); [line 27, column 60]\n NULLIFY(&i2); [line 27, column 60]\n EXIT_SCOPE(n$1,n$3,this,i2); [line 27, column 60]\n " shape="box"] +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&this:continue_scope::iterator* [line 27, column 48]\n n$2=*n$1.position:int [line 27, column 48]\n n$3=*&i2:continue_scope::iterator const & [line 27, column 60]\n n$4=*n$3.position:int [line 27, column 60]\n " shape="box"] "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, boolean exp) \n PRUNE((n$2 != n$4), true); [line 27, column 48]\n EXIT_SCOPE(n$2,n$4); [line 27, 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 27, 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, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 27, column 48]\n EXIT_SCOPE(n$2,n$4); [line 27, 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 27, column 48]\n " shape="invhouse"] "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_6" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 27, column 48]\n APPLY_ABSTRACTION; [line 27, column 48]\n " shape="box"] +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 27, column 48]\n " shape="box"] "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_7" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 27, column 48]\n APPLY_ABSTRACTION; [line 27, column 48]\n " shape="box"] +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 27, column 48]\n " shape="box"] "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_8" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_3" ; -"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 27, column 48]\n *&return:_Bool=n$5 [line 27, column 41]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 41]\n EXIT_SCOPE(n$5,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 27, column 41]\n APPLY_ABSTRACTION; [line 27, column 41]\n " shape="box"] +"operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 27, column 48]\n *&return:_Bool=n$5 [line 27, column 41]\n " shape="box"] "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_9" -> "operator!=#iterator#continue_scope#(11025097396656630732).d1947b35520a12f51156c7fee5f5e4a1_2" ; @@ -469,11 +469,11 @@ digraph cfg { "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_2" [label="2: Exit continue_scope::iterator::operator++ \n " color=yellow style=filled] -"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 24, column 5]\n n$1=*&this:continue_scope::iterator* [line 24, column 13]\n n$2=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,n$1:continue_scope::iterator&) [line 24, column 12]\n NULLIFY(&__return_param); [line 24, column 12]\n NULLIFY(&this); [line 24, column 12]\n EXIT_SCOPE(n$0,n$1,n$2,__return_param,this); [line 24, column 12]\n APPLY_ABSTRACTION; [line 24, column 12]\n " shape="box"] +"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 24, column 5]\n n$1=*&this:continue_scope::iterator* [line 24, column 13]\n n$2=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,n$1:continue_scope::iterator&) [line 24, column 12]\n " shape="box"] "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_2" ; -"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_4" [label="4: UnaryOperator \n n$3=*&this:continue_scope::iterator* [line 23, column 5]\n n$4=*n$3.position:int [line 23, column 5]\n *n$3.position:int=(n$4 + 1) [line 23, column 5]\n EXIT_SCOPE(n$3,n$4); [line 23, column 5]\n " shape="box"] +"operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_4" [label="4: UnaryOperator \n n$3=*&this:continue_scope::iterator* [line 23, column 5]\n n$4=*n$3.position:int [line 23, column 5]\n *n$3.position:int=(n$4 + 1) [line 23, column 5]\n " shape="box"] "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_4" -> "operator++#iterator#continue_scope(class continue_scope::iterator)#(16434574593791982090).65ed5567b5dc83cc8a9cab1252f670aa_3" ; @@ -484,11 +484,11 @@ digraph cfg { "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_2" [label="2: Exit continue_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:continue_scope::iterator& [line 16, column 8]\n n$3=*n$2.vector:continue_scope::vec const * [line 16, column 8]\n *n$1.vector:continue_scope::vec const *=n$3 [line 16, column 8]\n NULLIFY(&this); [line 16, column 8]\n NULLIFY(&__param_0); [line 16, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 16, column 8]\n APPLY_ABSTRACTION; [line 16, column 8]\n " shape="box"] +"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:continue_scope::iterator& [line 16, column 8]\n n$3=*n$2.vector:continue_scope::vec const * [line 16, column 8]\n *n$1.vector:continue_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_2" ; -"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_4" [label="4: Constructor Init \n n$4=*&this:continue_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:continue_scope::iterator& [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n EXIT_SCOPE(n$4,n$5,n$6); [line 16, column 8]\n " shape="box"] +"iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_4" [label="4: Constructor Init \n n$4=*&this:continue_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:continue_scope::iterator& [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_4" -> "iterator#iterator#continue_scope#{10809914205998631191|constexpr}.3824b12e843bd919018b65d60747271f_3" ; @@ -499,11 +499,11 @@ digraph cfg { "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_2" [label="2: Exit continue_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 20, column 52]\n n$2=*&v:continue_scope::vec const * [line 20, column 59]\n *n$1.vector:continue_scope::vec const *=n$2 [line 20, column 52]\n NULLIFY(&v); [line 20, column 52]\n NULLIFY(&this); [line 20, column 52]\n EXIT_SCOPE(n$1,n$2,v,this); [line 20, column 52]\n APPLY_ABSTRACTION; [line 20, column 52]\n " shape="box"] +"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 20, column 52]\n n$2=*&v:continue_scope::vec const * [line 20, column 59]\n *n$1.vector:continue_scope::vec const *=n$2 [line 20, column 52]\n " shape="box"] "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_2" ; -"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_4" [label="4: Constructor Init \n n$3=*&this:continue_scope::iterator* [line 20, column 37]\n n$4=*&pos:int [line 20, column 46]\n *n$3.position:int=n$4 [line 20, column 37]\n NULLIFY(&pos); [line 20, column 37]\n EXIT_SCOPE(n$3,n$4,pos); [line 20, column 37]\n " shape="box"] +"iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_4" [label="4: Constructor Init \n n$3=*&this:continue_scope::iterator* [line 20, column 37]\n n$4=*&pos:int [line 20, column 46]\n *n$3.position:int=n$4 [line 20, column 37]\n " shape="box"] "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_4" -> "iterator#iterator#continue_scope(class continue_scope::vec)#{17152205201271404012}.bc541607d571f16de19f1a4ee9d89b7b_3" ; @@ -514,11 +514,11 @@ digraph cfg { "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_2" [label="2: Exit continue_scope::iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:continue_scope::iterator const & [line 16, column 8]\n n$3=*n$2.vector:continue_scope::vec const * [line 16, column 8]\n *n$1.vector:continue_scope::vec const *=n$3 [line 16, column 8]\n NULLIFY(&this); [line 16, column 8]\n NULLIFY(&__param_0); [line 16, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 16, column 8]\n APPLY_ABSTRACTION; [line 16, column 8]\n " shape="box"] +"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::iterator* [line 16, column 8]\n n$2=*&__param_0:continue_scope::iterator const & [line 16, column 8]\n n$3=*n$2.vector:continue_scope::vec const * [line 16, column 8]\n *n$1.vector:continue_scope::vec const *=n$3 [line 16, column 8]\n " shape="box"] "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_2" ; -"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" [label="4: Constructor Init \n n$4=*&this:continue_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:continue_scope::iterator const & [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n EXIT_SCOPE(n$4,n$5,n$6); [line 16, column 8]\n " shape="box"] +"iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" [label="4: Constructor Init \n n$4=*&this:continue_scope::iterator* [line 16, column 8]\n n$5=*&__param_0:continue_scope::iterator const & [line 16, column 8]\n n$6=*n$5.position:int [line 16, column 8]\n *n$4.position:int=n$6 [line 16, column 8]\n " shape="box"] "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_4" -> "iterator#iterator#continue_scope#{5205818338773724773|constexpr}.befe58b6f79cfdaaec28cf6af78711d5_3" ; @@ -526,10 +526,10 @@ digraph cfg { "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_1" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" ; -"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_2" [label="2: Exit continue_scope::vec::begin \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 34, column 48]\n " color=yellow style=filled] +"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_2" [label="2: Exit continue_scope::vec::begin \n " color=yellow style=filled] -"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 34, column 22]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator); [line 34, column 29]\n n$5=*&this:continue_scope::vec* [line 34, column 38]\n n$6=_fun_continue_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$5:continue_scope::vec*,0:int) [line 34, column 29]\n n$7=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 34, column 29]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator [line 34, column 45]\n n$3=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*) injected [line 34, column 45]\n NULLIFY(&__return_param); [line 34, column 45]\n NULLIFY(&this); [line 34, column 45]\n EXIT_SCOPE(_,n$0,n$3,n$5,n$6,n$7,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 34, column 45]\n APPLY_ABSTRACTION; [line 34, column 45]\n " shape="box"] +"begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 34, column 22]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator); [line 34, column 29]\n n$5=*&this:continue_scope::vec* [line 34, column 38]\n n$6=_fun_continue_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$5:continue_scope::vec*,0:int) [line 34, column 29]\n n$7=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 34, column 29]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator [line 34, column 45]\n n$3=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*) injected [line 34, column 45]\n " shape="box"] "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_3" -> "begin#vec#continue_scope(class continue_scope::iterator)#(10867355481694456603).8c0551e386b9f2c25bf3629672b303c4_2" ; @@ -540,7 +540,7 @@ digraph cfg { "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_2" [label="2: Exit continue_scope::vec::get \n " color=yellow style=filled] -"get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 37, column 26]\n n$1=*&this:continue_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_continue_scope::X::X(n$0:continue_scope::X*,n$1._data[n$2]:continue_scope::X const &) [line 37, column 33]\n NULLIFY(&__return_param); [line 37, column 33]\n NULLIFY(&pos); [line 37, column 33]\n NULLIFY(&this); [line 37, column 33]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,__return_param,pos,this); [line 37, column 33]\n APPLY_ABSTRACTION; [line 37, column 33]\n " shape="box"] +"get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::X* [line 37, column 26]\n n$1=*&this:continue_scope::vec const * [line 37, column 33]\n n$2=*&pos:int [line 37, column 39]\n n$3=_fun_continue_scope::X::X(n$0:continue_scope::X*,n$1._data[n$2]:continue_scope::X const &) [line 37, column 33]\n " shape="box"] "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_3" -> "get#vec#continue_scope(class continue_scope::X)#(13898317495016814620).3829388c237a09b0f1feeaf1c583e486_2" ; @@ -548,10 +548,10 @@ digraph cfg { "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_1" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" ; -"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_2" [label="2: Exit continue_scope::vec::end \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 35, column 47]\n " color=yellow style=filled] +"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_2" [label="2: Exit continue_scope::vec::end \n " color=yellow style=filled] -"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 35, column 20]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator); [line 35, column 27]\n n$5=*&this:continue_scope::vec* [line 35, column 36]\n n$6=_fun_continue_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$5:continue_scope::vec*,10:int) [line 35, column 27]\n n$7=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 35, column 27]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator [line 35, column 44]\n n$3=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*) injected [line 35, column 44]\n NULLIFY(&__return_param); [line 35, column 44]\n NULLIFY(&this); [line 35, column 44]\n EXIT_SCOPE(_,n$0,n$3,n$5,n$6,n$7,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 35, column 44]\n APPLY_ABSTRACTION; [line 35, column 44]\n " shape="box"] +"end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" [label="3: Return Stmt \n n$0=*&__return_param:continue_scope::iterator* [line 35, column 20]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator); [line 35, column 27]\n n$5=*&this:continue_scope::vec* [line 35, column 36]\n n$6=_fun_continue_scope::iterator::iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*,n$5:continue_scope::vec*,10:int) [line 35, column 27]\n n$7=_fun_continue_scope::iterator::iterator(n$0:continue_scope::iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator&) [line 35, column 27]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator [line 35, column 44]\n n$3=_fun_continue_scope::iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$1:continue_scope::iterator*) injected [line 35, column 44]\n " shape="box"] "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_3" -> "end#vec#continue_scope(class continue_scope::iterator)#(4225103001970544933).15b63d21cc3cccf91200fcac42652775_2" ; @@ -562,7 +562,7 @@ digraph cfg { "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_2" [label="2: Exit continue_scope::vec::vec \n " color=yellow style=filled] -"vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::vec* [line 33, column 3]\n n$2=_fun_continue_scope::X::X(n$1._data:continue_scope::X[10*1](*)) [line 33, column 3]\n NULLIFY(&this); [line 33, column 3]\n EXIT_SCOPE(n$1,n$2,this); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" [label="3: Constructor Init \n n$1=*&this:continue_scope::vec* [line 33, column 3]\n n$2=_fun_continue_scope::X::X(n$1._data:continue_scope::X[10*1](*)) [line 33, column 3]\n " shape="box"] "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_3" -> "vec#vec#continue_scope#{15014380772393274563}.0db26bae10e0d7702598e02aede0544b_2" ; @@ -580,7 +580,7 @@ digraph cfg { "~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_2" [label="2: Exit continue_scope::vec::~vec \n " color=yellow style=filled] -"~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_3" [label="3: Destruction(virtual base) \n n$0=*&this:continue_scope::vec* [line 32, column 8]\n _=*n$0:continue_scope::vec [line 32, column 8]\n n$2=_fun_continue_scope::vec::__infer_inner_destructor_~vec(n$0:continue_scope::vec*) injected [line 32, column 8]\n NULLIFY(&this); [line 32, column 8]\n EXIT_SCOPE(_,n$0,n$2,this); [line 32, column 8]\n APPLY_ABSTRACTION; [line 32, column 8]\n " shape="box"] +"~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_3" [label="3: Destruction(virtual base) \n n$0=*&this:continue_scope::vec* [line 32, column 8]\n _=*n$0:continue_scope::vec [line 32, column 8]\n n$2=_fun_continue_scope::vec::__infer_inner_destructor_~vec(n$0:continue_scope::vec*) injected [line 32, column 8]\n " shape="box"] "~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_3" -> "~vec#vec#continue_scope#(10360929843329979119).4ca99321ca697a550551ca058254a138_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot index 4df83fce6..95fee4f49 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/destructor_bases.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_2" [label="2: Exit A::A \n " color=yellow style=filled] -"A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" [label="3: Constructor Init \n n$1=*&this:A* [line 14, column 7]\n n$2=_fun_T::T(n$1:A*) [line 14, column 3]\n NULLIFY(&this); [line 14, column 3]\n EXIT_SCOPE(n$1,n$2,this); [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] +"A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" [label="3: Constructor Init \n n$1=*&this:A* [line 14, column 7]\n n$2=_fun_T::T(n$1:A*) [line 14, column 3]\n " shape="box"] "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_3" -> "A#A#{14779025497907219583}.17208581fb4c6bbf4d62e29851fb70ab_2" ; @@ -25,7 +25,7 @@ digraph cfg { "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" [label="2: Exit A::~A \n " color=yellow style=filled] -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction(virtual base) \n n$0=*&this:A* [line 15, column 8]\n _=*n$0:A [line 15, column 8]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:A*) injected [line 15, column 8]\n _=*n$0:A [line 15, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:A*) injected [line 15, column 8]\n NULLIFY(&this); [line 15, column 8]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,this); [line 15, column 8]\n APPLY_ABSTRACTION; [line 15, column 8]\n " shape="box"] +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction(virtual base) \n n$0=*&this:A* [line 15, column 8]\n _=*n$0:A [line 15, column 8]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:A*) injected [line 15, column 8]\n _=*n$0:A [line 15, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:A*) injected [line 15, column 8]\n " shape="box"] "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" ; @@ -36,11 +36,11 @@ digraph cfg { "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_2" [label="2: Exit B::B \n " color=yellow style=filled] -"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" [label="3: Constructor Init \n n$1=*&this:B* [line 19, column 3]\n n$2=_fun_A::A(n$1:B*) [line 19, column 3]\n NULLIFY(&this); [line 19, column 3]\n EXIT_SCOPE(n$1,n$2,this); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" [label="3: Constructor Init \n n$1=*&this:B* [line 19, column 3]\n n$2=_fun_A::A(n$1:B*) [line 19, column 3]\n " shape="box"] "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_2" ; -"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" [label="4: Constructor Init \n n$3=*&this:B* [line 19, column 7]\n n$4=_fun_T::T(n$3:B*) [line 19, column 3]\n EXIT_SCOPE(n$3,n$4); [line 19, column 3]\n " shape="box"] +"B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" [label="4: Constructor Init \n n$3=*&this:B* [line 19, column 7]\n n$4=_fun_T::T(n$3:B*) [line 19, column 3]\n " shape="box"] "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_4" -> "B#B#{10798876524598897542}.3b10fa64f3322f2c8bfbde72c7a0e4a6_3" ; @@ -58,7 +58,7 @@ digraph cfg { "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" [label="2: Exit B::~B \n " color=yellow style=filled] -"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction(virtual base) \n n$0=*&this:B* [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$6=_fun_B::__infer_inner_destructor_~B(n$0:B*) injected [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:B*) injected [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:B*) injected [line 20, column 8]\n NULLIFY(&this); [line 20, column 8]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,this); [line 20, column 8]\n APPLY_ABSTRACTION; [line 20, column 8]\n " shape="box"] +"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction(virtual base) \n n$0=*&this:B* [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$6=_fun_B::__infer_inner_destructor_~B(n$0:B*) injected [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:B*) injected [line 20, column 8]\n _=*n$0:B [line 20, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:B*) injected [line 20, column 8]\n " shape="box"] "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" -> "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" ; @@ -83,7 +83,7 @@ digraph cfg { "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_2" [label="2: Exit C::~C \n " color=yellow style=filled] -"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" [label="3: Destruction(virtual base) \n n$0=*&this:C* [line 25, column 8]\n _=*n$0:C [line 25, column 8]\n n$2=_fun_C::__infer_inner_destructor_~C(n$0:C*) injected [line 25, column 8]\n NULLIFY(&this); [line 25, column 8]\n EXIT_SCOPE(_,n$0,n$2,this); [line 25, column 8]\n APPLY_ABSTRACTION; [line 25, column 8]\n " shape="box"] +"~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" [label="3: Destruction(virtual base) \n n$0=*&this:C* [line 25, column 8]\n _=*n$0:C [line 25, column 8]\n n$2=_fun_C::__infer_inner_destructor_~C(n$0:C*) injected [line 25, column 8]\n " shape="box"] "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_3" -> "~C#C#(8663121109475859597).c4887e86b7c3519c4397dd483476d5d2_2" ; @@ -94,19 +94,19 @@ digraph cfg { "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" [label="2: Exit D::D \n " color=yellow style=filled] -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" [label="3: Constructor Init \n n$1=*&this:D* [line 30, column 3]\n n$2=_fun_B::B(n$1.b:B*) [line 30, column 3]\n NULLIFY(&this); [line 30, column 3]\n EXIT_SCOPE(n$1,n$2,this); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" [label="3: Constructor Init \n n$1=*&this:D* [line 30, column 3]\n n$2=_fun_B::B(n$1.b:B*) [line 30, column 3]\n " shape="box"] "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_2" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" [label="4: Constructor Init \n n$3=*&this:D* [line 30, column 3]\n n$4=_fun_C::C(n$3:D*) [line 30, column 3]\n EXIT_SCOPE(n$3,n$4); [line 30, column 3]\n " shape="box"] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" [label="4: Constructor Init \n n$3=*&this:D* [line 30, column 3]\n n$4=_fun_C::C(n$3:D*) [line 30, column 3]\n " shape="box"] "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_3" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" [label="5: Constructor Init \n n$5=*&this:D* [line 30, column 3]\n n$6=_fun_A::A(n$5:D*) [line 30, column 3]\n EXIT_SCOPE(n$5,n$6); [line 30, column 3]\n " shape="box"] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" [label="5: Constructor Init \n n$5=*&this:D* [line 30, column 3]\n n$6=_fun_A::A(n$5:D*) [line 30, column 3]\n " shape="box"] "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_4" ; -"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" [label="6: Constructor Init \n n$7=*&this:D* [line 30, column 7]\n n$8=_fun_T::T(n$7:D*) [line 30, column 3]\n EXIT_SCOPE(n$7,n$8); [line 30, column 3]\n " shape="box"] +"D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" [label="6: Constructor Init \n n$7=*&this:D* [line 30, column 7]\n n$8=_fun_T::T(n$7:D*) [line 30, column 3]\n " shape="box"] "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_6" -> "D#D#{14859184625718510620}.5a45d8adce2fa330a108d14c6d9e7ad2_5" ; @@ -114,18 +114,18 @@ digraph cfg { "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_1" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" ; -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_2" [label="2: Exit D::__infer_inner_destructor_~D \n NULLIFY(&a); [line 31, column 15]\n " color=yellow style=filled] +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_2" [label="2: Exit D::__infer_inner_destructor_~D \n " color=yellow style=filled] -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" [label="3: Destruction(fields) \n n$0=*&this:D* [line 31, column 15]\n _=*n$0.b:B [line 31, column 15]\n n$2=_fun_B::~B(n$0.b:B*) injected [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$6=_fun_C::__infer_inner_destructor_~C(n$0:D*) injected [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:D*) injected [line 31, column 15]\n NULLIFY(&this); [line 31, column 15]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,this); [line 31, column 15]\n APPLY_ABSTRACTION; [line 31, column 15]\n " shape="box"] +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" [label="3: Destruction(fields) \n n$0=*&this:D* [line 31, column 15]\n _=*n$0.b:B [line 31, column 15]\n n$2=_fun_B::~B(n$0.b:B*) injected [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$6=_fun_C::__infer_inner_destructor_~C(n$0:D*) injected [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:D*) injected [line 31, column 15]\n " shape="box"] "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_2" ; -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" [label="4: Destruction(Scope) \n _=*&a:A [line 31, column 15]\n n$9=_fun_A::~A(&a:A*) injected [line 31, column 15]\n EXIT_SCOPE(_,n$9,a); [line 31, column 15]\n " shape="box"] +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" [label="4: Destruction(Scope) \n _=*&a:A [line 31, column 15]\n n$9=_fun_A::~A(&a:A*) injected [line 31, column 15]\n " shape="box"] "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_3" ; -"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:A); [line 31, column 10]\n n$11=_fun_A::A(&a:A*) [line 31, column 12]\n EXIT_SCOPE(n$11); [line 31, column 12]\n " shape="box"] +"__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:A); [line 31, column 10]\n n$11=_fun_A::A(&a:A*) [line 31, column 12]\n " shape="box"] "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_5" -> "__infer_inner_destructor_~D#D#(5618221758133596168).bafb8a40b92952d90ec3736fc827de7f_4" ; @@ -136,7 +136,7 @@ digraph cfg { "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_2" [label="2: Exit D::~D \n " color=yellow style=filled] -"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" [label="3: Destruction(virtual base) \n n$0=*&this:D* [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$4=_fun_D::__infer_inner_destructor_~D(n$0:D*) injected [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:D*) injected [line 31, column 15]\n NULLIFY(&this); [line 31, column 15]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,this); [line 31, column 15]\n APPLY_ABSTRACTION; [line 31, column 15]\n " shape="box"] +"~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" [label="3: Destruction(virtual base) \n n$0=*&this:D* [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$4=_fun_D::__infer_inner_destructor_~D(n$0:D*) injected [line 31, column 15]\n _=*n$0:D [line 31, column 15]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:D*) injected [line 31, column 15]\n " shape="box"] "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_3" -> "~D#D#(5618221758133596168).bd1f40c4fa1d5ed90c732a34d33e4d7c_2" ; @@ -147,23 +147,23 @@ digraph cfg { "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" [label="2: Exit E::E \n " color=yellow style=filled] -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" [label="3: Constructor Init \n n$1=*&this:E* [line 35, column 3]\n n$2=_fun_D::D(n$1:E*) [line 35, column 3]\n NULLIFY(&this); [line 35, column 3]\n EXIT_SCOPE(n$1,n$2,this); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" [label="3: Constructor Init \n n$1=*&this:E* [line 35, column 3]\n n$2=_fun_D::D(n$1:E*) [line 35, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_2" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" [label="4: Constructor Init \n n$3=*&this:E* [line 35, column 3]\n n$4=_fun_C::C(n$3:E*) [line 35, column 3]\n EXIT_SCOPE(n$3,n$4); [line 35, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" [label="4: Constructor Init \n n$3=*&this:E* [line 35, column 3]\n n$4=_fun_C::C(n$3:E*) [line 35, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_3" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" [label="5: Constructor Init \n n$5=*&this:E* [line 35, column 3]\n n$6=_fun_B::B(n$5:E*) [line 35, column 3]\n EXIT_SCOPE(n$5,n$6); [line 35, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" [label="5: Constructor Init \n n$5=*&this:E* [line 35, column 3]\n n$6=_fun_B::B(n$5:E*) [line 35, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_4" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" [label="6: Constructor Init \n n$7=*&this:E* [line 35, column 3]\n n$8=_fun_A::A(n$7:E*) [line 35, column 3]\n EXIT_SCOPE(n$7,n$8); [line 35, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" [label="6: Constructor Init \n n$7=*&this:E* [line 35, column 3]\n n$8=_fun_A::A(n$7:E*) [line 35, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_5" ; -"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" [label="7: Constructor Init \n n$9=*&this:E* [line 35, column 7]\n n$10=_fun_T::T(n$9:E*) [line 35, column 3]\n EXIT_SCOPE(n$9,n$10); [line 35, column 3]\n " shape="box"] +"E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" [label="7: Constructor Init \n n$9=*&this:E* [line 35, column 7]\n n$10=_fun_T::T(n$9:E*) [line 35, column 3]\n " shape="box"] "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_7" -> "E#E#{7886195349376518403}.02845ceb3bc1b2ade1c6ab65150dfc34_6" ; @@ -174,7 +174,7 @@ digraph cfg { "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_2" [label="2: Exit E::__infer_inner_destructor_~E \n " color=yellow style=filled] -"__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_3" [label="3: Destruction(fields) \n n$0=*&this:E* [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$6=_fun_D::__infer_inner_destructor_~D(n$0:E*) injected [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$4=_fun_C::__infer_inner_destructor_~C(n$0:E*) injected [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$2=_fun_B::__infer_inner_destructor_~B(n$0:E*) injected [line 36, column 8]\n NULLIFY(&this); [line 36, column 8]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,this); [line 36, column 8]\n APPLY_ABSTRACTION; [line 36, column 8]\n " shape="box"] +"__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_3" [label="3: Destruction(fields) \n n$0=*&this:E* [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$6=_fun_D::__infer_inner_destructor_~D(n$0:E*) injected [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$4=_fun_C::__infer_inner_destructor_~C(n$0:E*) injected [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$2=_fun_B::__infer_inner_destructor_~B(n$0:E*) injected [line 36, column 8]\n " shape="box"] "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_3" -> "__infer_inner_destructor_~E#E#(2987579715549688623).0c2beae2fa1834341749df3ec1f5ac22_2" ; @@ -185,7 +185,7 @@ digraph cfg { "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_2" [label="2: Exit E::~E \n " color=yellow style=filled] -"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" [label="3: Destruction(virtual base) \n n$0=*&this:E* [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$6=_fun_E::__infer_inner_destructor_~E(n$0:E*) injected [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:E*) injected [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:E*) injected [line 36, column 8]\n NULLIFY(&this); [line 36, column 8]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,this); [line 36, column 8]\n APPLY_ABSTRACTION; [line 36, column 8]\n " shape="box"] +"~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" [label="3: Destruction(virtual base) \n n$0=*&this:E* [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$6=_fun_E::__infer_inner_destructor_~E(n$0:E*) injected [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:E*) injected [line 36, column 8]\n _=*n$0:E [line 36, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:E*) injected [line 36, column 8]\n " shape="box"] "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_3" -> "~E#E#(2987579715549688623).452c4ab608cbb84e7144bf65a39276d9_2" ; @@ -196,23 +196,23 @@ digraph cfg { "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" [label="2: Exit F::F \n " color=yellow style=filled] -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" [label="3: Constructor Init \n n$1=*&this:F* [line 40, column 3]\n n$2=_fun_D::D(n$1:F*) [line 40, column 3]\n NULLIFY(&this); [line 40, column 3]\n EXIT_SCOPE(n$1,n$2,this); [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" [label="3: Constructor Init \n n$1=*&this:F* [line 40, column 3]\n n$2=_fun_D::D(n$1:F*) [line 40, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_2" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" [label="4: Constructor Init \n n$3=*&this:F* [line 40, column 3]\n n$4=_fun_B::B(n$3:F*) [line 40, column 3]\n EXIT_SCOPE(n$3,n$4); [line 40, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" [label="4: Constructor Init \n n$3=*&this:F* [line 40, column 3]\n n$4=_fun_B::B(n$3:F*) [line 40, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_3" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" [label="5: Constructor Init \n n$5=*&this:F* [line 40, column 3]\n n$6=_fun_C::C(n$5:F*) [line 40, column 3]\n EXIT_SCOPE(n$5,n$6); [line 40, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" [label="5: Constructor Init \n n$5=*&this:F* [line 40, column 3]\n n$6=_fun_C::C(n$5:F*) [line 40, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_4" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" [label="6: Constructor Init \n n$7=*&this:F* [line 40, column 3]\n n$8=_fun_A::A(n$7:F*) [line 40, column 3]\n EXIT_SCOPE(n$7,n$8); [line 40, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" [label="6: Constructor Init \n n$7=*&this:F* [line 40, column 3]\n n$8=_fun_A::A(n$7:F*) [line 40, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_5" ; -"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" [label="7: Constructor Init \n n$9=*&this:F* [line 40, column 7]\n n$10=_fun_T::T(n$9:F*) [line 40, column 3]\n EXIT_SCOPE(n$9,n$10); [line 40, column 3]\n " shape="box"] +"F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" [label="7: Constructor Init \n n$9=*&this:F* [line 40, column 7]\n n$10=_fun_T::T(n$9:F*) [line 40, column 3]\n " shape="box"] "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_7" -> "F#F#{11715195598984476266}.884ea102935d653fcf591dff17f31401_6" ; @@ -223,7 +223,7 @@ digraph cfg { "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_2" [label="2: Exit F::__infer_inner_destructor_~F \n " color=yellow style=filled] -"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" [label="3: Destruction(fields) \n n$0=*&this:F* [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$4=_fun_D::__infer_inner_destructor_~D(n$0:F*) injected [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$2=_fun_B::__infer_inner_destructor_~B(n$0:F*) injected [line 41, column 8]\n NULLIFY(&this); [line 41, column 8]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,this); [line 41, column 8]\n APPLY_ABSTRACTION; [line 41, column 8]\n " shape="box"] +"__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" [label="3: Destruction(fields) \n n$0=*&this:F* [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$4=_fun_D::__infer_inner_destructor_~D(n$0:F*) injected [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$2=_fun_B::__infer_inner_destructor_~B(n$0:F*) injected [line 41, column 8]\n " shape="box"] "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_3" -> "__infer_inner_destructor_~F#F#(5727529154579633650).20752c7323d15bc6d30fac190df5baf8_2" ; @@ -234,7 +234,7 @@ digraph cfg { "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_2" [label="2: Exit F::~F \n " color=yellow style=filled] -"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" [label="3: Destruction(virtual base) \n n$0=*&this:F* [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$8=_fun_F::__infer_inner_destructor_~F(n$0:F*) injected [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$6=_fun_C::__infer_inner_destructor_~C(n$0:F*) injected [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:F*) injected [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:F*) injected [line 41, column 8]\n NULLIFY(&this); [line 41, column 8]\n EXIT_SCOPE(_,_,_,_,n$0,n$2,n$4,n$6,n$8,this); [line 41, column 8]\n APPLY_ABSTRACTION; [line 41, column 8]\n " shape="box"] +"~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" [label="3: Destruction(virtual base) \n n$0=*&this:F* [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$8=_fun_F::__infer_inner_destructor_~F(n$0:F*) injected [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$6=_fun_C::__infer_inner_destructor_~C(n$0:F*) injected [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$4=_fun_A::__infer_inner_destructor_~A(n$0:F*) injected [line 41, column 8]\n _=*n$0:F [line 41, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:F*) injected [line 41, column 8]\n " shape="box"] "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_3" -> "~F#F#(5727529154579633650).f1ad6d785ba06c47f402bc76b9b85f73_2" ; @@ -259,7 +259,7 @@ digraph cfg { "~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_2" [label="2: Exit T::~T \n " color=yellow style=filled] -"~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_3" [label="3: Destruction(virtual base) \n n$0=*&this:T* [line 10, column 8]\n _=*n$0:T [line 10, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:T*) injected [line 10, column 8]\n NULLIFY(&this); [line 10, column 8]\n EXIT_SCOPE(_,n$0,n$2,this); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_3" [label="3: Destruction(virtual base) \n n$0=*&this:T* [line 10, column 8]\n _=*n$0:T [line 10, column 8]\n n$2=_fun_T::__infer_inner_destructor_~T(n$0:T*) injected [line 10, column 8]\n " shape="box"] "~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_3" -> "~T#T#(198129514833990712).9a1fb2f2d427aff6059a6de0c57b5949_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot index 80a92006d..9c5fd9fee 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/pseudo_destructor_expr.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_2" [label="2: Exit destroy \n " color=yellow style=filled] -"destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] +"destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 3]\n " shape="box"] "destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_3" -> "destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_2" ; -"destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_4" [label="4: Call _fun___infer_skip_function \n n$0=_fun___infer_skip_function() [line 17, column 3]\n EXIT_SCOPE(n$0); [line 17, column 3]\n " shape="box"] +"destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_4" [label="4: Call _fun___infer_skip_function \n n$0=_fun___infer_skip_function() [line 17, column 3]\n " shape="box"] "destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_4" -> "destroy#14082686937760238422.8268959c48dc929d419568bc99a6b97b_3" ; @@ -22,15 +22,15 @@ digraph cfg { "f#10188173399311638112.8cffce40f5525757e791edeba0985326_2" [label="2: Exit f \n " color=yellow style=filled] -"f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" [label="3: Return Stmt \n n$0=*&x:int [line 12, column 10]\n *&return:int=n$0 [line 12, column 3]\n NULLIFY(&x); [line 12, column 3]\n EXIT_SCOPE(n$0,x); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" [label="3: Return Stmt \n n$0=*&x:int [line 12, column 10]\n *&return:int=n$0 [line 12, column 3]\n " shape="box"] "f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_2" ; -"f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" [label="4: Call _fun___infer_skip_function \n n$1=_fun___infer_skip_function() [line 11, column 3]\n EXIT_SCOPE(n$1); [line 11, column 3]\n " shape="box"] +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" [label="4: Call _fun___infer_skip_function \n n$1=_fun___infer_skip_function() [line 11, column 3]\n " shape="box"] "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_3" ; -"f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 10, column 3]\n n$2=*&p:int* [line 10, column 12]\n n$3=*n$2:int [line 10, column 11]\n *&x:int=n$3 [line 10, column 3]\n NULLIFY(&p); [line 10, column 3]\n EXIT_SCOPE(n$2,n$3,p); [line 10, column 3]\n " shape="box"] +"f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int); [line 10, column 3]\n n$2=*&p:int* [line 10, column 12]\n n$3=*n$2:int [line 10, column 11]\n *&x:int=n$3 [line 10, column 3]\n " shape="box"] "f#10188173399311638112.8cffce40f5525757e791edeba0985326_5" -> "f#10188173399311638112.8cffce40f5525757e791edeba0985326_4" ; @@ -38,10 +38,10 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&t); [line 24, column 1]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call _fun_destroy \n n$0=_fun_destroy(&t:int**) [line 23, column 3]\n EXIT_SCOPE(n$0,t); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call _fun_destroy \n n$0=_fun_destroy(&t:int**) [line 23, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot index 1cfbcb443..968121d8c 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/scope.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_1" -> "callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_3" ; -"callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_2" [label="2: Exit destructor_scope::callgetZ \n NULLIFY(&0$?%__sil_tmp__temp_return_n$1); [line 82, column 27]\n " color=yellow style=filled] +"callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_2" [label="2: Exit destructor_scope::callgetZ \n " color=yellow style=filled] -"callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_3" [label="3: Call _fun_destructor_scope::getZ \n n$2=_fun_destructor_scope::getZ(&0$?%__sil_tmp__temp_return_n$1:destructor_scope::Z*) assign_last [line 82, column 19]\n EXIT_SCOPE(n$2,0$?%__sil_tmp__temp_return_n$1); [line 82, column 19]\n APPLY_ABSTRACTION; [line 82, column 19]\n " shape="box"] +"callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_3" [label="3: Call _fun_destructor_scope::getZ \n n$2=_fun_destructor_scope::getZ(&0$?%__sil_tmp__temp_return_n$1:destructor_scope::Z*) assign_last [line 82, column 19]\n " shape="box"] "callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_3" -> "callgetZ#destructor_scope#16418724657639342926.f4c0cbb2a5d892ea82496dd2540a9ead_2" ; @@ -15,14 +15,14 @@ digraph cfg { "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_1" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" ; -"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_2" [label="2: Exit destructor_scope::getX \n NULLIFY(&x); [line 71, column 1]\n " color=yellow style=filled] +"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_2" [label="2: Exit destructor_scope::getX \n " color=yellow style=filled] -"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::X* [line 70, column 3]\n n$1=_fun_destructor_scope::X::X(n$0:destructor_scope::X*,&x:destructor_scope::X&) [line 70, column 10]\n _=*&x:destructor_scope::X [line 70, column 10]\n n$3=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 70, column 10]\n NULLIFY(&__return_param); [line 70, column 10]\n EXIT_SCOPE(_,n$0,n$1,n$3,__return_param,x); [line 70, column 10]\n APPLY_ABSTRACTION; [line 70, column 10]\n " shape="box"] +"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::X* [line 70, column 3]\n n$1=_fun_destructor_scope::X::X(n$0:destructor_scope::X*,&x:destructor_scope::X&) [line 70, column 10]\n _=*&x:destructor_scope::X [line 70, column 10]\n n$3=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 70, column 10]\n " shape="box"] "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_2" ; -"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:destructor_scope::X); [line 69, column 3]\n n$5=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 69, column 5]\n EXIT_SCOPE(n$5); [line 69, column 5]\n " shape="box"] +"getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:destructor_scope::X); [line 69, column 3]\n n$5=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 69, column 5]\n " shape="box"] "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_4" -> "getX#destructor_scope(class destructor_scope::X)#11739464242911605656.956e6b931ba67c14d56b1314b7f2fce7_3" ; @@ -30,14 +30,14 @@ digraph cfg { "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_1" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" ; -"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_2" [label="2: Exit destructor_scope::getZ \n NULLIFY(&z); [line 76, column 1]\n " color=yellow style=filled] +"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_2" [label="2: Exit destructor_scope::getZ \n " color=yellow style=filled] -"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::Z* [line 75, column 3]\n n$1=_fun_destructor_scope::Z::Z(n$0:destructor_scope::Z*,&z:destructor_scope::Z&) [line 75, column 10]\n _=*&z:destructor_scope::Z [line 75, column 10]\n n$3=_fun_destructor_scope::Z::~Z(&z:destructor_scope::Z*) injected [line 75, column 10]\n NULLIFY(&__return_param); [line 75, column 10]\n EXIT_SCOPE(_,n$0,n$1,n$3,__return_param,z); [line 75, column 10]\n APPLY_ABSTRACTION; [line 75, column 10]\n " shape="box"] +"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" [label="3: Return Stmt \n n$0=*&__return_param:destructor_scope::Z* [line 75, column 3]\n n$1=_fun_destructor_scope::Z::Z(n$0:destructor_scope::Z*,&z:destructor_scope::Z&) [line 75, column 10]\n _=*&z:destructor_scope::Z [line 75, column 10]\n n$3=_fun_destructor_scope::Z::~Z(&z:destructor_scope::Z*) injected [line 75, column 10]\n " shape="box"] "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_2" ; -"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:destructor_scope::Z); [line 74, column 3]\n n$5=_fun_destructor_scope::Z::Z(&z:destructor_scope::Z*) [line 74, column 5]\n EXIT_SCOPE(n$5); [line 74, column 5]\n " shape="box"] +"getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:destructor_scope::Z); [line 74, column 3]\n n$5=_fun_destructor_scope::Z::Z(&z:destructor_scope::Z*) [line 74, column 5]\n " shape="box"] "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_4" -> "getZ#destructor_scope(class destructor_scope::Z)#13110319947448813202.27b8261073c8d26082c5ea18b0194031_3" ; @@ -45,30 +45,30 @@ digraph cfg { "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_1" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_21" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_2" [label="2: Exit destructor_scope::test1 \n NULLIFY(&x3); [line 55, column 1]\n NULLIFY(&y2); [line 55, column 1]\n NULLIFY(&s); [line 55, column 1]\n NULLIFY(&y1); [line 55, column 1]\n NULLIFY(&y3); [line 55, column 1]\n NULLIFY(&x2); [line 55, column 1]\n NULLIFY(&x1); [line 55, column 1]\n " color=yellow style=filled] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_2" [label="2: Exit destructor_scope::test1 \n " color=yellow style=filled] -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_3" [label="3: Destruction(Scope) \n _=*&y1:destructor_scope::Y [line 55, column 1]\n n$1=_fun_destructor_scope::Y::~Y(&y1:destructor_scope::Y*) injected [line 55, column 1]\n _=*&s:destructor_scope::S [line 55, column 1]\n n$3=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 55, column 1]\n _=*&x1:destructor_scope::X [line 55, column 1]\n n$5=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 55, column 1]\n EXIT_SCOPE(_,_,_,n$1,n$3,n$5,x1,y1,s); [line 55, column 1]\n APPLY_ABSTRACTION; [line 55, column 1]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_3" [label="3: Destruction(Scope) \n _=*&y1:destructor_scope::Y [line 55, column 1]\n n$1=_fun_destructor_scope::Y::~Y(&y1:destructor_scope::Y*) injected [line 55, column 1]\n _=*&s:destructor_scope::S [line 55, column 1]\n n$3=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 55, column 1]\n _=*&x1:destructor_scope::X [line 55, column 1]\n n$5=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 55, column 1]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_3" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_2" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_4" [label="4: Destruction(Scope) \n _=*&y3:destructor_scope::Y [line 54, column 11]\n n$8=_fun_destructor_scope::Y::~Y(&y3:destructor_scope::Y*) injected [line 54, column 11]\n EXIT_SCOPE(_,n$8,y3); [line 54, column 11]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_4" [label="4: Destruction(Scope) \n _=*&y3:destructor_scope::Y [line 54, column 11]\n n$8=_fun_destructor_scope::Y::~Y(&y3:destructor_scope::Y*) injected [line 54, column 11]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_4" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_3" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y3:destructor_scope::Y); [line 54, column 5]\n n$10=_fun_destructor_scope::Y::Y(&y3:destructor_scope::Y*) [line 54, column 7]\n EXIT_SCOPE(n$10); [line 54, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y3:destructor_scope::Y); [line 54, column 5]\n n$10=_fun_destructor_scope::Y::Y(&y3:destructor_scope::Y*) [line 54, column 7]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_4" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:destructor_scope::Y); [line 53, column 3]\n n$11=_fun_destructor_scope::Y::Y(&y1:destructor_scope::Y*) [line 53, column 5]\n EXIT_SCOPE(n$11); [line 53, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:destructor_scope::Y); [line 53, column 3]\n n$11=_fun_destructor_scope::Y::Y(&y1:destructor_scope::Y*) [line 53, column 5]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_6" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_5" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_7" [label="7: Destruction(Scope) \n _=*&y2:destructor_scope::Y [line 52, column 3]\n n$13=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 52, column 3]\n _=*&x2:destructor_scope::X [line 52, column 3]\n n$15=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 52, column 3]\n EXIT_SCOPE(_,_,n$13,n$15,x2,y2); [line 52, column 3]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_7" [label="7: Destruction(Scope) \n _=*&y2:destructor_scope::Y [line 52, column 3]\n n$13=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 52, column 3]\n _=*&x2:destructor_scope::X [line 52, column 3]\n n$15=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 52, column 3]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_7" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_6" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_8" [label="8: Destruction(Scope) \n _=*&x3:destructor_scope::X [line 51, column 5]\n n$18=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 51, column 5]\n EXIT_SCOPE(_,n$18,x3); [line 51, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_8" [label="8: Destruction(Scope) \n _=*&x3:destructor_scope::X [line 51, column 5]\n n$18=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 51, column 5]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_8" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_7" ; @@ -76,19 +76,19 @@ 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, if) \n n$20=*&b:_Bool [line 48, column 11]\n PRUNE(n$20, true); [line 48, column 11]\n NULLIFY(&b); [line 48, column 11]\n EXIT_SCOPE(n$20,b); [line 48, column 11]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" [label="10: Prune (true branch, if) \n n$20=*&b:_Bool [line 48, column 11]\n PRUNE(n$20, true); [line 48, 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, if) \n n$20=*&b:_Bool [line 48, column 11]\n PRUNE(!n$20, false); [line 48, column 11]\n NULLIFY(&b); [line 48, column 11]\n EXIT_SCOPE(n$20,b); [line 48, column 11]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_11" [label="11: Prune (false branch, if) \n n$20=*&b:_Bool [line 48, column 11]\n PRUNE(!n$20, false); [line 48, column 11]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_11" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_9" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_12" [label="12: Return Stmt \n _=*&x3:destructor_scope::X [line 49, column 9]\n n$22=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 49, column 9]\n _=*&y2:destructor_scope::Y [line 49, column 9]\n n$24=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 49, column 9]\n _=*&x2:destructor_scope::X [line 49, column 9]\n n$26=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 49, column 9]\n _=*&s:destructor_scope::S [line 49, column 9]\n n$28=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 49, column 9]\n _=*&x1:destructor_scope::X [line 49, column 9]\n n$30=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 49, column 9]\n EXIT_SCOPE(_,_,_,_,_,n$22,n$24,n$26,n$28,n$30,x1,x2,s,y2,x3); [line 49, column 9]\n APPLY_ABSTRACTION; [line 49, column 9]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_12" [label="12: Return Stmt \n _=*&x3:destructor_scope::X [line 49, column 9]\n n$22=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 49, column 9]\n _=*&y2:destructor_scope::Y [line 49, column 9]\n n$24=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 49, column 9]\n _=*&x2:destructor_scope::X [line 49, column 9]\n n$26=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 49, column 9]\n _=*&s:destructor_scope::S [line 49, column 9]\n n$28=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 49, column 9]\n _=*&x1:destructor_scope::X [line 49, column 9]\n n$30=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 49, column 9]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_12" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_2" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x3:destructor_scope::X); [line 47, column 7]\n n$35=_fun_destructor_scope::X::X(&x3:destructor_scope::X*) [line 47, column 9]\n EXIT_SCOPE(n$35); [line 47, column 9]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_13" [label="13: DeclStmt \n VARIABLE_DECLARED(x3:destructor_scope::X); [line 47, column 7]\n n$35=_fun_destructor_scope::X::X(&x3:destructor_scope::X*) [line 47, column 9]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_13" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_10" ; @@ -97,32 +97,32 @@ 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, if) \n n$36=*&a:_Bool [line 43, column 9]\n PRUNE(n$36, true); [line 43, column 9]\n NULLIFY(&a); [line 43, column 9]\n EXIT_SCOPE(n$36,a); [line 43, column 9]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" [label="15: Prune (true branch, if) \n n$36=*&a:_Bool [line 43, column 9]\n PRUNE(n$36, true); [line 43, 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, if) \n n$36=*&a:_Bool [line 43, column 9]\n PRUNE(!n$36, false); [line 43, column 9]\n NULLIFY(&a); [line 43, column 9]\n EXIT_SCOPE(n$36,a); [line 43, column 9]\n " shape="invhouse"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" [label="16: Prune (false branch, if) \n n$36=*&a:_Bool [line 43, column 9]\n PRUNE(!n$36, false); [line 43, column 9]\n " shape="invhouse"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_14" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_17" [label="17: Return Stmt \n _=*&y2:destructor_scope::Y [line 44, column 7]\n n$38=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 44, column 7]\n _=*&x2:destructor_scope::X [line 44, column 7]\n n$40=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 44, column 7]\n _=*&s:destructor_scope::S [line 44, column 7]\n n$42=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 44, column 7]\n _=*&x1:destructor_scope::X [line 44, column 7]\n n$44=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 44, column 7]\n EXIT_SCOPE(_,_,_,_,n$38,n$40,n$42,n$44,x1,x2,s,y2); [line 44, column 7]\n APPLY_ABSTRACTION; [line 44, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_17" [label="17: Return Stmt \n _=*&y2:destructor_scope::Y [line 44, column 7]\n n$38=_fun_destructor_scope::Y::~Y(&y2:destructor_scope::Y*) injected [line 44, column 7]\n _=*&x2:destructor_scope::X [line 44, column 7]\n n$40=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 44, column 7]\n _=*&s:destructor_scope::S [line 44, column 7]\n n$42=_fun_destructor_scope::S::~S(&s:destructor_scope::S*) injected [line 44, column 7]\n _=*&x1:destructor_scope::X [line 44, column 7]\n n$44=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 44, column 7]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_17" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_2" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" [label="18: DeclStmt \n VARIABLE_DECLARED(y2:destructor_scope::Y); [line 42, column 5]\n n$49=_fun_destructor_scope::Y::Y(&y2:destructor_scope::Y*) [line 42, column 7]\n EXIT_SCOPE(n$49); [line 42, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" [label="18: DeclStmt \n VARIABLE_DECLARED(y2:destructor_scope::Y); [line 42, column 5]\n n$49=_fun_destructor_scope::Y::Y(&y2:destructor_scope::Y*) [line 42, column 7]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_15" ; "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_16" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x2:destructor_scope::X); [line 41, column 5]\n n$50=_fun_destructor_scope::X::X(&x2:destructor_scope::X*) [line 41, column 7]\n EXIT_SCOPE(n$50); [line 41, column 7]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_19" [label="19: DeclStmt \n VARIABLE_DECLARED(x2:destructor_scope::X); [line 41, column 5]\n n$50=_fun_destructor_scope::X::X(&x2:destructor_scope::X*) [line 41, column 7]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_19" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_18" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" [label="20: DeclStmt \n VARIABLE_DECLARED(s:destructor_scope::S); [line 39, column 3]\n n$51=_fun_destructor_scope::S::S(&s:destructor_scope::S*) [line 39, column 5]\n EXIT_SCOPE(n$51); [line 39, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" [label="20: DeclStmt \n VARIABLE_DECLARED(s:destructor_scope::S); [line 39, column 3]\n n$51=_fun_destructor_scope::S::S(&s:destructor_scope::S*) [line 39, column 5]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_19" ; -"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_21" [label="21: DeclStmt \n VARIABLE_DECLARED(x1:destructor_scope::X); [line 38, column 3]\n n$52=_fun_destructor_scope::X::X(&x1:destructor_scope::X*) [line 38, column 5]\n EXIT_SCOPE(n$52); [line 38, column 5]\n " shape="box"] +"test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_21" [label="21: DeclStmt \n VARIABLE_DECLARED(x1:destructor_scope::X); [line 38, column 3]\n n$52=_fun_destructor_scope::X::X(&x1:destructor_scope::X*) [line 38, column 5]\n " shape="box"] "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_21" -> "test1#destructor_scope#3167061604758065234.d3af82d2ddb9b80d2c9930cb62bbbffa_20" ; @@ -130,10 +130,10 @@ digraph cfg { "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_1" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_11" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" [label="2: Exit destructor_scope::test2 \n NULLIFY(&x1); [line 66, column 1]\n NULLIFY(&x3); [line 66, column 1]\n NULLIFY(&x2); [line 66, column 1]\n " color=yellow style=filled] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" [label="2: Exit destructor_scope::test2 \n " color=yellow style=filled] -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_3" [label="3: Destruction(Scope) \n _=*&x1:destructor_scope::X [line 66, column 1]\n n$1=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 66, column 1]\n APPLY_ABSTRACTION; [line 66, column 1]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_3" [label="3: Destruction(Scope) \n _=*&x1:destructor_scope::X [line 66, column 1]\n n$1=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 66, column 1]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_3" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" ; @@ -141,31 +141,31 @@ 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, if) \n n$3=*&a:_Bool [line 59, column 7]\n PRUNE(n$3, true); [line 59, column 7]\n NULLIFY(&a); [line 59, column 7]\n EXIT_SCOPE(n$3,a); [line 59, column 7]\n " shape="invhouse"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" [label="5: Prune (true branch, if) \n n$3=*&a:_Bool [line 59, column 7]\n PRUNE(n$3, true); [line 59, 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, if) \n n$3=*&a:_Bool [line 59, column 7]\n PRUNE(!n$3, false); [line 59, column 7]\n NULLIFY(&a); [line 59, column 7]\n EXIT_SCOPE(n$3,a); [line 59, column 7]\n " shape="invhouse"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_6" [label="6: Prune (false branch, if) \n n$3=*&a:_Bool [line 59, column 7]\n PRUNE(!n$3, false); [line 59, column 7]\n " shape="invhouse"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_6" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_7" [label="7: Return Stmt \n *&return:int=1 [line 61, column 5]\n _=*&x2:destructor_scope::X [line 61, column 12]\n n$5=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 61, column 12]\n _=*&x1:destructor_scope::X [line 61, column 12]\n n$7=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 61, column 12]\n EXIT_SCOPE(_,_,n$5,n$7,x2,x1); [line 61, column 12]\n APPLY_ABSTRACTION; [line 61, column 12]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_7" [label="7: Return Stmt \n *&return:int=1 [line 61, column 5]\n _=*&x2:destructor_scope::X [line 61, column 12]\n n$5=_fun_destructor_scope::X::~X(&x2:destructor_scope::X*) injected [line 61, column 12]\n _=*&x1:destructor_scope::X [line 61, column 12]\n n$7=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 61, column 12]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_7" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x2:destructor_scope::X); [line 60, column 5]\n n$9=_fun_destructor_scope::X::X(&x2:destructor_scope::X*) [line 60, column 7]\n EXIT_SCOPE(n$9); [line 60, column 7]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x2:destructor_scope::X); [line 60, column 5]\n n$9=_fun_destructor_scope::X::X(&x2:destructor_scope::X*) [line 60, column 7]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_8" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_7" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_9" [label="9: Return Stmt \n *&return:int=2 [line 64, column 5]\n _=*&x3:destructor_scope::X [line 64, column 12]\n n$11=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 64, column 12]\n _=*&x1:destructor_scope::X [line 64, column 12]\n n$13=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 64, column 12]\n EXIT_SCOPE(_,_,n$11,n$13,x3,x1); [line 64, column 12]\n APPLY_ABSTRACTION; [line 64, column 12]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_9" [label="9: Return Stmt \n *&return:int=2 [line 64, column 5]\n _=*&x3:destructor_scope::X [line 64, column 12]\n n$11=_fun_destructor_scope::X::~X(&x3:destructor_scope::X*) injected [line 64, column 12]\n _=*&x1:destructor_scope::X [line 64, column 12]\n n$13=_fun_destructor_scope::X::~X(&x1:destructor_scope::X*) injected [line 64, column 12]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_9" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_2" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x3:destructor_scope::X); [line 63, column 5]\n n$15=_fun_destructor_scope::X::X(&x3:destructor_scope::X*) [line 63, column 7]\n EXIT_SCOPE(n$15); [line 63, column 7]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x3:destructor_scope::X); [line 63, column 5]\n n$15=_fun_destructor_scope::X::X(&x3:destructor_scope::X*) [line 63, column 7]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_10" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_9" ; -"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x1:destructor_scope::X); [line 58, column 3]\n n$17=_fun_destructor_scope::X::X(&x1:destructor_scope::X*) [line 58, column 5]\n EXIT_SCOPE(n$17); [line 58, column 5]\n " shape="box"] +"test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x1:destructor_scope::X); [line 58, column 3]\n n$17=_fun_destructor_scope::X::X(&x1:destructor_scope::X*) [line 58, column 5]\n " shape="box"] "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_11" -> "test2#destructor_scope#2993434300384255445.24bf3f4c27c1719ee94d608a0df996b1_5" ; @@ -177,7 +177,7 @@ digraph cfg { "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_2" [label="2: Exit destructor_scope::S::S \n " color=yellow style=filled] -"S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" [label="3: Constructor Init \n n$1=*&this:destructor_scope::S* [line 19, column 8]\n n$2=_fun_destructor_scope::X::X(n$1.x1:destructor_scope::X*) [line 19, column 8]\n NULLIFY(&this); [line 19, column 8]\n EXIT_SCOPE(n$1,n$2,this); [line 19, column 8]\n APPLY_ABSTRACTION; [line 19, column 8]\n " shape="box"] +"S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" [label="3: Constructor Init \n n$1=*&this:destructor_scope::S* [line 19, column 8]\n n$2=_fun_destructor_scope::X::X(n$1.x1:destructor_scope::X*) [line 19, column 8]\n " shape="box"] "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_3" -> "S#S#destructor_scope#{12210000843635331998|constexpr}.cb28b79e3a75cf83720c23a83cf5bf01_2" ; @@ -188,7 +188,7 @@ digraph cfg { "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_2" [label="2: Exit destructor_scope::S::__infer_inner_destructor_~S \n " color=yellow style=filled] -"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" [label="3: Destruction(fields) \n n$0=*&this:destructor_scope::S* [line 19, column 8]\n _=*n$0.x1:destructor_scope::X [line 19, column 8]\n n$2=_fun_destructor_scope::X::~X(n$0.x1:destructor_scope::X*) injected [line 19, column 8]\n NULLIFY(&this); [line 19, column 8]\n EXIT_SCOPE(_,n$0,n$2,this); [line 19, column 8]\n APPLY_ABSTRACTION; [line 19, column 8]\n " shape="box"] +"__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" [label="3: Destruction(fields) \n n$0=*&this:destructor_scope::S* [line 19, column 8]\n _=*n$0.x1:destructor_scope::X [line 19, column 8]\n n$2=_fun_destructor_scope::X::~X(n$0.x1:destructor_scope::X*) injected [line 19, column 8]\n " shape="box"] "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_3" -> "__infer_inner_destructor_~S#S#destructor_scope#(9287491061312513566).4ef80b764b293fdc4260c9ce06a110d3_2" ; @@ -199,7 +199,7 @@ digraph cfg { "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_2" [label="2: Exit destructor_scope::S::~S \n " color=yellow style=filled] -"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" [label="3: Destruction(virtual base) \n n$0=*&this:destructor_scope::S* [line 19, column 8]\n _=*n$0:destructor_scope::S [line 19, column 8]\n n$2=_fun_destructor_scope::S::__infer_inner_destructor_~S(n$0:destructor_scope::S*) injected [line 19, column 8]\n NULLIFY(&this); [line 19, column 8]\n EXIT_SCOPE(_,n$0,n$2,this); [line 19, column 8]\n APPLY_ABSTRACTION; [line 19, column 8]\n " shape="box"] +"~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" [label="3: Destruction(virtual base) \n n$0=*&this:destructor_scope::S* [line 19, column 8]\n _=*n$0:destructor_scope::S [line 19, column 8]\n n$2=_fun_destructor_scope::S::__infer_inner_destructor_~S(n$0:destructor_scope::S*) injected [line 19, column 8]\n " shape="box"] "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_3" -> "~S#S#destructor_scope#(9287491061312513566).aca6b266020a04cd52a80258435bda76_2" ; @@ -207,18 +207,18 @@ digraph cfg { "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_1" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_2" [label="2: Exit destructor_scope::W::__infer_inner_destructor_~W \n NULLIFY(&x); [line 34, column 3]\n NULLIFY(&y); [line 34, column 3]\n " color=yellow style=filled] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_2" [label="2: Exit destructor_scope::W::__infer_inner_destructor_~W \n " color=yellow style=filled] -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_3" [label="3: Destruction(fields) \n n$0=*&this:destructor_scope::W* [line 34, column 3]\n _=*n$0.s:destructor_scope::S [line 34, column 3]\n n$6=_fun_destructor_scope::S::~S(n$0.s:destructor_scope::S*) injected [line 34, column 3]\n _=*n$0.y:destructor_scope::Y [line 34, column 3]\n n$4=_fun_destructor_scope::Y::~Y(n$0.y:destructor_scope::Y*) injected [line 34, column 3]\n _=*n$0.x:destructor_scope::X [line 34, column 3]\n n$2=_fun_destructor_scope::X::~X(n$0.x:destructor_scope::X*) injected [line 34, column 3]\n NULLIFY(&this); [line 34, column 3]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,this); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_3" [label="3: Destruction(fields) \n n$0=*&this:destructor_scope::W* [line 34, column 3]\n _=*n$0.s:destructor_scope::S [line 34, column 3]\n n$6=_fun_destructor_scope::S::~S(n$0.s:destructor_scope::S*) injected [line 34, column 3]\n _=*n$0.y:destructor_scope::Y [line 34, column 3]\n n$4=_fun_destructor_scope::Y::~Y(n$0.y:destructor_scope::Y*) injected [line 34, column 3]\n _=*n$0.x:destructor_scope::X [line 34, column 3]\n n$2=_fun_destructor_scope::X::~X(n$0.x:destructor_scope::X*) injected [line 34, column 3]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_3" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_2" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_4" [label="4: Destruction(Scope) \n _=*&y:destructor_scope::Y [line 34, column 3]\n n$9=_fun_destructor_scope::Y::~Y(&y:destructor_scope::Y*) injected [line 34, column 3]\n _=*&x:destructor_scope::X [line 34, column 3]\n n$11=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 34, column 3]\n EXIT_SCOPE(_,_,n$9,n$11,y,x); [line 34, column 3]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_4" [label="4: Destruction(Scope) \n _=*&y:destructor_scope::Y [line 34, column 3]\n n$9=_fun_destructor_scope::Y::~Y(&y:destructor_scope::Y*) injected [line 34, column 3]\n _=*&x:destructor_scope::X [line 34, column 3]\n n$11=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 34, column 3]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_4" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_3" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:destructor_scope::Y); [line 33, column 5]\n n$13=_fun_destructor_scope::Y::Y(&y:destructor_scope::Y*) [line 33, column 7]\n EXIT_SCOPE(n$13); [line 33, column 7]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:destructor_scope::Y); [line 33, column 5]\n n$13=_fun_destructor_scope::Y::Y(&y:destructor_scope::Y*) [line 33, column 7]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_5" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_4" ; @@ -226,19 +226,19 @@ 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, if) \n n$14=*&this:destructor_scope::W* [line 31, column 9]\n n$15=*n$14.b:_Bool [line 31, column 9]\n PRUNE(n$15, true); [line 31, column 9]\n EXIT_SCOPE(n$14,n$15); [line 31, column 9]\n " shape="invhouse"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" [label="7: Prune (true branch, if) \n n$14=*&this:destructor_scope::W* [line 31, column 9]\n n$15=*n$14.b:_Bool [line 31, column 9]\n PRUNE(n$15, true); [line 31, 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, if) \n n$14=*&this:destructor_scope::W* [line 31, column 9]\n n$15=*n$14.b:_Bool [line 31, column 9]\n PRUNE(!n$15, false); [line 31, column 9]\n EXIT_SCOPE(n$14,n$15); [line 31, column 9]\n " shape="invhouse"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_8" [label="8: Prune (false branch, if) \n n$14=*&this:destructor_scope::W* [line 31, column 9]\n n$15=*n$14.b:_Bool [line 31, column 9]\n PRUNE(!n$15, false); [line 31, 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" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_9" [label="9: Return Stmt \n _=*&x:destructor_scope::X [line 32, column 7]\n n$17=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 32, column 7]\n n$19=*&this:destructor_scope::W* [line 32, column 7]\n _=*n$19.s:destructor_scope::S [line 32, column 7]\n n$25=_fun_destructor_scope::S::~S(n$19.s:destructor_scope::S*) injected [line 32, column 7]\n _=*n$19.y:destructor_scope::Y [line 32, column 7]\n n$23=_fun_destructor_scope::Y::~Y(n$19.y:destructor_scope::Y*) injected [line 32, column 7]\n _=*n$19.x:destructor_scope::X [line 32, column 7]\n n$21=_fun_destructor_scope::X::~X(n$19.x:destructor_scope::X*) injected [line 32, column 7]\n NULLIFY(&this); [line 32, column 7]\n EXIT_SCOPE(_,_,_,_,n$17,n$19,n$21,n$23,n$25,x,this); [line 32, column 7]\n APPLY_ABSTRACTION; [line 32, column 7]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_9" [label="9: Return Stmt \n _=*&x:destructor_scope::X [line 32, column 7]\n n$17=_fun_destructor_scope::X::~X(&x:destructor_scope::X*) injected [line 32, column 7]\n n$19=*&this:destructor_scope::W* [line 32, column 7]\n _=*n$19.s:destructor_scope::S [line 32, column 7]\n n$25=_fun_destructor_scope::S::~S(n$19.s:destructor_scope::S*) injected [line 32, column 7]\n _=*n$19.y:destructor_scope::Y [line 32, column 7]\n n$23=_fun_destructor_scope::Y::~Y(n$19.y:destructor_scope::Y*) injected [line 32, column 7]\n _=*n$19.x:destructor_scope::X [line 32, column 7]\n n$21=_fun_destructor_scope::X::~X(n$19.x:destructor_scope::X*) injected [line 32, column 7]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_9" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_2" ; -"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:destructor_scope::X); [line 30, column 5]\n n$30=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 30, column 7]\n EXIT_SCOPE(n$30); [line 30, column 7]\n " shape="box"] +"__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:destructor_scope::X); [line 30, column 5]\n n$30=_fun_destructor_scope::X::X(&x:destructor_scope::X*) [line 30, column 7]\n " shape="box"] "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_10" -> "__infer_inner_destructor_~W#W#destructor_scope#(7330614824551855498).609202c747c70b122a8a5785422f4f26_7" ; @@ -250,7 +250,7 @@ digraph cfg { "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_2" [label="2: Exit destructor_scope::W::~W \n " color=yellow style=filled] -"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" [label="3: Destruction(virtual base) \n n$0=*&this:destructor_scope::W* [line 34, column 3]\n _=*n$0:destructor_scope::W [line 34, column 3]\n n$2=_fun_destructor_scope::W::__infer_inner_destructor_~W(n$0:destructor_scope::W*) injected [line 34, column 3]\n NULLIFY(&this); [line 34, column 3]\n EXIT_SCOPE(_,n$0,n$2,this); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] +"~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" [label="3: Destruction(virtual base) \n n$0=*&this:destructor_scope::W* [line 34, column 3]\n _=*n$0:destructor_scope::W [line 34, column 3]\n n$2=_fun_destructor_scope::W::__infer_inner_destructor_~W(n$0:destructor_scope::W*) injected [line 34, column 3]\n " shape="box"] "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_3" -> "~W#W#destructor_scope#(7330614824551855498).f9ed98feeae8b94c6906cf3cd29688b3_2" ; @@ -282,7 +282,7 @@ digraph cfg { "~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_2" [label="2: Exit destructor_scope::X::~X \n " color=yellow style=filled] -"~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_3" [label="3: Destruction(virtual base) \n n$0=*&this:destructor_scope::X* [line 10, column 9]\n _=*n$0:destructor_scope::X [line 10, column 9]\n n$2=_fun_destructor_scope::X::__infer_inner_destructor_~X(n$0:destructor_scope::X*) injected [line 10, column 9]\n NULLIFY(&this); [line 10, column 9]\n EXIT_SCOPE(_,n$0,n$2,this); [line 10, column 9]\n APPLY_ABSTRACTION; [line 10, column 9]\n " shape="box"] +"~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_3" [label="3: Destruction(virtual base) \n n$0=*&this:destructor_scope::X* [line 10, column 9]\n _=*n$0:destructor_scope::X [line 10, column 9]\n n$2=_fun_destructor_scope::X::__infer_inner_destructor_~X(n$0:destructor_scope::X*) injected [line 10, column 9]\n " shape="box"] "~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_3" -> "~X#X#destructor_scope#(17752465063768331075).e9440dc26d00e6a493a0ae5908b3f399_2" ; @@ -307,7 +307,7 @@ digraph cfg { "~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_2" [label="2: Exit destructor_scope::Y::~Y \n " color=yellow style=filled] -"~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_3" [label="3: Destruction(virtual base) \n n$0=*&this:destructor_scope::Y* [line 14, column 9]\n _=*n$0:destructor_scope::Y [line 14, column 9]\n n$2=_fun_destructor_scope::Y::__infer_inner_destructor_~Y(n$0:destructor_scope::Y*) injected [line 14, column 9]\n NULLIFY(&this); [line 14, column 9]\n EXIT_SCOPE(_,n$0,n$2,this); [line 14, column 9]\n APPLY_ABSTRACTION; [line 14, column 9]\n " shape="box"] +"~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_3" [label="3: Destruction(virtual base) \n n$0=*&this:destructor_scope::Y* [line 14, column 9]\n _=*n$0:destructor_scope::Y [line 14, column 9]\n n$2=_fun_destructor_scope::Y::__infer_inner_destructor_~Y(n$0:destructor_scope::Y*) injected [line 14, column 9]\n " shape="box"] "~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_3" -> "~Y#Y#destructor_scope#(1552422738585060844).f631a64648f2fd67ee421a0da2149c2a_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot index 0b62d02e4..99411bf23 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/destructors/simple_decl.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_2" [label="2: Exit A::__infer_inner_destructor_~A \n " color=yellow style=filled] -"__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_3" [label="3: BinaryOperatorStmt: Assign \n n$2=*&this:A* [line 10, column 10]\n *n$2.f:int=0 [line 10, column 10]\n NULLIFY(&this); [line 10, column 10]\n EXIT_SCOPE(n$2,this); [line 10, column 10]\n APPLY_ABSTRACTION; [line 10, column 10]\n " shape="box"] +"__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_3" [label="3: BinaryOperatorStmt: Assign \n n$2=*&this:A* [line 10, column 10]\n *n$2.f:int=0 [line 10, column 10]\n " shape="box"] "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_3" -> "__infer_inner_destructor_~A#A#(5328378654181921475).fc82b49c4db05388a691369e292a802b_2" ; @@ -18,7 +18,7 @@ digraph cfg { "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" [label="2: Exit A::~A \n " color=yellow style=filled] -"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction(virtual base) \n n$0=*&this:A* [line 10, column 17]\n _=*n$0:A [line 10, column 17]\n n$2=_fun_A::__infer_inner_destructor_~A(n$0:A*) injected [line 10, column 17]\n NULLIFY(&this); [line 10, column 17]\n EXIT_SCOPE(_,n$0,n$2,this); [line 10, column 17]\n APPLY_ABSTRACTION; [line 10, column 17]\n " shape="box"] +"~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" [label="3: Destruction(virtual base) \n n$0=*&this:A* [line 10, column 17]\n _=*n$0:A [line 10, column 17]\n n$2=_fun_A::__infer_inner_destructor_~A(n$0:A*) injected [line 10, column 17]\n " shape="box"] "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_3" -> "~A#A#(5328378654181921475).cff4808f235f4b18d15ccd10cb1df4ff_2" ; @@ -29,7 +29,7 @@ digraph cfg { "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" [label="2: Exit B::__infer_inner_destructor_~B \n " color=yellow style=filled] -"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_3" [label="3: BinaryOperatorStmt: Assign \n n$2=*&this:B* [line 18, column 11]\n *n$2.f:int=1 [line 18, column 11]\n NULLIFY(&this); [line 18, column 11]\n EXIT_SCOPE(n$2,this); [line 18, column 11]\n APPLY_ABSTRACTION; [line 18, column 11]\n " shape="box"] +"__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_3" [label="3: BinaryOperatorStmt: Assign \n n$2=*&this:B* [line 18, column 11]\n *n$2.f:int=1 [line 18, column 11]\n " shape="box"] "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_3" -> "__infer_inner_destructor_~B#B#(7876366742276079110).fe5e2468da434006eca91d5190796d09_2" ; @@ -40,7 +40,7 @@ digraph cfg { "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" [label="2: Exit B::~B \n " color=yellow style=filled] -"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction(virtual base) \n n$0=*&this:B* [line 18, column 18]\n _=*n$0:B [line 18, column 18]\n n$2=_fun_B::__infer_inner_destructor_~B(n$0:B*) injected [line 18, column 18]\n NULLIFY(&this); [line 18, column 18]\n EXIT_SCOPE(_,n$0,n$2,this); [line 18, column 18]\n APPLY_ABSTRACTION; [line 18, column 18]\n " shape="box"] +"~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" [label="3: Destruction(virtual base) \n n$0=*&this:B* [line 18, column 18]\n _=*n$0:B [line 18, column 18]\n n$2=_fun_B::__infer_inner_destructor_~B(n$0:B*) injected [line 18, column 18]\n " shape="box"] "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_3" -> "~B#B#(7876366742276079110).576ee7cb70a3e3453b3760583a94887e_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot index b7efee650..eb0445f40 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const1.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" [label="2: Exit __infer_globals_initializer_global \n " color=yellow style=filled] -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$global:X const ); [line 11, column 1]\n n$0=_fun_X::X(&#GB$global:X const *) [line 11, column 9]\n EXIT_SCOPE(n$0); [line 11, column 9]\n APPLY_ABSTRACTION; [line 11, column 9]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$global:X const ); [line 11, column 1]\n n$0=_fun_X::X(&#GB$global:X const *) [line 11, column 9]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -18,7 +18,7 @@ digraph cfg { "__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_2" [label="2: Exit __infer_globals_initializer_v \n " color=yellow style=filled] -"__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$v:int const ); [line 15, column 1]\n *&#GB$v:int=2 [line 15, column 1]\n APPLY_ABSTRACTION; [line 15, column 1]\n " shape="box"] +"__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$v:int const ); [line 15, column 1]\n *&#GB$v:int=2 [line 15, column 1]\n " shape="box"] "__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_3" -> "__infer_globals_initializer_v#708fabe5dc8ff523caaa5f44184921e8.588095fa475e4a9e8c83f50f26a48ea9_2" ; @@ -29,7 +29,7 @@ digraph cfg { "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_2" [label="2: Exit test \n " color=yellow style=filled] -"test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 13, column 12]\n n$1=_fun_X::X(n$0:X*,&#GB$global:X const &) [line 13, column 19]\n NULLIFY(&__return_param); [line 13, column 19]\n EXIT_SCOPE(n$0,n$1,__return_param); [line 13, column 19]\n APPLY_ABSTRACTION; [line 13, column 19]\n " shape="box"] +"test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 13, column 12]\n n$1=_fun_X::X(n$0:X*,&#GB$global:X const &) [line 13, column 19]\n " shape="box"] "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_3" -> "test(class X)#18241244337164948030.76ba1cf61f22b6e7f39fb9940d283ba3_2" ; @@ -40,11 +40,11 @@ digraph cfg { "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_2" [label="2: Exit test2 \n " color=yellow style=filled] -"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" [label="3: Return Stmt \n n$0=*&#GB$v:int [line 19, column 10]\n *&return:int=n$0 [line 19, column 3]\n EXIT_SCOPE(n$0); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" [label="3: Return Stmt \n n$0=*&#GB$v:int [line 19, column 10]\n *&return:int=n$0 [line 19, column 3]\n " shape="box"] "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_2" ; -"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(local:int); [line 18, column 3]\n n$1=*&#GB$v:int [line 18, column 15]\n *&local:int=n$1 [line 18, column 3]\n NULLIFY(&local); [line 18, column 3]\n EXIT_SCOPE(n$1,local); [line 18, column 3]\n " shape="box"] +"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(local:int); [line 18, column 3]\n n$1=*&#GB$v:int [line 18, column 15]\n *&local:int=n$1 [line 18, column 3]\n " shape="box"] "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_4" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" ; 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 34c80d4ec..3c368ae69 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/global_const2.cpp.dot @@ -20,15 +20,15 @@ digraph cfg { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_5" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_7" ; -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=2 [line 8, column 20]\n APPLY_ABSTRACTION; [line 8, column 20]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_6" [label="6: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=2 [line 8, column 20]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_6" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" ; -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=3 [line 8, column 20]\n APPLY_ABSTRACTION; [line 8, column 20]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=3 [line 8, column 20]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_7" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" ; -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" [label="8: DeclStmt \n VARIABLE_DECLARED(#GB$global:int const ); [line 8, column 1]\n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 8, column 20]\n *&#GB$global:int=n$1 [line 8, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 8, column 1]\n EXIT_SCOPE(n$1,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 8, column 1]\n APPLY_ABSTRACTION; [line 8, column 1]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" [label="8: DeclStmt \n VARIABLE_DECLARED(#GB$global:int const ); [line 8, column 1]\n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 8, column 20]\n *&#GB$global:int=n$1 [line 8, column 1]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_8" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -39,7 +39,7 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Return Stmt \n n$0=*&#GB$global:int [line 9, column 21]\n *&return:int=n$0 [line 9, column 14]\n EXIT_SCOPE(n$0); [line 9, column 14]\n APPLY_ABSTRACTION; [line 9, column 14]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Return Stmt \n n$0=*&#GB$global:int [line 9, column 21]\n *&return:int=n$0 [line 9, column 14]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot index e2f7f5961..deb669893 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/globals/initializer.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_2" [label="2: Exit __infer_globals_initializer_x \n " color=yellow style=filled] -"__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$x:int); [line 12, column 1]\n n$0=_fun_foo() [line 12, column 16]\n *&#GB$x:int=(n$0 + 5) [line 12, column 1]\n EXIT_SCOPE(n$0); [line 12, column 1]\n APPLY_ABSTRACTION; [line 12, column 1]\n " shape="box"] +"__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$x:int); [line 12, column 1]\n n$0=_fun_foo() [line 12, column 16]\n *&#GB$x:int=(n$0 + 5) [line 12, column 1]\n " shape="box"] "__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_3" -> "__infer_globals_initializer_x#346c89dda90b0be6289346ddbf0528bc.83245b9f254e67fb6f879cc1e35a1bb1_2" ; @@ -18,7 +18,7 @@ digraph cfg { "__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_2" [label="2: Exit __infer_globals_initializer_y \n " color=yellow style=filled] -"__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$y:int); [line 13, column 1]\n n$0=*&#GB$x:int [line 13, column 16]\n n$1=*&#GB$z:int [line 13, column 20]\n *&#GB$y:int=((n$0 + n$1) + 1) [line 13, column 1]\n EXIT_SCOPE(n$0,n$1); [line 13, column 1]\n APPLY_ABSTRACTION; [line 13, column 1]\n " shape="box"] +"__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$y:int); [line 13, column 1]\n n$0=*&#GB$x:int [line 13, column 16]\n n$1=*&#GB$z:int [line 13, column 20]\n *&#GB$y:int=((n$0 + n$1) + 1) [line 13, column 1]\n " shape="box"] "__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_3" -> "__infer_globals_initializer_y#346c89dda90b0be6289346ddbf0528bc.e7d659d11156f551397be6d5db27f31c_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/if.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/if.cpp.dot index a4d37fd70..a8a0cee1b 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/if.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/if.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_2" [label="2: Exit if_then \n " color=yellow style=filled] -"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_3" [label="3: BinaryOperatorStmt: Assign \n *&y:int=111 [line 20, column 3]\n NULLIFY(&y); [line 20, column 3]\n EXIT_SCOPE(y); [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_3" [label="3: BinaryOperatorStmt: Assign \n *&y:int=111 [line 20, column 3]\n " shape="box"] "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_3" -> "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_2" ; @@ -20,19 +20,19 @@ digraph cfg { "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_5" -> "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_6" ; "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_5" -> "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_7" ; -"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 1234), true); [line 17, column 7]\n EXIT_SCOPE(n$0); [line 17, column 7]\n " shape="invhouse"] +"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 1234), true); [line 17, column 7]\n " shape="invhouse"] "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_6" -> "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_8" ; -"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 1234), false); [line 17, column 7]\n EXIT_SCOPE(n$0); [line 17, column 7]\n APPLY_ABSTRACTION; [line 17, column 7]\n " shape="invhouse"] +"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 1234), false); [line 17, column 7]\n " shape="invhouse"] "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_7" -> "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_4" ; -"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 18, column 9]\n *&y:int=n$1 [line 18, column 5]\n NULLIFY(&y); [line 18, column 5]\n NULLIFY(&x); [line 18, column 5]\n EXIT_SCOPE(n$1,y,x); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="box"] +"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 18, column 9]\n *&y:int=n$1 [line 18, column 5]\n " shape="box"] "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_8" -> "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_4" ; -"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_9" [label="9: DeclStmt \n VARIABLE_DECLARED(y:int); [line 16, column 3]\n *&y:int=0 [line 16, column 3]\n NULLIFY(&y); [line 16, column 3]\n EXIT_SCOPE(y); [line 16, column 3]\n " shape="box"] +"if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_9" [label="9: DeclStmt \n VARIABLE_DECLARED(y:int); [line 16, column 3]\n *&y:int=0 [line 16, column 3]\n " shape="box"] "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_9" -> "if_then#3243301102387331199.d347686d1797cf6cf5f5b9b986a1e67d_5" ; @@ -43,7 +43,7 @@ digraph cfg { "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_2" [label="2: Exit if_then_cond_var \n " color=yellow style=filled] -"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_3" [label="3: BinaryOperatorStmt: Assign \n *&y:int=111 [line 47, column 3]\n NULLIFY(&y); [line 47, column 3]\n EXIT_SCOPE(y); [line 47, column 3]\n APPLY_ABSTRACTION; [line 47, column 3]\n " shape="box"] +"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_3" [label="3: BinaryOperatorStmt: Assign \n *&y:int=111 [line 47, column 3]\n " shape="box"] "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_3" -> "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_2" ; @@ -51,11 +51,11 @@ digraph cfg { "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_4" -> "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_3" ; -"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_5" [label="5: Prune (true branch, if) \n n$0=*&x:int [line 44, column 11]\n PRUNE(n$0, true); [line 44, column 11]\n EXIT_SCOPE(n$0); [line 44, column 11]\n " shape="invhouse"] +"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_5" [label="5: Prune (true branch, if) \n n$0=*&x:int [line 44, column 11]\n PRUNE(n$0, true); [line 44, column 11]\n " shape="invhouse"] "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_5" -> "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_8" ; -"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_6" [label="6: Prune (false branch, if) \n n$0=*&x:int [line 44, column 11]\n PRUNE(!n$0, false); [line 44, column 11]\n NULLIFY(&x); [line 44, column 11]\n EXIT_SCOPE(n$0,x); [line 44, column 11]\n APPLY_ABSTRACTION; [line 44, column 11]\n " shape="invhouse"] +"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_6" [label="6: Prune (false branch, if) \n n$0=*&x:int [line 44, column 11]\n PRUNE(!n$0, false); [line 44, column 11]\n " shape="invhouse"] "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_6" -> "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_4" ; @@ -64,11 +64,11 @@ digraph cfg { "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_7" -> "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_5" ; "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_7" -> "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_6" ; -"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 45, column 9]\n *&y:int=n$1 [line 45, column 5]\n NULLIFY(&x); [line 45, column 5]\n NULLIFY(&y); [line 45, column 5]\n EXIT_SCOPE(n$1,x,y); [line 45, column 5]\n APPLY_ABSTRACTION; [line 45, column 5]\n " shape="box"] +"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 45, column 9]\n *&y:int=n$1 [line 45, column 5]\n " shape="box"] "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_8" -> "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_4" ; -"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_9" [label="9: DeclStmt \n VARIABLE_DECLARED(y:int); [line 43, column 3]\n *&y:int=0 [line 43, column 3]\n NULLIFY(&y); [line 43, column 3]\n EXIT_SCOPE(y); [line 43, column 3]\n " shape="box"] +"if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_9" [label="9: DeclStmt \n VARIABLE_DECLARED(y:int); [line 43, column 3]\n *&y:int=0 [line 43, column 3]\n " shape="box"] "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_9" -> "if_then_cond_var#9765064652804376901.7ddd70d5a9df7af72d704522a5beba46_7" ; @@ -79,7 +79,7 @@ digraph cfg { "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_2" [label="2: Exit if_then_else \n " color=yellow style=filled] -"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_3" [label="3: BinaryOperatorStmt: Assign \n *&y:int=333 [line 39, column 3]\n NULLIFY(&y); [line 39, column 3]\n EXIT_SCOPE(y); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_3" [label="3: BinaryOperatorStmt: Assign \n *&y:int=333 [line 39, column 3]\n " shape="box"] "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_3" -> "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_2" ; @@ -87,28 +87,28 @@ digraph cfg { "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_4" -> "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_3" ; -"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&x:int [line 34, column 7]\n NULLIFY(&x); [line 34, column 7]\n EXIT_SCOPE(x); [line 34, column 7]\n " shape="box"] +"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&x:int [line 34, column 7]\n " shape="box"] "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_5" -> "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_6" ; "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_5" -> "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_7" ; -"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 1234), true); [line 34, column 7]\n EXIT_SCOPE(n$0); [line 34, column 7]\n " shape="invhouse"] +"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 1234), true); [line 34, column 7]\n " shape="invhouse"] "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_6" -> "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_8" ; -"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 1234), false); [line 34, column 7]\n EXIT_SCOPE(n$0); [line 34, column 7]\n " shape="invhouse"] +"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 1234), false); [line 34, column 7]\n " shape="invhouse"] "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_7" -> "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_9" ; -"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_8" [label="8: BinaryOperatorStmt: Assign \n *&y:int=111 [line 35, column 5]\n NULLIFY(&y); [line 35, column 5]\n EXIT_SCOPE(y); [line 35, column 5]\n APPLY_ABSTRACTION; [line 35, column 5]\n " shape="box"] +"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_8" [label="8: BinaryOperatorStmt: Assign \n *&y:int=111 [line 35, column 5]\n " shape="box"] "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_8" -> "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_4" ; -"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_9" [label="9: BinaryOperatorStmt: Assign \n *&y:int=222 [line 37, column 5]\n NULLIFY(&y); [line 37, column 5]\n EXIT_SCOPE(y); [line 37, column 5]\n APPLY_ABSTRACTION; [line 37, column 5]\n " shape="box"] +"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_9" [label="9: BinaryOperatorStmt: Assign \n *&y:int=222 [line 37, column 5]\n " shape="box"] "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_9" -> "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_4" ; -"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_10" [label="10: DeclStmt \n VARIABLE_DECLARED(y:int); [line 33, column 3]\n *&y:int=0 [line 33, column 3]\n NULLIFY(&y); [line 33, column 3]\n EXIT_SCOPE(y); [line 33, column 3]\n " shape="box"] +"if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_10" [label="10: DeclStmt \n VARIABLE_DECLARED(y:int); [line 33, column 3]\n *&y:int=0 [line 33, column 3]\n " shape="box"] "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_10" -> "if_then_else#3656205175867614205.85ec2e9f625ee4f71821f6eee2969089_5" ; @@ -119,7 +119,7 @@ digraph cfg { "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_2" [label="2: Exit if_then_else_cond_var \n " color=yellow style=filled] -"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_3" [label="3: BinaryOperatorStmt: Assign \n *&y:int=111 [line 57, column 3]\n NULLIFY(&y); [line 57, column 3]\n EXIT_SCOPE(y); [line 57, column 3]\n APPLY_ABSTRACTION; [line 57, column 3]\n " shape="box"] +"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_3" [label="3: BinaryOperatorStmt: Assign \n *&y:int=111 [line 57, column 3]\n " shape="box"] "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_3" -> "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_2" ; @@ -127,11 +127,11 @@ digraph cfg { "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_4" -> "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_3" ; -"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_5" [label="5: Prune (true branch, if) \n n$0=*&x:int [line 52, column 11]\n PRUNE(n$0, true); [line 52, column 11]\n EXIT_SCOPE(n$0); [line 52, column 11]\n " shape="invhouse"] +"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_5" [label="5: Prune (true branch, if) \n n$0=*&x:int [line 52, column 11]\n PRUNE(n$0, true); [line 52, column 11]\n " shape="invhouse"] "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_5" -> "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_8" ; -"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_6" [label="6: Prune (false branch, if) \n n$0=*&x:int [line 52, column 11]\n PRUNE(!n$0, false); [line 52, column 11]\n EXIT_SCOPE(n$0); [line 52, column 11]\n " shape="invhouse"] +"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_6" [label="6: Prune (false branch, if) \n n$0=*&x:int [line 52, column 11]\n PRUNE(!n$0, false); [line 52, column 11]\n " shape="invhouse"] "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_6" -> "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_9" ; @@ -140,15 +140,15 @@ digraph cfg { "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_7" -> "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_5" ; "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_7" -> "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_6" ; -"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 53, column 9]\n *&y:int=n$1 [line 53, column 5]\n NULLIFY(&x); [line 53, column 5]\n NULLIFY(&y); [line 53, column 5]\n EXIT_SCOPE(n$1,x,y); [line 53, column 5]\n APPLY_ABSTRACTION; [line 53, column 5]\n " shape="box"] +"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 53, column 9]\n *&y:int=n$1 [line 53, column 5]\n " shape="box"] "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_8" -> "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_4" ; -"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_9" [label="9: BinaryOperatorStmt: Assign \n n$2=*&x:int [line 55, column 9]\n *&y:int=(n$2 * 2) [line 55, column 5]\n NULLIFY(&x); [line 55, column 5]\n NULLIFY(&y); [line 55, column 5]\n EXIT_SCOPE(n$2,x,y); [line 55, column 5]\n APPLY_ABSTRACTION; [line 55, column 5]\n " shape="box"] +"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_9" [label="9: BinaryOperatorStmt: Assign \n n$2=*&x:int [line 55, column 9]\n *&y:int=(n$2 * 2) [line 55, column 5]\n " shape="box"] "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_9" -> "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_4" ; -"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(y:int); [line 51, column 3]\n *&y:int=0 [line 51, column 3]\n NULLIFY(&y); [line 51, column 3]\n EXIT_SCOPE(y); [line 51, column 3]\n " shape="box"] +"if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(y:int); [line 51, column 3]\n *&y:int=0 [line 51, column 3]\n " shape="box"] "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_10" -> "if_then_else_cond_var#2787713781872682235.ef4601af9985bcc4fc7e24bbd9a44d0f_7" ; @@ -163,32 +163,32 @@ digraph cfg { "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_3" -> "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_4" ; -"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_4" [label="4: between_join_and_exit \n " shape="box"] "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_4" -> "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_2" ; -"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&x:int [line 25, column 7]\n NULLIFY(&x); [line 25, column 7]\n EXIT_SCOPE(x); [line 25, column 7]\n " shape="box"] +"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&x:int [line 25, column 7]\n " shape="box"] "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_5" -> "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_6" ; "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_5" -> "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_7" ; -"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 1234), true); [line 25, column 7]\n EXIT_SCOPE(n$0); [line 25, column 7]\n " shape="invhouse"] +"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 1234), true); [line 25, column 7]\n " shape="invhouse"] "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_6" -> "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_8" ; -"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 1234), false); [line 25, column 7]\n EXIT_SCOPE(n$0); [line 25, column 7]\n " shape="invhouse"] +"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 1234), false); [line 25, column 7]\n " shape="invhouse"] "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_7" -> "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_9" ; -"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_8" [label="8: BinaryOperatorStmt: Assign \n *&y:int=111 [line 26, column 5]\n NULLIFY(&y); [line 26, column 5]\n EXIT_SCOPE(y); [line 26, column 5]\n APPLY_ABSTRACTION; [line 26, column 5]\n " shape="box"] +"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_8" [label="8: BinaryOperatorStmt: Assign \n *&y:int=111 [line 26, column 5]\n " shape="box"] "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_8" -> "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_3" ; -"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_9" [label="9: BinaryOperatorStmt: Assign \n *&y:int=222 [line 28, column 5]\n NULLIFY(&y); [line 28, column 5]\n EXIT_SCOPE(y); [line 28, column 5]\n APPLY_ABSTRACTION; [line 28, column 5]\n " shape="box"] +"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_9" [label="9: BinaryOperatorStmt: Assign \n *&y:int=222 [line 28, column 5]\n " shape="box"] "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_9" -> "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_3" ; -"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_10" [label="10: DeclStmt \n VARIABLE_DECLARED(y:int); [line 24, column 3]\n *&y:int=0 [line 24, column 3]\n NULLIFY(&y); [line 24, column 3]\n EXIT_SCOPE(y); [line 24, column 3]\n " shape="box"] +"if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_10" [label="10: DeclStmt \n VARIABLE_DECLARED(y:int); [line 24, column 3]\n *&y:int=0 [line 24, column 3]\n " shape="box"] "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_10" -> "if_then_else_return#4431567770337235941.d66facc967fa3d7bd91a335f2fa44d33_5" ; @@ -203,7 +203,7 @@ digraph cfg { "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_3" -> "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_4" ; -"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 62, column 3]\n " shape="box"] +"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_4" [label="4: between_join_and_exit \n " shape="box"] "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_4" -> "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_2" ; @@ -212,15 +212,15 @@ digraph cfg { "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_5" -> "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_6" ; "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_5" -> "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_7" ; -"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 4), true); [line 62, column 18]\n EXIT_SCOPE(n$0); [line 62, column 18]\n " shape="invhouse"] +"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 4), true); [line 62, column 18]\n " shape="invhouse"] "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_6" -> "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_8" ; -"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 4), false); [line 62, column 18]\n NULLIFY(&x); [line 62, column 18]\n EXIT_SCOPE(n$0,x); [line 62, column 18]\n APPLY_ABSTRACTION; [line 62, column 18]\n " shape="invhouse"] +"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 4), false); [line 62, column 18]\n " shape="invhouse"] "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_7" -> "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_3" ; -"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 63, column 9]\n *&y:int=n$1 [line 63, column 5]\n NULLIFY(&x); [line 63, column 5]\n NULLIFY(&y); [line 63, column 5]\n EXIT_SCOPE(n$1,x,y); [line 63, column 5]\n APPLY_ABSTRACTION; [line 63, column 5]\n " shape="box"] +"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 63, column 9]\n *&y:int=n$1 [line 63, column 5]\n " shape="box"] "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_8" -> "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_3" ; @@ -228,7 +228,7 @@ digraph cfg { "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_9" -> "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_5" ; -"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(y:int); [line 61, column 3]\n *&y:int=0 [line 61, column 3]\n NULLIFY(&y); [line 61, column 3]\n EXIT_SCOPE(y); [line 61, column 3]\n " shape="box"] +"if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(y:int); [line 61, column 3]\n *&y:int=0 [line 61, column 3]\n " shape="box"] "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_10" -> "if_then_init#11608825163312327704.a731baaac66bccf9a8e7312d2dc99b5f_9" ; @@ -243,7 +243,7 @@ digraph cfg { "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_3" -> "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_4" ; -"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_4" [label="4: between_join_and_exit \n " shape="box"] "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_4" -> "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_2" ; @@ -252,19 +252,19 @@ digraph cfg { "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_5" -> "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_6" ; "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_5" -> "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_7" ; -"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 1234), true); [line 10, column 7]\n EXIT_SCOPE(n$0); [line 10, column 7]\n " shape="invhouse"] +"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 1234), true); [line 10, column 7]\n " shape="invhouse"] "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_6" -> "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_8" ; -"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 1234), false); [line 10, column 7]\n EXIT_SCOPE(n$0); [line 10, column 7]\n APPLY_ABSTRACTION; [line 10, column 7]\n " shape="invhouse"] +"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 1234), false); [line 10, column 7]\n " shape="invhouse"] "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_7" -> "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_3" ; -"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 11, column 9]\n *&y:int=n$1 [line 11, column 5]\n NULLIFY(&y); [line 11, column 5]\n NULLIFY(&x); [line 11, column 5]\n EXIT_SCOPE(n$1,y,x); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="box"] +"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&x:int [line 11, column 9]\n *&y:int=n$1 [line 11, column 5]\n " shape="box"] "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_8" -> "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_3" ; -"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_9" [label="9: DeclStmt \n VARIABLE_DECLARED(y:int); [line 9, column 3]\n *&y:int=0 [line 9, column 3]\n NULLIFY(&y); [line 9, column 3]\n EXIT_SCOPE(y); [line 9, column 3]\n " shape="box"] +"if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_9" [label="9: DeclStmt \n VARIABLE_DECLARED(y:int); [line 9, column 3]\n *&y:int=0 [line 9, column 3]\n " shape="box"] "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_9" -> "if_then_return#7560400730320632534.710a386e6459fee25726e9e12804127e_5" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot index c57445c66..174d39058 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/include_header/include_templ.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_1" -> "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_4" ; -"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_2" [label="2: Exit div0_B_A \n NULLIFY(&b); [line 19, column 1]\n " color=yellow style=filled] +"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_2" [label="2: Exit div0_B_A \n " color=yellow style=filled] -"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_3" [label="3: Call _fun_B::div0 \n _=*&b:B [line 18, column 3]\n n$1=_fun_B::div0(&b:B&) [line 18, column 3]\n EXIT_SCOPE(_,n$1,b); [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] +"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_3" [label="3: Call _fun_B::div0 \n _=*&b:B [line 18, column 3]\n n$1=_fun_B::div0(&b:B&) [line 18, column 3]\n " shape="box"] "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_3" -> "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_2" ; -"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 17, column 3]\n n$2=_fun_B::B(&b:B*) [line 17, column 8]\n EXIT_SCOPE(n$2); [line 17, column 8]\n " shape="box"] +"div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 17, column 3]\n n$2=_fun_B::B(&b:B*) [line 17, column 8]\n " shape="box"] "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_4" -> "div0_B_A#16868528730428357658.9b8f4e2ce0bf464a2adbe53fb7a34f64_3" ; @@ -19,14 +19,14 @@ digraph cfg { "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_1" -> "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_4" ; -"div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_2" [label="2: Exit div0_B_int \n NULLIFY(&b); [line 14, column 1]\n " color=yellow style=filled] +"div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_2" [label="2: Exit div0_B_int \n " color=yellow style=filled] -"div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_3" [label="3: Call _fun_B::div0 \n _=*&b:B [line 13, column 3]\n n$1=_fun_B::div0(&b:B&) [line 13, column 3]\n EXIT_SCOPE(_,n$1,b); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_3" [label="3: Call _fun_B::div0 \n _=*&b:B [line 13, column 3]\n n$1=_fun_B::div0(&b:B&) [line 13, column 3]\n " shape="box"] "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_3" -> "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_2" ; -"div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 12, column 3]\n n$2=_fun_B::B(&b:B*) [line 12, column 10]\n EXIT_SCOPE(n$2); [line 12, column 10]\n " shape="box"] +"div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 12, column 3]\n n$2=_fun_B::B(&b:B*) [line 12, column 10]\n " shape="box"] "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_4" -> "div0_B_int#1022620961131326491.1d61c8d3035b9223f336f2b0e83b1cd8_3" ; @@ -37,7 +37,7 @@ digraph cfg { "div0_templ#3392200936327226954.953c7991c92a71a697b380b40ee16cec_2" [label="2: Exit div0_templ \n " color=yellow style=filled] -"div0_templ#3392200936327226954.953c7991c92a71a697b380b40ee16cec_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"div0_templ#3392200936327226954.953c7991c92a71a697b380b40ee16cec_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 21, column 3]\n " shape="box"] "div0_templ#3392200936327226954.953c7991c92a71a697b380b40ee16cec_3" -> "div0_templ#3392200936327226954.953c7991c92a71a697b380b40ee16cec_2" ; @@ -48,7 +48,7 @@ digraph cfg { "div0_templ#7407833322787370357.019ce5e1d40ea68361ad0caeb08c53f0_2" [label="2: Exit div0_templ \n " color=yellow style=filled] -"div0_templ#7407833322787370357.019ce5e1d40ea68361ad0caeb08c53f0_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"div0_templ#7407833322787370357.019ce5e1d40ea68361ad0caeb08c53f0_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 21, column 3]\n " shape="box"] "div0_templ#7407833322787370357.019ce5e1d40ea68361ad0caeb08c53f0_3" -> "div0_templ#7407833322787370357.019ce5e1d40ea68361ad0caeb08c53f0_2" ; @@ -59,7 +59,7 @@ digraph cfg { "div0_templ_A#15777392272986999827.c3e6f124c5921f718c539c423038b21a_2" [label="2: Exit div0_templ_A \n " color=yellow style=filled] -"div0_templ_A#15777392272986999827.c3e6f124c5921f718c539c423038b21a_3" [label="3: Call _fun_div0_templ \n n$0=_fun_div0_templ() [line 23, column 22]\n EXIT_SCOPE(n$0); [line 23, column 22]\n APPLY_ABSTRACTION; [line 23, column 22]\n " shape="box"] +"div0_templ_A#15777392272986999827.c3e6f124c5921f718c539c423038b21a_3" [label="3: Call _fun_div0_templ \n n$0=_fun_div0_templ() [line 23, column 22]\n " shape="box"] "div0_templ_A#15777392272986999827.c3e6f124c5921f718c539c423038b21a_3" -> "div0_templ_A#15777392272986999827.c3e6f124c5921f718c539c423038b21a_2" ; @@ -70,7 +70,7 @@ digraph cfg { "div0_templ_int#6723189882400805523.156da066b41947aa58ec7afb9551dc47_2" [label="2: Exit div0_templ_int \n " color=yellow style=filled] -"div0_templ_int#6723189882400805523.156da066b41947aa58ec7afb9551dc47_3" [label="3: Call _fun_div0_templ \n n$0=_fun_div0_templ() [line 21, column 25]\n EXIT_SCOPE(n$0); [line 21, column 25]\n APPLY_ABSTRACTION; [line 21, column 25]\n " shape="box"] +"div0_templ_int#6723189882400805523.156da066b41947aa58ec7afb9551dc47_3" [label="3: Call _fun_div0_templ \n n$0=_fun_div0_templ() [line 21, column 25]\n " shape="box"] "div0_templ_int#6723189882400805523.156da066b41947aa58ec7afb9551dc47_3" -> "div0_templ_int#6723189882400805523.156da066b41947aa58ec7afb9551dc47_2" ; @@ -81,7 +81,7 @@ digraph cfg { "div0#B#(9546261644456360892).132a3992ba75c40ad8966e1504521d7d_2" [label="2: Exit B::div0 \n " color=yellow style=filled] -"div0#B#(9546261644456360892).132a3992ba75c40ad8966e1504521d7d_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 14, column 16]\n APPLY_ABSTRACTION; [line 14, column 16]\n " shape="box"] +"div0#B#(9546261644456360892).132a3992ba75c40ad8966e1504521d7d_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 14, column 16]\n " shape="box"] "div0#B#(9546261644456360892).132a3992ba75c40ad8966e1504521d7d_3" -> "div0#B#(9546261644456360892).132a3992ba75c40ad8966e1504521d7d_2" ; @@ -99,7 +99,7 @@ digraph cfg { "div0#B#(10848361513712066289).6e41f7aae5452f098d414bfe7ad8cf85_2" [label="2: Exit B::div0 \n " color=yellow style=filled] -"div0#B#(10848361513712066289).6e41f7aae5452f098d414bfe7ad8cf85_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 14, column 16]\n APPLY_ABSTRACTION; [line 14, column 16]\n " shape="box"] +"div0#B#(10848361513712066289).6e41f7aae5452f098d414bfe7ad8cf85_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 14, column 16]\n " shape="box"] "div0#B#(10848361513712066289).6e41f7aae5452f098d414bfe7ad8cf85_3" -> "div0#B#(10848361513712066289).6e41f7aae5452f098d414bfe7ad8cf85_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot index da7fe93d7..8d4e9c1fb 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/initialization/inheriting_constructor.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&b); [line 16, column 22]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(b:B); [line 16, column 14]\n n$0=_fun_B::A(&b:B*,5:int) [line 16, column 16]\n EXIT_SCOPE(n$0,b); [line 16, column 16]\n APPLY_ABSTRACTION; [line 16, column 16]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(b:B); [line 16, column 14]\n n$0=_fun_B::A(&b:B*,5:int) [line 16, column 16]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -32,7 +32,7 @@ digraph cfg { "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_2" [label="2: Exit B::A \n " color=yellow style=filled] -"A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_3" [label="3: Constructor Init \n n$1=*&this:B* [line 13, column 12]\n n$3=*&__param_0:int [line 13, column 12]\n n$2=_fun_A::A(n$1:B*,n$3:int) [line 13, column 12]\n NULLIFY(&this); [line 13, column 12]\n NULLIFY(&__param_0); [line 13, column 12]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 13, column 12]\n APPLY_ABSTRACTION; [line 13, column 12]\n " shape="box"] +"A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_3" [label="3: Constructor Init \n n$1=*&this:B* [line 13, column 12]\n n$3=*&__param_0:int [line 13, column 12]\n n$2=_fun_A::A(n$1:B*,n$3:int) [line 13, column 12]\n " shape="box"] "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_3" -> "A#B#{18258347749069050656}.8db05fedcc195ce779d29dca399277d8_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot index 7f94628e0..e03762fd0 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/initialization/init_list.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_2" [label="2: Exit init_list::init_in_binop \n " color=yellow style=filled] -"init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&x:int [line 51, column 34]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_init_list__n$1:int); [line 51, column 42]\n *&0$?%__sil_tmpSIL_init_list__n$1:int=0 [line 51, column 42]\n *&x:int=(-n$0 & ~&0$?%__sil_tmpSIL_init_list__n$1) [line 51, column 29]\n NULLIFY(&0$?%__sil_tmpSIL_init_list__n$1); [line 51, column 29]\n NULLIFY(&x); [line 51, column 29]\n EXIT_SCOPE(n$0,0$?%__sil_tmpSIL_init_list__n$1,x); [line 51, column 29]\n APPLY_ABSTRACTION; [line 51, column 29]\n " shape="box"] +"init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&x:int [line 51, column 34]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_init_list__n$1:int); [line 51, column 42]\n *&0$?%__sil_tmpSIL_init_list__n$1:int=0 [line 51, column 42]\n *&x:int=(-n$0 & ~&0$?%__sil_tmpSIL_init_list__n$1) [line 51, column 29]\n " shape="box"] "init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_3" -> "init_in_binop#init_list#8348250075128359911.7adaa67964536570064366a92056cf46_2" ; @@ -15,10 +15,10 @@ digraph cfg { "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_1" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_6" ; -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_2" [label="2: Exit init_list::list_init \n NULLIFY(&y); [line 49, column 1]\n NULLIFY(&ty); [line 49, column 1]\n " color=yellow style=filled] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_2" [label="2: Exit init_list::list_init \n " color=yellow style=filled] -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ty:init_list::Y[3*24]); [line 48, column 3]\n *&ty[0].z:int=1 [line 48, column 14]\n *&ty[0].x.a:int=2 [line 48, column 18]\n *&ty[0].x.p:int*=null [line 48, column 18]\n n$0=_fun_init_list::Y::Y(&ty[1]:init_list::Y*,&y:init_list::Y&) [line 48, column 33]\n n$1=*&yref:init_list::Y& [line 48, column 36]\n n$2=_fun_init_list::Y::Y(&ty[2]:init_list::Y*,n$1:init_list::Y&) [line 48, column 36]\n NULLIFY(&yref); [line 48, column 36]\n EXIT_SCOPE(n$0,n$1,n$2,ty,y,yref); [line 48, column 36]\n APPLY_ABSTRACTION; [line 48, column 36]\n " shape="box"] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ty:init_list::Y[3*24]); [line 48, column 3]\n *&ty[0].z:int=1 [line 48, column 14]\n *&ty[0].x.a:int=2 [line 48, column 18]\n *&ty[0].x.p:int*=null [line 48, column 18]\n n$0=_fun_init_list::Y::Y(&ty[1]:init_list::Y*,&y:init_list::Y&) [line 48, column 33]\n n$1=*&yref:init_list::Y& [line 48, column 36]\n n$2=_fun_init_list::Y::Y(&ty[2]:init_list::Y*,n$1:init_list::Y&) [line 48, column 36]\n " shape="box"] "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_2" ; @@ -26,11 +26,11 @@ digraph cfg { "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_4" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_3" ; -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:init_list::Y); [line 46, column 3]\n n$3=_fun_init_list::Y::Y(&y:init_list::Y*) [line 46, column 5]\n EXIT_SCOPE(n$3); [line 46, column 5]\n " shape="box"] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:init_list::Y); [line 46, column 3]\n n$3=_fun_init_list::Y::Y(&y:init_list::Y*) [line 46, column 5]\n " shape="box"] "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_4" ; -"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_6" [label="6: DeclStmt \n VARIABLE_DECLARED(ti:int[4*4]); [line 45, column 3]\n *&ti[0]:int=1 [line 45, column 15]\n *&ti[1]:int=2 [line 45, column 15]\n NULLIFY(&ti); [line 45, column 15]\n EXIT_SCOPE(ti); [line 45, column 15]\n " shape="box"] +"list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_6" [label="6: DeclStmt \n VARIABLE_DECLARED(ti:int[4*4]); [line 45, column 3]\n *&ti[0]:int=1 [line 45, column 15]\n *&ti[1]:int=2 [line 45, column 15]\n " shape="box"] "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_6" -> "list_init#init_list#18348854466346904105.0126b9f1f80f91b73d5fbdbf2bc60754_5" ; @@ -38,22 +38,22 @@ digraph cfg { "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_1" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_7" ; -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_2" [label="2: Exit init_list::record_init \n NULLIFY(&c); [line 42, column 1]\n NULLIFY(&y1); [line 42, column 1]\n NULLIFY(&x); [line 42, column 1]\n " color=yellow style=filled] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_2" [label="2: Exit init_list::record_init \n " color=yellow style=filled] -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_3" [label="3: Destruction(Scope) \n _=*&c:init_list::C [line 42, column 1]\n n$1=_fun_init_list::C::~C(&c:init_list::C*) injected [line 42, column 1]\n _=*&x:init_list::X [line 42, column 1]\n n$3=_fun_init_list::X::~X(&x:init_list::X*) injected [line 42, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x,c); [line 42, column 1]\n APPLY_ABSTRACTION; [line 42, column 1]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_3" [label="3: Destruction(Scope) \n _=*&c:init_list::C [line 42, column 1]\n n$1=_fun_init_list::C::~C(&c:init_list::C*) injected [line 42, column 1]\n _=*&x:init_list::X [line 42, column 1]\n n$3=_fun_init_list::X::~X(&x:init_list::X*) injected [line 42, column 1]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_3" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_2" ; -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c:init_list::C); [line 41, column 3]\n n$5=_fun_init_list::C::C(&c:init_list::C*,1:int,2:int,&x:init_list::X&) [line 41, column 5]\n EXIT_SCOPE(n$5); [line 41, column 5]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c:init_list::C); [line 41, column 3]\n n$5=_fun_init_list::C::C(&c:init_list::C*,1:int,2:int,&x:init_list::X&) [line 41, column 5]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_3" ; -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y2:init_list::Y); [line 39, column 3]\n *&y2.z:int=1 [line 39, column 7]\n *&y2.x.a:int=2 [line 39, column 11]\n *&y2.x.p:int*=null [line 39, column 11]\n NULLIFY(&y2); [line 39, column 11]\n EXIT_SCOPE(y2); [line 39, column 11]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y2:init_list::Y); [line 39, column 3]\n *&y2.z:int=1 [line 39, column 7]\n *&y2.x.a:int=2 [line 39, column 11]\n *&y2.x.p:int*=null [line 39, column 11]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_5" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_4" ; -"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:init_list::Y); [line 38, column 3]\n *&y1.z:int=1 [line 38, column 7]\n n$6=_fun_init_list::X::X(&y1.x:init_list::X*,&x:init_list::X&) [line 38, column 11]\n EXIT_SCOPE(n$6,y1); [line 38, column 11]\n " shape="box"] +"record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:init_list::Y); [line 38, column 3]\n *&y1.z:int=1 [line 38, column 7]\n n$6=_fun_init_list::X::X(&y1.x:init_list::X*,&x:init_list::X&) [line 38, column 11]\n " shape="box"] "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_6" -> "record_init#init_list#9390182661430352809.a0bac2a3cf71c0b7c450ce49d030845f_5" ; @@ -68,15 +68,15 @@ digraph cfg { "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_2" [label="2: Exit init_list::zero_init_primitive \n " color=yellow style=filled] -"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(f:float); [line 28, column 3]\n *&f:float=0. [line 28, column 3]\n NULLIFY(&f); [line 28, column 3]\n EXIT_SCOPE(f); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(f:float); [line 28, column 3]\n *&f:float=0. [line 28, column 3]\n " shape="box"] "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_3" -> "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_2" ; -"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 27, column 3]\n *&p:int*=null [line 27, column 3]\n NULLIFY(&p); [line 27, column 3]\n EXIT_SCOPE(p); [line 27, column 3]\n " shape="box"] +"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 27, column 3]\n *&p:int*=null [line 27, column 3]\n " shape="box"] "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_4" -> "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_3" ; -"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 26, column 3]\n *&i:int=0 [line 26, column 3]\n NULLIFY(&i); [line 26, column 3]\n EXIT_SCOPE(i); [line 26, column 3]\n " shape="box"] +"zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 26, column 3]\n *&i:int=0 [line 26, column 3]\n " shape="box"] "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_5" -> "zero_init_primitive#init_list#3465759276925732066.1d03db1e38d38f4b345f33049176e92c_4" ; @@ -84,18 +84,18 @@ digraph cfg { "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_1" -> "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_5" ; -"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_2" [label="2: Exit init_list::zero_init_record \n NULLIFY(&c); [line 34, column 1]\n " color=yellow style=filled] +"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_2" [label="2: Exit init_list::zero_init_record \n " color=yellow style=filled] -"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_3" [label="3: Destruction(Scope) \n _=*&c:init_list::C [line 34, column 1]\n n$1=_fun_init_list::C::~C(&c:init_list::C*) injected [line 34, column 1]\n EXIT_SCOPE(_,n$1,c); [line 34, column 1]\n APPLY_ABSTRACTION; [line 34, column 1]\n " shape="box"] +"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_3" [label="3: Destruction(Scope) \n _=*&c:init_list::C [line 34, column 1]\n n$1=_fun_init_list::C::~C(&c:init_list::C*) injected [line 34, column 1]\n " shape="box"] "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_3" -> "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_2" ; -"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c:init_list::C); [line 33, column 3]\n n$3=_fun_init_list::C::C(&c:init_list::C*) [line 33, column 5]\n EXIT_SCOPE(n$3); [line 33, column 5]\n " shape="box"] +"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c:init_list::C); [line 33, column 3]\n n$3=_fun_init_list::C::C(&c:init_list::C*) [line 33, column 5]\n " shape="box"] "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" -> "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_3" ; -"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:init_list::Y); [line 32, column 3]\n *&y.z:int=0 [line 32, column 7]\n *&y.x.a:int=0 [line 32, column 7]\n *&y.x.p:int*=null [line 32, column 7]\n NULLIFY(&y); [line 32, column 7]\n EXIT_SCOPE(y); [line 32, column 7]\n " shape="box"] +"zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:init_list::Y); [line 32, column 3]\n *&y.z:int=0 [line 32, column 7]\n *&y.x.a:int=0 [line 32, column 7]\n *&y.x.p:int*=null [line 32, column 7]\n " shape="box"] "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_5" -> "zero_init_record#init_list#7364160241041626579.8baaea62666796dca7b4a7b11bf4f2bb_4" ; @@ -113,11 +113,11 @@ digraph cfg { "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_2" [label="2: Exit init_list::C::C \n " color=yellow style=filled] -"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" [label="3: Constructor Init \n n$1=*&this:init_list::C* [line 22, column 43]\n n$2=*&x:init_list::X const & [line 22, column 45]\n n$3=_fun_init_list::X::X(n$1.x:init_list::X*,n$2:init_list::X const &) [line 22, column 43]\n NULLIFY(&x); [line 22, column 43]\n NULLIFY(&this); [line 22, column 43]\n EXIT_SCOPE(n$1,n$2,n$3,x,this); [line 22, column 43]\n APPLY_ABSTRACTION; [line 22, column 43]\n " shape="box"] +"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" [label="3: Constructor Init \n n$1=*&this:init_list::C* [line 22, column 43]\n n$2=*&x:init_list::X const & [line 22, column 45]\n n$3=_fun_init_list::X::X(n$1.x:init_list::X*,n$2:init_list::X const &) [line 22, column 43]\n " shape="box"] "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_2" ; -"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" [label="4: Constructor Init \n n$4=*&this:init_list::C* [line 22, column 33]\n n$5=*&a:int [line 22, column 35]\n n$6=*&b:int [line 22, column 39]\n *n$4.z:int=(n$5 + n$6) [line 22, column 33]\n NULLIFY(&a); [line 22, column 33]\n NULLIFY(&b); [line 22, column 33]\n EXIT_SCOPE(n$4,n$5,n$6,a,b); [line 22, column 33]\n " shape="box"] +"C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" [label="4: Constructor Init \n n$4=*&this:init_list::C* [line 22, column 33]\n n$5=*&a:int [line 22, column 35]\n n$6=*&b:int [line 22, column 39]\n *n$4.z:int=(n$5 + n$6) [line 22, column 33]\n " shape="box"] "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_4" -> "C#C#init_list#{17260491501636558446}.47559f88c2f7136a0ceafb8b6a3b78ad_3" ; @@ -128,7 +128,7 @@ digraph cfg { "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_2" [label="2: Exit init_list::C::C \n " color=yellow style=filled] -"C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_3" [label="3: Constructor Init \n n$1=*&this:init_list::C* [line 19, column 6]\n *n$1.x.a:int=0 [line 19, column 7]\n *n$1.x.p:int*=null [line 19, column 7]\n NULLIFY(&this); [line 19, column 7]\n EXIT_SCOPE(n$1,this); [line 19, column 7]\n APPLY_ABSTRACTION; [line 19, column 7]\n " shape="box"] +"C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_3" [label="3: Constructor Init \n n$1=*&this:init_list::C* [line 19, column 6]\n *n$1.x.a:int=0 [line 19, column 7]\n *n$1.x.p:int*=null [line 19, column 7]\n " shape="box"] "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_3" -> "C#C#init_list#{85179409263577607}.c3811ab730f90bddf1eefdc7ec6030b7_2" ; @@ -139,11 +139,11 @@ digraph cfg { "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_2" [label="2: Exit init_list::X::X \n " color=yellow style=filled] -"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" [label="3: Constructor Init \n n$1=*&this:init_list::X* [line 8, column 8]\n n$2=*&__param_0:init_list::X const & [line 8, column 8]\n n$3=*n$2.p:int* [line 8, column 8]\n *n$1.p:int*=n$3 [line 8, column 8]\n NULLIFY(&this); [line 8, column 8]\n NULLIFY(&__param_0); [line 8, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 8, column 8]\n APPLY_ABSTRACTION; [line 8, column 8]\n " shape="box"] +"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" [label="3: Constructor Init \n n$1=*&this:init_list::X* [line 8, column 8]\n n$2=*&__param_0:init_list::X const & [line 8, column 8]\n n$3=*n$2.p:int* [line 8, column 8]\n *n$1.p:int*=n$3 [line 8, column 8]\n " shape="box"] "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_2" ; -"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_4" [label="4: Constructor Init \n n$4=*&this:init_list::X* [line 8, column 8]\n n$5=*&__param_0:init_list::X const & [line 8, column 8]\n n$6=*n$5.a:int [line 8, column 8]\n *n$4.a:int=n$6 [line 8, column 8]\n EXIT_SCOPE(n$4,n$5,n$6); [line 8, column 8]\n " shape="box"] +"X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_4" [label="4: Constructor Init \n n$4=*&this:init_list::X* [line 8, column 8]\n n$5=*&__param_0:init_list::X const & [line 8, column 8]\n n$6=*n$5.a:int [line 8, column 8]\n *n$4.a:int=n$6 [line 8, column 8]\n " shape="box"] "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_4" -> "X#X#init_list#{10362293117207912357|constexpr}.5b774fb6d82792ac0bbbdbe09cdd5093_3" ; @@ -161,11 +161,11 @@ digraph cfg { "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_2" [label="2: Exit init_list::Y::Y \n " color=yellow style=filled] -"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" [label="3: Constructor Init \n n$1=*&this:init_list::Y* [line 12, column 8]\n n$2=*&__param_0:init_list::Y const & [line 12, column 8]\n n$3=_fun_init_list::X::X(n$1.x:init_list::X*,n$2.x:init_list::X&) [line 12, column 8]\n NULLIFY(&this); [line 12, column 8]\n NULLIFY(&__param_0); [line 12, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 12, column 8]\n APPLY_ABSTRACTION; [line 12, column 8]\n " shape="box"] +"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" [label="3: Constructor Init \n n$1=*&this:init_list::Y* [line 12, column 8]\n n$2=*&__param_0:init_list::Y const & [line 12, column 8]\n n$3=_fun_init_list::X::X(n$1.x:init_list::X*,n$2.x:init_list::X&) [line 12, column 8]\n " shape="box"] "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_2" ; -"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" [label="4: Constructor Init \n n$4=*&this:init_list::Y* [line 12, column 8]\n n$5=*&__param_0:init_list::Y const & [line 12, column 8]\n n$6=*n$5.z:int [line 12, column 8]\n *n$4.z:int=n$6 [line 12, column 8]\n EXIT_SCOPE(n$4,n$5,n$6); [line 12, column 8]\n " shape="box"] +"Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" [label="4: Constructor Init \n n$4=*&this:init_list::Y* [line 12, column 8]\n n$5=*&__param_0:init_list::Y const & [line 12, column 8]\n n$6=*n$5.z:int [line 12, column 8]\n *n$4.z:int=n$6 [line 12, column 8]\n " shape="box"] "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_4" -> "Y#Y#init_list#{7965727998464233870|constexpr}.d9c0a01aa3d67701ff6c6bdd6dd01f2d_3" ; @@ -176,7 +176,7 @@ digraph cfg { "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_2" [label="2: Exit init_list::Y::Y \n " color=yellow style=filled] -"Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" [label="3: Constructor Init \n n$1=*&this:init_list::Y* [line 12, column 8]\n n$2=_fun_init_list::X::X(n$1.x:init_list::X*) [line 12, column 8]\n NULLIFY(&this); [line 12, column 8]\n EXIT_SCOPE(n$1,n$2,this); [line 12, column 8]\n APPLY_ABSTRACTION; [line 12, column 8]\n " shape="box"] +"Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" [label="3: Constructor Init \n n$1=*&this:init_list::Y* [line 12, column 8]\n n$2=_fun_init_list::X::X(n$1.x:init_list::X*) [line 12, column 8]\n " shape="box"] "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_3" -> "Y#Y#init_list#{9181657051811221357}.e663651ceaf28a9c0d59b3f85499f583_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot index 50a5a1a56..481eb9537 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/keywords/self_parameter.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_2" [label="2: Exit fun_with_self \n " color=yellow style=filled] -"fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_3" [label="3: Return Stmt \n n$0=*&self:int [line 13, column 38]\n *&return:int=n$0 [line 13, column 31]\n NULLIFY(&self); [line 13, column 31]\n EXIT_SCOPE(n$0,self); [line 13, column 31]\n APPLY_ABSTRACTION; [line 13, column 31]\n " shape="box"] +"fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_3" [label="3: Return Stmt \n n$0=*&self:int [line 13, column 38]\n *&return:int=n$0 [line 13, column 31]\n " shape="box"] "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_3" -> "fun_with_self#17802276037376540432.4639f371cac8e491a6b8c0363a0bc168_2" ; @@ -18,7 +18,7 @@ digraph cfg { "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" [label="2: Exit test \n " color=yellow style=filled] -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" [label="3: Return Stmt \n n$0=*&a:A* [line 15, column 25]\n _=*n$0:A [line 15, column 25]\n n$2=_fun_A::meth_with_self(n$0:A*,1:int,2:int) [line 15, column 25]\n n$3=_fun_fun_with_self(10:int) [line 15, column 51]\n *&return:int=(n$2 + n$3) [line 15, column 18]\n NULLIFY(&a); [line 15, column 18]\n EXIT_SCOPE(_,n$0,n$2,n$3,a); [line 15, column 18]\n APPLY_ABSTRACTION; [line 15, column 18]\n " shape="box"] +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" [label="3: Return Stmt \n n$0=*&a:A* [line 15, column 25]\n _=*n$0:A [line 15, column 25]\n n$2=_fun_A::meth_with_self(n$0:A*,1:int,2:int) [line 15, column 25]\n n$3=_fun_fun_with_self(10:int) [line 15, column 51]\n *&return:int=(n$2 + n$3) [line 15, column 18]\n " shape="box"] "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" ; @@ -29,7 +29,7 @@ digraph cfg { "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_2" [label="2: Exit A::meth_with_self \n " color=yellow style=filled] -"meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_3" [label="3: Return Stmt \n n$0=*&self:int [line 10, column 48]\n n$1=*&b:int [line 10, column 55]\n *&return:int=(n$0 + n$1) [line 10, column 41]\n NULLIFY(&b); [line 10, column 41]\n NULLIFY(&self); [line 10, column 41]\n EXIT_SCOPE(n$0,n$1,b,self); [line 10, column 41]\n APPLY_ABSTRACTION; [line 10, column 41]\n " shape="box"] +"meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_3" [label="3: Return Stmt \n n$0=*&self:int [line 10, column 48]\n n$1=*&b:int [line 10, column 55]\n *&return:int=(n$0 + n$1) [line 10, column 41]\n " shape="box"] "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_3" -> "meth_with_self#A#(5126246555081316972).087223c2fe95da4de39ef1116c167075_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/literals/nullptr.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/literals/nullptr.cpp.dot index a9cf32332..318475db0 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/literals/nullptr.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/literals/nullptr.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "getPtr#4816258365355431750.3065f9a978ec924d84739cae55c710c4_2" [label="2: Exit getPtr \n " color=yellow style=filled] -"getPtr#4816258365355431750.3065f9a978ec924d84739cae55c710c4_3" [label="3: Return Stmt \n *&return:int*=null [line 8, column 17]\n APPLY_ABSTRACTION; [line 8, column 17]\n " shape="box"] +"getPtr#4816258365355431750.3065f9a978ec924d84739cae55c710c4_3" [label="3: Return Stmt \n *&return:int*=null [line 8, column 17]\n " shape="box"] "getPtr#4816258365355431750.3065f9a978ec924d84739cae55c710c4_3" -> "getPtr#4816258365355431750.3065f9a978ec924d84739cae55c710c4_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot index fcaba106b..b800b5775 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/literals/scalar_value_init.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "get#8194971217283422499.150bc0995c110083a73c0ededcfe6d76_2" [label="2: Exit get \n " color=yellow style=filled] -"get#8194971217283422499.150bc0995c110083a73c0ededcfe6d76_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"get#8194971217283422499.150bc0995c110083a73c0ededcfe6d76_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n " shape="box"] "get#8194971217283422499.150bc0995c110083a73c0ededcfe6d76_3" -> "get#8194971217283422499.150bc0995c110083a73c0ededcfe6d76_2" ; @@ -18,7 +18,7 @@ digraph cfg { "get#13747618516057362976.2fec1fe1de6ac1c3fae6ec84a1ffd2b5_2" [label="2: Exit get \n " color=yellow style=filled] -"get#13747618516057362976.2fec1fe1de6ac1c3fae6ec84a1ffd2b5_3" [label="3: Return Stmt \n *&return:float=0. [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"get#13747618516057362976.2fec1fe1de6ac1c3fae6ec84a1ffd2b5_3" [label="3: Return Stmt \n *&return:float=0. [line 12, column 3]\n " shape="box"] "get#13747618516057362976.2fec1fe1de6ac1c3fae6ec84a1ffd2b5_3" -> "get#13747618516057362976.2fec1fe1de6ac1c3fae6ec84a1ffd2b5_2" ; @@ -29,7 +29,7 @@ digraph cfg { "get#2842478093973053540.94b60b146800ad29688a426dfa5aaafe_2" [label="2: Exit get \n " color=yellow style=filled] -"get#2842478093973053540.94b60b146800ad29688a426dfa5aaafe_3" [label="3: Return Stmt \n *&return:float*=null [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"get#2842478093973053540.94b60b146800ad29688a426dfa5aaafe_3" [label="3: Return Stmt \n *&return:float*=null [line 12, column 3]\n " shape="box"] "get#2842478093973053540.94b60b146800ad29688a426dfa5aaafe_3" -> "get#2842478093973053540.94b60b146800ad29688a426dfa5aaafe_2" ; @@ -40,7 +40,7 @@ digraph cfg { "get#2877167444606952489.51207fd4e308b488877945d48484f2bc_2" [label="2: Exit get \n " color=yellow style=filled] -"get#2877167444606952489.51207fd4e308b488877945d48484f2bc_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"get#2877167444606952489.51207fd4e308b488877945d48484f2bc_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n " shape="box"] "get#2877167444606952489.51207fd4e308b488877945d48484f2bc_3" -> "get#2877167444606952489.51207fd4e308b488877945d48484f2bc_2" ; @@ -51,7 +51,7 @@ digraph cfg { "get#8296845500290212976.bb4a1c12bef114b00039399debc79878_2" [label="2: Exit get \n " color=yellow style=filled] -"get#8296845500290212976.bb4a1c12bef114b00039399debc79878_3" [label="3: Return Stmt \n *&return:void=0 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"get#8296845500290212976.bb4a1c12bef114b00039399debc79878_3" [label="3: Return Stmt \n *&return:void=0 [line 12, column 3]\n " shape="box"] "get#8296845500290212976.bb4a1c12bef114b00039399debc79878_3" -> "get#8296845500290212976.bb4a1c12bef114b00039399debc79878_2" ; @@ -62,27 +62,27 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(f2:float); [line 21, column 3]\n *&f2:float=0. [line 21, column 3]\n NULLIFY(&f2); [line 21, column 3]\n EXIT_SCOPE(f2); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(f2:float); [line 21, column 3]\n *&f2:float=0. [line 21, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 3]\n n$0=_fun_get() [line 20, column 12]\n *&x:int=n$0 [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(n$0,x); [line 20, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 20, column 3]\n n$0=_fun_get() [line 20, column 12]\n *&x:int=n$0 [line 20, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: Call _fun_get \n n$1=_fun_get() [line 19, column 3]\n EXIT_SCOPE(n$1); [line 19, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: Call _fun_get \n n$1=_fun_get() [line 19, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(fp:float*); [line 18, column 3]\n n$2=_fun_get() [line 18, column 15]\n *&fp:float*=n$2 [line 18, column 3]\n NULLIFY(&fp); [line 18, column 3]\n EXIT_SCOPE(n$2,fp); [line 18, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(fp:float*); [line 18, column 3]\n n$2=_fun_get() [line 18, column 15]\n *&fp:float*=n$2 [line 18, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: DeclStmt \n VARIABLE_DECLARED(f:float); [line 17, column 3]\n n$3=_fun_get() [line 17, column 13]\n *&f:float=n$3 [line 17, column 3]\n NULLIFY(&f); [line 17, column 3]\n EXIT_SCOPE(n$3,f); [line 17, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: DeclStmt \n VARIABLE_DECLARED(f:float); [line 17, column 3]\n n$3=_fun_get() [line 17, column 13]\n *&f:float=n$3 [line 17, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: DeclStmt \n VARIABLE_DECLARED(i:int); [line 16, column 3]\n n$4=_fun_get() [line 16, column 11]\n *&i:int=n$4 [line 16, column 3]\n NULLIFY(&i); [line 16, column 3]\n EXIT_SCOPE(n$4,i); [line 16, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: DeclStmt \n VARIABLE_DECLARED(i:int); [line 16, column 3]\n n$4=_fun_get() [line 16, column 11]\n *&i:int=n$4 [line 16, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/literals/user_defined.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/literals/user_defined.cpp.dot index 657b8bd56..e9299232d 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/literals/user_defined.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/literals/user_defined.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" [label="2: Exit foo \n " color=yellow style=filled] -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" [label="3: Return Stmt \n n$0=_fun_operator\"\"_literal(0:unsigned long long) [line 10, column 20]\n *&return:int=n$0 [line 10, column 13]\n EXIT_SCOPE(n$0); [line 10, column 13]\n APPLY_ABSTRACTION; [line 10, column 13]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" [label="3: Return Stmt \n n$0=_fun_operator\"\"_literal(0:unsigned long long) [line 10, column 20]\n *&return:int=n$0 [line 10, column 13]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" ; @@ -18,7 +18,7 @@ digraph cfg { "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_2" [label="2: Exit operator\"\"_literal \n " color=yellow style=filled] -"operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_3" [label="3: Return Stmt \n n$0=*&i:unsigned long long [line 8, column 56]\n *&return:int=n$0 [line 8, column 49]\n NULLIFY(&i); [line 8, column 49]\n EXIT_SCOPE(n$0,i); [line 8, column 49]\n APPLY_ABSTRACTION; [line 8, column 49]\n " shape="box"] +"operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_3" [label="3: Return Stmt \n n$0=*&i:unsigned long long [line 8, column 56]\n *&return:int=n$0 [line 8, column 49]\n " shape="box"] "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_3" -> "operator\"\"_literal#10799417371478119160.892e3238d686eb1d16193b2534a5f062_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot index 3bad956d9..fe536310f 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/do_while.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_2" [label="2: Exit test1 \n " color=yellow style=filled] -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" [label="3: Return Stmt \n n$0=*&x:int [line 20, column 10]\n *&return:int=n$0 [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(n$0,x); [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" [label="3: Return Stmt \n n$0=*&x:int [line 20, column 10]\n *&return:int=n$0 [line 20, column 3]\n " shape="box"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_2" ; @@ -15,15 +15,15 @@ digraph cfg { "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" [label="5: Prune (true branch, do while) \n n$1=*&b:_Bool [line 19, column 12]\n PRUNE(n$1, true); [line 19, column 12]\n EXIT_SCOPE(n$1); [line 19, column 12]\n APPLY_ABSTRACTION; [line 19, column 12]\n " shape="invhouse"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" [label="5: Prune (true branch, do while) \n n$1=*&b:_Bool [line 19, column 12]\n PRUNE(n$1, true); [line 19, column 12]\n " shape="invhouse"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" [label="6: Prune (false branch, do while) \n n$1=*&b:_Bool [line 19, column 12]\n PRUNE(!n$1, false); [line 19, column 12]\n NULLIFY(&b); [line 19, column 12]\n EXIT_SCOPE(n$1,b); [line 19, column 12]\n " shape="invhouse"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" [label="6: Prune (false branch, do while) \n n$1=*&b:_Bool [line 19, column 12]\n PRUNE(!n$1, false); [line 19, column 12]\n " shape="invhouse"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_3" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&x:int [line 18, column 9]\n *&x:int=(n$2 + 4) [line 18, column 5]\n EXIT_SCOPE(n$2); [line 18, column 5]\n " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&x:int [line 18, column 9]\n *&x:int=(n$2 + 4) [line 18, column 5]\n " shape="box"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" ; @@ -32,29 +32,29 @@ digraph cfg { "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_8" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_7" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" [label="9: Prune (true branch, if) \n n$3=*&a:_Bool [line 12, column 9]\n PRUNE(n$3, true); [line 12, column 9]\n EXIT_SCOPE(n$3); [line 12, column 9]\n " shape="invhouse"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" [label="9: Prune (true branch, if) \n n$3=*&a:_Bool [line 12, column 9]\n PRUNE(n$3, true); [line 12, column 9]\n " shape="invhouse"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" [label="10: Prune (false branch, if) \n n$3=*&a:_Bool [line 12, column 9]\n PRUNE(!n$3, false); [line 12, column 9]\n EXIT_SCOPE(n$3); [line 12, column 9]\n " shape="invhouse"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" [label="10: Prune (false branch, if) \n n$3=*&a:_Bool [line 12, column 9]\n PRUNE(!n$3, false); [line 12, column 9]\n " shape="invhouse"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" [label="11: BinaryOperatorStmt: Assign \n n$5=*&x:int [line 13, column 11]\n *&x:int=(n$5 + 2) [line 13, column 7]\n EXIT_SCOPE(n$5); [line 13, column 7]\n " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" [label="11: BinaryOperatorStmt: Assign \n n$5=*&x:int [line 13, column 11]\n *&x:int=(n$5 + 2) [line 13, column 7]\n " shape="box"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_5" ; "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_11" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_6" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" [label="12: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 16, column 11]\n *&x:int=(n$6 + 3) [line 16, column 7]\n EXIT_SCOPE(n$6); [line 16, column 7]\n " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" [label="12: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 16, column 11]\n *&x:int=(n$6 + 3) [line 16, column 7]\n " shape="box"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_12" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_8" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" [label="13: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 11, column 9]\n *&x:int=(n$8 + 1) [line 11, column 5]\n EXIT_SCOPE(n$8); [line 11, column 5]\n " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" [label="13: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 11, column 9]\n *&x:int=(n$8 + 1) [line 11, column 5]\n " shape="box"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_9" ; "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_13" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_10" ; -"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=0 [line 9, column 3]\n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" [label="14: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 3]\n *&x:int=0 [line 9, column 3]\n " shape="box"] "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_14" -> "test1#18336337528475129646.aabe036d545fef7e4b4a130ea21a585c_4" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot index d1bdd8351..7b718933a 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/loops/foreach1.cpp.dot @@ -11,28 +11,28 @@ digraph cfg { "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_3" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_9" ; -"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&i1:iterator& [line 19, column 52]\n n$2=*n$1.val:int [line 19, column 52]\n n$3=*&i2:iterator& [line 19, column 62]\n n$4=*n$3.val:int [line 19, column 62]\n NULLIFY(&i1); [line 19, column 62]\n NULLIFY(&i2); [line 19, column 62]\n EXIT_SCOPE(n$1,n$3,i1,i2); [line 19, column 62]\n " shape="box"] +"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_4" [label="4: BinaryOperatorStmt: NE \n n$1=*&i1:iterator& [line 19, column 52]\n n$2=*n$1.val:int [line 19, column 52]\n n$3=*&i2:iterator& [line 19, column 62]\n n$4=*n$3.val:int [line 19, column 62]\n " shape="box"] "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, boolean exp) \n PRUNE((n$2 != n$4), true); [line 19, column 52]\n EXIT_SCOPE(n$2,n$4); [line 19, column 52]\n " shape="invhouse"] +"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_5" [label="5: Prune (true branch, boolean exp) \n PRUNE((n$2 != n$4), true); [line 19, column 52]\n " shape="invhouse"] "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_5" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_7" ; -"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 19, column 52]\n EXIT_SCOPE(n$2,n$4); [line 19, column 52]\n " shape="invhouse"] +"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!(n$2 != n$4), false); [line 19, column 52]\n " shape="invhouse"] "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_6" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_8" ; -"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 19, column 52]\n APPLY_ABSTRACTION; [line 19, column 52]\n " shape="box"] +"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=1 [line 19, column 52]\n " shape="box"] "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_7" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_3" ; -"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 19, column 52]\n APPLY_ABSTRACTION; [line 19, column 52]\n " shape="box"] +"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool=0 [line 19, column 52]\n " shape="box"] "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_8" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_3" ; -"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 19, column 52]\n *&return:_Bool=n$5 [line 19, column 45]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 19, column 45]\n EXIT_SCOPE(n$5,0$?%__sil_tmpSIL_temp_conditional___n$0); [line 19, column 45]\n APPLY_ABSTRACTION; [line 19, column 45]\n " shape="box"] +"operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_9" [label="9: Return Stmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_Bool [line 19, column 52]\n *&return:_Bool=n$5 [line 19, column 45]\n " shape="box"] "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_9" -> "operator!=#4715710375716659667.eb4126b3edd381f3092a9e38275754d4_2" ; @@ -40,10 +40,10 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_14" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$14); [line 38, column 1]\n NULLIFY(&__end1); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$27); [line 38, column 1]\n NULLIFY(&__begin1); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 38, column 1]\n NULLIFY(&vector); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$29); [line 38, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_return_n$25); [line 38, column 1]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Destruction(Scope) \n _=*&__end1:iterator [line 37, column 3]\n n$1=_fun_iterator::~iterator(&__end1:iterator*) injected [line 37, column 3]\n _=*&__begin1:iterator [line 37, column 3]\n n$3=_fun_iterator::~iterator(&__begin1:iterator*) injected [line 37, column 3]\n EXIT_SCOPE(_,_,n$1,n$3,__begin1,__end1); [line 37, column 3]\n APPLY_ABSTRACTION; [line 37, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Destruction(Scope) \n _=*&__end1:iterator [line 37, column 3]\n n$1=_fun_iterator::~iterator(&__end1:iterator*) injected [line 37, column 3]\n _=*&__begin1:iterator [line 37, column 3]\n n$3=_fun_iterator::~iterator(&__begin1:iterator*) injected [line 37, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; @@ -51,44 +51,44 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(__end1:iterator); [line 35, column 18]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:iterator); [line 35, column 18]\n n$9=*&__range1:vec& [line 35, column 18]\n _=*n$9:vec [line 35, column 18]\n n$12=_fun_vec::end(n$9:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$5:iterator*) assign_last [line 35, column 18]\n n$13=_fun_iterator::iterator(&__end1:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$5:iterator&) [line 35, column 18]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:iterator [line 35, column 18]\n n$7=_fun_iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$5:iterator*) injected [line 35, column 18]\n NULLIFY(&__range1); [line 35, column 18]\n EXIT_SCOPE(_,_,n$7,n$9,n$12,n$13,0$?%__sil_tmpSIL_materialize_temp__n$5,__range1); [line 35, column 18]\n APPLY_ABSTRACTION; [line 35, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(__end1:iterator); [line 35, column 18]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:iterator); [line 35, column 18]\n n$9=*&__range1:vec& [line 35, column 18]\n _=*n$9:vec [line 35, column 18]\n n$12=_fun_vec::end(n$9:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$5:iterator*) assign_last [line 35, column 18]\n n$13=_fun_iterator::iterator(&__end1:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$5:iterator&) [line 35, column 18]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:iterator [line 35, column 18]\n n$7=_fun_iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$5:iterator*) injected [line 35, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(__begin1:iterator); [line 35, column 18]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$14:iterator); [line 35, column 18]\n n$18=*&__range1:vec& [line 35, column 18]\n _=*n$18:vec [line 35, column 18]\n n$21=_fun_vec::begin(n$18:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$14:iterator*) assign_last [line 35, column 18]\n n$22=_fun_iterator::iterator(&__begin1:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$14:iterator&) [line 35, column 18]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$14:iterator [line 35, column 18]\n n$16=_fun_iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$14:iterator*) injected [line 35, column 18]\n EXIT_SCOPE(_,_,n$16,n$18,n$21,n$22,0$?%__sil_tmpSIL_materialize_temp__n$14); [line 35, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(__begin1:iterator); [line 35, column 18]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$14:iterator); [line 35, column 18]\n n$18=*&__range1:vec& [line 35, column 18]\n _=*n$18:vec [line 35, column 18]\n n$21=_fun_vec::begin(n$18:vec&,&0$?%__sil_tmpSIL_materialize_temp__n$14:iterator*) assign_last [line 35, column 18]\n n$22=_fun_iterator::iterator(&__begin1:iterator*,&0$?%__sil_tmpSIL_materialize_temp__n$14:iterator&) [line 35, column 18]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$14:iterator [line 35, column 18]\n n$16=_fun_iterator::~iterator(&0$?%__sil_tmpSIL_materialize_temp__n$14:iterator*) injected [line 35, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: Call _fun_iterator::operator++ \n n$26=_fun_iterator::operator++(&__begin1:iterator&,&0$?%__sil_tmp__temp_return_n$25:iterator*) assign_last [line 35, column 18]\n EXIT_SCOPE(n$26,0$?%__sil_tmp__temp_return_n$25); [line 35, column 18]\n APPLY_ABSTRACTION; [line 35, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: Call _fun_iterator::operator++ \n n$26=_fun_iterator::operator++(&__begin1:iterator&,&0$?%__sil_tmp__temp_return_n$25:iterator*) assign_last [line 35, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: Call _fun_operator!= \n n$28=_fun_iterator::iterator(&0$?%__sil_tmp__temp_construct_n$27:iterator*,&__begin1:iterator&) [line 35, column 18]\n n$30=_fun_iterator::iterator(&0$?%__sil_tmp__temp_construct_n$29:iterator*,&__end1:iterator&) [line 35, column 18]\n n$31=_fun_operator!=(&0$?%__sil_tmp__temp_construct_n$27:iterator,&0$?%__sil_tmp__temp_construct_n$29:iterator) [line 35, column 18]\n EXIT_SCOPE(n$28,n$30); [line 35, column 18]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" [label="8: Call _fun_operator!= \n n$28=_fun_iterator::iterator(&0$?%__sil_tmp__temp_construct_n$27:iterator*,&__begin1:iterator&) [line 35, column 18]\n n$30=_fun_iterator::iterator(&0$?%__sil_tmp__temp_construct_n$29:iterator*,&__end1:iterator&) [line 35, column 18]\n n$31=_fun_operator!=(&0$?%__sil_tmp__temp_construct_n$27:iterator,&0$?%__sil_tmp__temp_construct_n$29:iterator) [line 35, column 18]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" ; "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_8" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$31, true); [line 35, column 18]\n EXIT_SCOPE(n$31); [line 35, column 18]\n " shape="invhouse"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" [label="9: Prune (true branch, for loop) \n PRUNE(n$31, true); [line 35, column 18]\n " shape="invhouse"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_9" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$31, false); [line 35, column 18]\n EXIT_SCOPE(n$31); [line 35, column 18]\n " shape="invhouse"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" [label="10: Prune (false branch, for loop) \n PRUNE(!n$31, false); [line 35, column 18]\n " shape="invhouse"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_10" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" [label="11: DeclStmt \n VARIABLE_DECLARED(temp:int); [line 36, column 5]\n n$32=*&value:int [line 36, column 16]\n n$33=*&value:int [line 36, column 24]\n *&temp:int=((n$32 * n$33) + 10) [line 36, column 5]\n NULLIFY(&value); [line 36, column 5]\n NULLIFY(&temp); [line 36, column 5]\n EXIT_SCOPE(n$32,n$33,value,temp); [line 36, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" [label="11: DeclStmt \n VARIABLE_DECLARED(temp:int); [line 36, column 5]\n n$32=*&value:int [line 36, column 16]\n n$33=*&value:int [line 36, column 24]\n *&temp:int=((n$32 * n$33) + 10) [line 36, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" [label="12: DeclStmt \n VARIABLE_DECLARED(value:int); [line 35, column 8]\n n$35=_fun_iterator::operator*(&__begin1:iterator&) [line 35, column 18]\n *&value:int=n$35 [line 35, column 8]\n EXIT_SCOPE(n$35); [line 35, column 8]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" [label="12: DeclStmt \n VARIABLE_DECLARED(value:int); [line 35, column 8]\n n$35=_fun_iterator::operator*(&__begin1:iterator&) [line 35, column 18]\n *&value:int=n$35 [line 35, column 8]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_12" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_11" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" [label="13: DeclStmt \n VARIABLE_DECLARED(__range1:vec&); [line 35, column 20]\n *&__range1:vec&=&vector [line 35, column 20]\n EXIT_SCOPE(vector); [line 35, column 20]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" [label="13: DeclStmt \n VARIABLE_DECLARED(__range1:vec&); [line 35, column 20]\n *&__range1:vec&=&vector [line 35, column 20]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_14" [label="14: DeclStmt \n VARIABLE_DECLARED(vector:vec); [line 34, column 3]\n n$37=_fun_vec::vec(&vector:vec*,10:int) [line 34, column 7]\n EXIT_SCOPE(n$37); [line 34, column 7]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_14" [label="14: DeclStmt \n VARIABLE_DECLARED(vector:vec); [line 34, column 3]\n n$37=_fun_vec::vec(&vector:vec*,10:int) [line 34, column 7]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_14" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_13" ; @@ -99,11 +99,11 @@ digraph cfg { "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_2" [label="2: Exit iterator::operator++ \n " color=yellow style=filled] -"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 13, column 5]\n n$1=*&this:iterator* [line 13, column 13]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1:iterator&) [line 13, column 12]\n NULLIFY(&__return_param); [line 13, column 12]\n NULLIFY(&this); [line 13, column 12]\n EXIT_SCOPE(n$0,n$1,n$2,__return_param,this); [line 13, column 12]\n APPLY_ABSTRACTION; [line 13, column 12]\n " shape="box"] +"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 13, column 5]\n n$1=*&this:iterator* [line 13, column 13]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1:iterator&) [line 13, column 12]\n " shape="box"] "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_2" ; -"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_4" [label="4: BinaryOperatorStmt: AddAssign \n n$3=*&this:iterator* [line 12, column 5]\n n$4=*n$3.val:int [line 12, column 5]\n *n$3.val:int=(n$4 + 1) [line 12, column 5]\n EXIT_SCOPE(n$3,n$4); [line 12, column 5]\n " shape="box"] +"operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_4" [label="4: BinaryOperatorStmt: AddAssign \n n$3=*&this:iterator* [line 12, column 5]\n n$4=*n$3.val:int [line 12, column 5]\n *n$3.val:int=(n$4 + 1) [line 12, column 5]\n " shape="box"] "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_4" -> "operator++#iterator(class iterator)#(14034081864165661659).574423d3d3249b4f53477fb1be150024_3" ; @@ -114,7 +114,7 @@ digraph cfg { "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_2" [label="2: Exit iterator::operator* \n " color=yellow style=filled] -"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" [label="3: Return Stmt \n n$0=*&this:iterator* [line 16, column 12]\n n$1=*n$0.val:int [line 16, column 12]\n *&return:int=n$1 [line 16, column 5]\n NULLIFY(&this); [line 16, column 5]\n EXIT_SCOPE(n$0,n$1,this); [line 16, column 5]\n APPLY_ABSTRACTION; [line 16, column 5]\n " shape="box"] +"operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" [label="3: Return Stmt \n n$0=*&this:iterator* [line 16, column 12]\n n$1=*n$0.val:int [line 16, column 12]\n *&return:int=n$1 [line 16, column 5]\n " shape="box"] "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_3" -> "operator*#iterator#(14296957122470685412).e3f593369544fc43a253ad1e4f5ed136_2" ; @@ -125,7 +125,7 @@ digraph cfg { "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_2" [label="2: Exit iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_3" [label="3: Constructor Init \n n$1=*&this:iterator* [line 9, column 8]\n n$2=*&__param_0:iterator const & [line 9, column 8]\n n$3=*n$2.val:int [line 9, column 8]\n *n$1.val:int=n$3 [line 9, column 8]\n NULLIFY(&this); [line 9, column 8]\n NULLIFY(&__param_0); [line 9, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 9, column 8]\n APPLY_ABSTRACTION; [line 9, column 8]\n " shape="box"] +"iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_3" [label="3: Constructor Init \n n$1=*&this:iterator* [line 9, column 8]\n n$2=*&__param_0:iterator const & [line 9, column 8]\n n$3=*n$2.val:int [line 9, column 8]\n *n$1.val:int=n$3 [line 9, column 8]\n " shape="box"] "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_3" -> "iterator#iterator#{11413353760466671846|constexpr}.a278508d3bccc69caf1a1db6246cf788_2" ; @@ -143,7 +143,7 @@ digraph cfg { "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_2" [label="2: Exit iterator::iterator \n " color=yellow style=filled] -"iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_3" [label="3: Constructor Init \n n$1=*&this:iterator* [line 9, column 8]\n n$2=*&__param_0:iterator& [line 9, column 8]\n n$3=*n$2.val:int [line 9, column 8]\n *n$1.val:int=n$3 [line 9, column 8]\n NULLIFY(&this); [line 9, column 8]\n NULLIFY(&__param_0); [line 9, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 9, column 8]\n APPLY_ABSTRACTION; [line 9, column 8]\n " shape="box"] +"iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_3" [label="3: Constructor Init \n n$1=*&this:iterator* [line 9, column 8]\n n$2=*&__param_0:iterator& [line 9, column 8]\n n$3=*n$2.val:int [line 9, column 8]\n *n$1.val:int=n$3 [line 9, column 8]\n " shape="box"] "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_3" -> "iterator#iterator#{3083368405611515834|constexpr}.86fcbefb2af88c097bfa7e085c4b4f40_2" ; @@ -154,7 +154,7 @@ digraph cfg { "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_2" [label="2: Exit vec::end \n " color=yellow style=filled] -"end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 27, column 20]\n n$1=*&this:vec* [line 27, column 27]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1.end_:iterator&) [line 27, column 27]\n NULLIFY(&__return_param); [line 27, column 27]\n NULLIFY(&this); [line 27, column 27]\n EXIT_SCOPE(n$0,n$1,n$2,__return_param,this); [line 27, column 27]\n APPLY_ABSTRACTION; [line 27, column 27]\n " shape="box"] +"end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 27, column 20]\n n$1=*&this:vec* [line 27, column 27]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1.end_:iterator&) [line 27, column 27]\n " shape="box"] "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_3" -> "end#vec(class iterator)#(14240882620331653738).aed9da65654959634fd17d4511cfa44d_2" ; @@ -165,7 +165,7 @@ digraph cfg { "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_2" [label="2: Exit vec::begin \n " color=yellow style=filled] -"begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 26, column 22]\n n$1=*&this:vec* [line 26, column 29]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1.begin_:iterator&) [line 26, column 29]\n NULLIFY(&__return_param); [line 26, column 29]\n NULLIFY(&this); [line 26, column 29]\n EXIT_SCOPE(n$0,n$1,n$2,__return_param,this); [line 26, column 29]\n APPLY_ABSTRACTION; [line 26, column 29]\n " shape="box"] +"begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_3" [label="3: Return Stmt \n n$0=*&__return_param:iterator* [line 26, column 22]\n n$1=*&this:vec* [line 26, column 29]\n n$2=_fun_iterator::iterator(n$0:iterator*,n$1.begin_:iterator&) [line 26, column 29]\n " shape="box"] "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_3" -> "begin#vec(class iterator)#(1866137161906470488).407edea568a869b61c9e5e8424e0b5f7_2" ; @@ -176,19 +176,19 @@ digraph cfg { "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_2" [label="2: Exit vec::vec \n " color=yellow style=filled] -"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:vec* [line 24, column 5]\n n$1=*&size:int [line 24, column 16]\n *n$0.end_.val:int=n$1 [line 24, column 5]\n NULLIFY(&size); [line 24, column 5]\n NULLIFY(&this); [line 24, column 5]\n EXIT_SCOPE(n$0,n$1,size,this); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:vec* [line 24, column 5]\n n$1=*&size:int [line 24, column 16]\n *n$0.end_.val:int=n$1 [line 24, column 5]\n " shape="box"] "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_3" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_2" ; -"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:vec* [line 23, column 5]\n *n$2.begin_.val:int=0 [line 23, column 5]\n EXIT_SCOPE(n$2); [line 23, column 5]\n " shape="box"] +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:vec* [line 23, column 5]\n *n$2.begin_.val:int=0 [line 23, column 5]\n " shape="box"] "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_4" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_3" ; -"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" [label="5: Constructor Init \n n$3=*&this:vec* [line 22, column 3]\n n$4=_fun_iterator::iterator(n$3.end_:iterator*) [line 22, column 3]\n EXIT_SCOPE(n$3,n$4); [line 22, column 3]\n " shape="box"] +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" [label="5: Constructor Init \n n$3=*&this:vec* [line 22, column 3]\n n$4=_fun_iterator::iterator(n$3.end_:iterator*) [line 22, column 3]\n " shape="box"] "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_4" ; -"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" [label="6: Constructor Init \n n$5=*&this:vec* [line 22, column 3]\n n$6=_fun_iterator::iterator(n$5.begin_:iterator*) [line 22, column 3]\n EXIT_SCOPE(n$5,n$6); [line 22, column 3]\n " shape="box"] +"vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" [label="6: Constructor Init \n n$5=*&this:vec* [line 22, column 3]\n n$6=_fun_iterator::iterator(n$5.begin_:iterator*) [line 22, column 3]\n " shape="box"] "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_6" -> "vec#vec#{13876720186060950809}.c3c9a518fcec87e97d6b52a59f13d428_5" ; 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 1acbce58b..ed73508f7 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 @@ -7,7 +7,7 @@ digraph cfg { "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_2" [label="2: Exit foo \n " color=yellow style=filled] -"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_3" [label="3: Return Stmt \n *&return:int=52 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_3" [label="3: Return Stmt \n *&return:int=52 [line 12, column 3]\n " shape="box"] "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_3" -> "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_2" ; @@ -15,20 +15,20 @@ digraph cfg { "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_4" -> "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_3" ; -"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_5" [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int* [line 9, column 9]\n *n$0:int=0 [line 9, column 8]\n NULLIFY(&p); [line 9, column 8]\n EXIT_SCOPE(p); [line 9, column 8]\n " shape="box"] +"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_5" [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int* [line 9, column 9]\n *n$0:int=0 [line 9, column 8]\n " shape="box"] "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, if) \n n$1=*n$0:int [line 9, column 7]\n PRUNE(n$1, true); [line 9, column 7]\n EXIT_SCOPE(n$0,n$1); [line 9, column 7]\n " shape="invhouse"] +"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_6" [label="6: Prune (true branch, if) \n n$1=*n$0:int [line 9, column 7]\n PRUNE(n$1, true); [line 9, column 7]\n " shape="invhouse"] "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_6" -> "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_8" ; -"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_7" [label="7: Prune (false branch, if) \n n$1=*n$0:int [line 9, column 7]\n PRUNE(!n$1, false); [line 9, column 7]\n EXIT_SCOPE(n$0,n$1); [line 9, column 7]\n " shape="invhouse"] +"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_7" [label="7: Prune (false branch, if) \n n$1=*n$0:int [line 9, column 7]\n PRUNE(!n$1, false); [line 9, column 7]\n " shape="invhouse"] "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_7" -> "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_4" ; -"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_8" [label="8: Return Stmt \n *&return:int=32 [line 10, column 5]\n APPLY_ABSTRACTION; [line 10, column 5]\n " shape="box"] +"foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_8" [label="8: Return Stmt \n *&return:int=32 [line 10, column 5]\n " shape="box"] "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_8" -> "foo#2836494104225061820.259bb50e98efa97b98306a2c09f474f8_2" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_with_increment.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_with_increment.cpp.dot index 6c140a8e8..15e599190 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_with_increment.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/assign_with_increment.cpp.dot @@ -7,19 +7,19 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(e:int); [line 13, column 3]\n n$0=*&a:int [line 13, column 11]\n *&a:int=(n$0 - 1) [line 13, column 11]\n *&e:int=n$0 [line 13, column 3]\n NULLIFY(&a); [line 13, column 3]\n NULLIFY(&e); [line 13, column 3]\n EXIT_SCOPE(n$0,a,e); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(e:int); [line 13, column 3]\n n$0=*&a:int [line 13, column 11]\n *&a:int=(n$0 - 1) [line 13, column 11]\n *&e:int=n$0 [line 13, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 12, column 3]\n n$1=*&a:int [line 12, column 11]\n *&a:int=(n$1 - 1) [line 12, column 11]\n n$2=*&a:int [line 12, column 11]\n *&d:int=n$2 [line 12, column 3]\n NULLIFY(&d); [line 12, column 3]\n EXIT_SCOPE(n$1,n$2,d); [line 12, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int); [line 12, column 3]\n n$1=*&a:int [line 12, column 11]\n *&a:int=(n$1 - 1) [line 12, column 11]\n n$2=*&a:int [line 12, column 11]\n *&d:int=n$2 [line 12, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 11, column 3]\n n$3=*&a:int [line 11, column 11]\n *&a:int=(n$3 + 1) [line 11, column 11]\n *&c:int=n$3 [line 11, column 3]\n NULLIFY(&c); [line 11, column 3]\n EXIT_SCOPE(n$3,c); [line 11, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 11, column 3]\n n$3=*&a:int [line 11, column 11]\n *&a:int=(n$3 + 1) [line 11, column 11]\n *&c:int=n$3 [line 11, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n n$4=*&a:int [line 10, column 11]\n *&a:int=(n$4 + 1) [line 10, column 11]\n n$5=*&a:int [line 10, column 11]\n *&b:int=n$5 [line 10, column 3]\n NULLIFY(&b); [line 10, column 3]\n EXIT_SCOPE(n$4,n$5,b); [line 10, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: DeclStmt \n VARIABLE_DECLARED(b:int); [line 10, column 3]\n n$4=*&a:int [line 10, column 11]\n *&a:int=(n$4 + 1) [line 10, column 11]\n n$5=*&a:int [line 10, column 11]\n *&b:int=n$5 [line 10, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot index c16840733..79a505770 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/nestedoperators/union.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_2" [label="2: Exit __infer_globals_initializer_y \n " color=yellow style=filled] -"__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$y:anonymous_union_nestedoperators_union.cpp:13:1); [line 13, column 1]\n n$0=_fun_anonymous_union_nestedoperators_union.cpp:13:1::(&#GB$y:anonymous_union_nestedoperators_union.cpp:13:1*) [line 23, column 3]\n EXIT_SCOPE(n$0); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$y:anonymous_union_nestedoperators_union.cpp:13:1); [line 13, column 1]\n n$0=_fun_anonymous_union_nestedoperators_union.cpp:13:1::(&#GB$y:anonymous_union_nestedoperators_union.cpp:13:1*) [line 23, column 3]\n " shape="box"] "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_3" -> "__infer_globals_initializer_y.0ea250be2dd991733c9131c53abc3c54_2" ; @@ -18,15 +18,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 33, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:anonymous_struct_nestedoperators_union.cpp:8:1* [line 32, column 11]\n n$1=*n$0.b:int [line 32, column 11]\n *&#GB$y.g.w:int=n$1 [line 32, column 3]\n EXIT_SCOPE(n$0,n$1); [line 32, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:anonymous_struct_nestedoperators_union.cpp:8:1* [line 32, column 11]\n n$1=*n$0.b:int [line 32, column 11]\n *&#GB$y.g.w:int=n$1 [line 32, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 30, column 11]\n *&#GB$y.g.u:int=n$2 [line 30, column 3]\n EXIT_SCOPE(n$2); [line 30, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 30, column 11]\n *&#GB$y.g.u:int=n$2 [line 30, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -34,7 +34,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:anonymous_struct_nestedoperators_union.cpp:8:1* [line 28, column 3]\n *n$3.a:int=1 [line 28, column 3]\n EXIT_SCOPE(n$3); [line 28, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:anonymous_struct_nestedoperators_union.cpp:8:1* [line 28, column 3]\n *n$3.a:int=1 [line 28, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; diff --git a/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot b/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot index 35fe28f6a..0cc6a6810 100644 --- a/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/frontend/vectors/shuffle_vector.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_1" -> "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" ; -"simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_2" [label="2: Exit simple \n NULLIFY(&vec); [line 10, column 52]\n " color=yellow style=filled] +"simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_2" [label="2: Exit simple \n " color=yellow style=filled] -"simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" [label="3: Return Stmt \n n$0=_fun___infer_skip(&vec:void&) [line 10, column 44]\n n$1=*n$0:void [line 10, column 44]\n *&return:void=n$1 [line 10, column 37]\n EXIT_SCOPE(n$0,n$1,vec); [line 10, column 37]\n APPLY_ABSTRACTION; [line 10, column 37]\n " shape="box"] +"simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" [label="3: Return Stmt \n n$0=_fun___infer_skip(&vec:void&) [line 10, column 44]\n n$1=*n$0:void [line 10, column 44]\n *&return:void=n$1 [line 10, column 37]\n " shape="box"] "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_3" -> "simple#17639603251097432993.e5c9feb95ecff69f23df6ce422f34819_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot index 2585007c6..f3ba8e830 100644 --- a/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/attributes/annotate.cpp.dot @@ -14,7 +14,7 @@ digraph cfg { "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_2" [label="2: Exit derefFirstArg2 \n " color=yellow style=filled] -"derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_3" [label="3: Return Stmt \n n$0=*&b:int* [line 26, column 11]\n n$1=*n$0:int [line 26, column 10]\n *&return:int=n$1 [line 26, column 3]\n NULLIFY(&b); [line 26, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 26, column 3]\n APPLY_ABSTRACTION; [line 26, column 3]\n " shape="box"] +"derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_3" [label="3: Return Stmt \n n$0=*&b:int* [line 26, column 11]\n n$1=*n$0:int [line 26, column 10]\n *&return:int=n$1 [line 26, column 3]\n " shape="box"] "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_3" -> "derefFirstArg2#11387624487828646016.9777f67ce8b8da5c99a0e59eaaf6eb17_2" ; @@ -25,11 +25,11 @@ digraph cfg { "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_2" [label="2: Exit derefFirstArg2_null_deref \n " color=yellow style=filled] -"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" [label="3: Return Stmt \n n$0=*null:int [line 49, column 10]\n *&return:int=n$0 [line 49, column 3]\n EXIT_SCOPE(n$0); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, column 3]\n " shape="box"] +"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" [label="3: Return Stmt \n n$0=*null:int [line 49, column 10]\n *&return:int=n$0 [line 49, column 3]\n " shape="box"] "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_2" ; -"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 48, column 3]\n *&a:int=0 [line 48, column 3]\n NULLIFY(&a); [line 48, column 3]\n EXIT_SCOPE(a); [line 48, column 3]\n " shape="box"] +"derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 48, column 3]\n *&a:int=0 [line 48, column 3]\n " shape="box"] "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_4" -> "derefFirstArg2_null_deref#13631548499595216278.23fca23ff6728e4b72a2548ecb3b1ba0_3" ; @@ -40,7 +40,7 @@ digraph cfg { "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_2" [label="2: Exit derefFirstArg2_ok_deref \n " color=yellow style=filled] -"derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" [label="3: Return Stmt \n n$0=*&a:int [line 54, column 10]\n *&return:int=n$0 [line 54, column 3]\n NULLIFY(&a); [line 54, column 3]\n EXIT_SCOPE(n$0,a); [line 54, column 3]\n APPLY_ABSTRACTION; [line 54, column 3]\n " shape="box"] +"derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" [label="3: Return Stmt \n n$0=*&a:int [line 54, column 10]\n *&return:int=n$0 [line 54, column 3]\n " shape="box"] "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_3" -> "derefFirstArg2_ok_deref#6873109919028202465.d57ab0b62c0ba18894b8b08d5a8f8e8a_2" ; @@ -55,7 +55,7 @@ digraph cfg { "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_2" [label="2: Exit derefFirstArg3 \n " color=yellow style=filled] -"derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_3" [label="3: Return Stmt \n n$0=*&b:int* [line 33, column 11]\n n$1=*n$0:int [line 33, column 10]\n *&return:int=n$1 [line 33, column 3]\n NULLIFY(&b); [line 33, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_3" [label="3: Return Stmt \n n$0=*&b:int* [line 33, column 11]\n n$1=*n$0:int [line 33, column 10]\n *&return:int=n$1 [line 33, column 3]\n " shape="box"] "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_3" -> "derefFirstArg3#3150650678378709003.fb38cf6b9238ba2f8f6e25136f8beb95_2" ; @@ -63,10 +63,10 @@ digraph cfg { "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_1" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_4" ; -"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_2" [label="2: Exit derefFirstArg3_null_deref \n NULLIFY(&a); [line 65, column 1]\n " color=yellow style=filled] +"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_2" [label="2: Exit derefFirstArg3_null_deref \n " color=yellow style=filled] -"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(&a:int*,null:int*) [line 64, column 10]\n *&return:int=n$0 [line 64, column 3]\n EXIT_SCOPE(n$0,a); [line 64, column 3]\n APPLY_ABSTRACTION; [line 64, column 3]\n " shape="box"] +"derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(&a:int*,null:int*) [line 64, column 10]\n *&return:int=n$0 [line 64, column 3]\n " shape="box"] "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_3" -> "derefFirstArg3_null_deref#3036141491555788229.605788dbf5e3c5625520098d1b5d320e_2" ; @@ -78,10 +78,10 @@ digraph cfg { "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_1" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_4" ; -"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_2" [label="2: Exit derefFirstArg3_ok_deref \n NULLIFY(&a); [line 60, column 1]\n " color=yellow style=filled] +"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_2" [label="2: Exit derefFirstArg3_ok_deref \n " color=yellow style=filled] -"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(null:int*,&a:int*) [line 59, column 10]\n *&return:int=n$0 [line 59, column 3]\n EXIT_SCOPE(n$0,a); [line 59, column 3]\n APPLY_ABSTRACTION; [line 59, column 3]\n " shape="box"] +"derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(null:int*,&a:int*) [line 59, column 10]\n *&return:int=n$0 [line 59, column 3]\n " shape="box"] "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_3" -> "derefFirstArg3_ok_deref#12266654054137171150.c58c85ea4ba2ebfd89d0336e51301e7a_2" ; @@ -96,11 +96,11 @@ digraph cfg { "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_2" [label="2: Exit derefFirstArg_null_deref \n " color=yellow style=filled] -"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" [label="3: Return Stmt \n n$0=*null:int [line 39, column 10]\n *&return:int=n$0 [line 39, column 3]\n EXIT_SCOPE(n$0); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" [label="3: Return Stmt \n n$0=*null:int [line 39, column 10]\n *&return:int=n$0 [line 39, column 3]\n " shape="box"] "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_2" ; -"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 38, column 3]\n *&a:int=0 [line 38, column 3]\n NULLIFY(&a); [line 38, column 3]\n EXIT_SCOPE(a); [line 38, column 3]\n " shape="box"] +"derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int); [line 38, column 3]\n *&a:int=0 [line 38, column 3]\n " shape="box"] "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_4" -> "derefFirstArg_null_deref#14830687999166111591.325df3347d8f75d0292cfd33a485d28a_3" ; @@ -111,7 +111,7 @@ digraph cfg { "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_2" [label="2: Exit derefFirstArg_ok_deref \n " color=yellow style=filled] -"derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" [label="3: Return Stmt \n n$0=*&a:int [line 44, column 10]\n *&return:int=n$0 [line 44, column 3]\n NULLIFY(&a); [line 44, column 3]\n EXIT_SCOPE(n$0,a); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] +"derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" [label="3: Return Stmt \n n$0=*&a:int [line 44, column 10]\n *&return:int=n$0 [line 44, column 3]\n " shape="box"] "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_3" -> "derefFirstArg_ok_deref#70986049112502156.78efafe2cdade07d4257a7cd671e75f5_2" ; @@ -123,18 +123,18 @@ digraph cfg { "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_1" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" ; -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_2" [label="2: Exit getPtr_null_deref1 \n NULLIFY(&t); [line 93, column 1]\n " color=yellow style=filled] +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_2" [label="2: Exit getPtr_null_deref1 \n " color=yellow style=filled] -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" [label="3: Return Stmt \n _=*&t:int* [line 92, column 11]\n n$1=*&t:int* [line 92, column 11]\n n$2=*n$1:int [line 92, column 10]\n *&return:int=n$2 [line 92, column 3]\n EXIT_SCOPE(_,n$1,n$2,t); [line 92, column 3]\n APPLY_ABSTRACTION; [line 92, column 3]\n " shape="box"] +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" [label="3: Return Stmt \n _=*&t:int* [line 92, column 11]\n n$1=*&t:int* [line 92, column 11]\n n$2=*n$1:int [line 92, column 10]\n *&return:int=n$2 [line 92, column 3]\n " shape="box"] "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_2" ; -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 91, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 91, column 3]\n EXIT_SCOPE(_,n$4); [line 91, column 3]\n " shape="box"] +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 91, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 91, column 3]\n " shape="box"] "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_3" ; -"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 90, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 90, column 23]\n EXIT_SCOPE(n$5); [line 90, column 23]\n " shape="box"] +"getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 90, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 90, column 23]\n " shape="box"] "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_5" -> "getPtr_null_deref1#10685326586135592861.d05a7735c36f759fec001951cdc51035_4" ; @@ -142,18 +142,18 @@ digraph cfg { "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_1" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" ; -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_2" [label="2: Exit getPtr_null_deref2 \n NULLIFY(&t); [line 99, column 1]\n " color=yellow style=filled] +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_2" [label="2: Exit getPtr_null_deref2 \n " color=yellow style=filled] -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" [label="3: Return Stmt \n _=*&t:int* [line 98, column 11]\n n$1=*&t:int* [line 98, column 11]\n n$2=*n$1:int [line 98, column 10]\n *&return:int=n$2 [line 98, column 3]\n EXIT_SCOPE(_,n$1,n$2,t); [line 98, column 3]\n APPLY_ABSTRACTION; [line 98, column 3]\n " shape="box"] +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" [label="3: Return Stmt \n _=*&t:int* [line 98, column 11]\n n$1=*&t:int* [line 98, column 11]\n n$2=*n$1:int [line 98, column 10]\n *&return:int=n$2 [line 98, column 3]\n " shape="box"] "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_2" ; -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 97, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 97, column 3]\n EXIT_SCOPE(_,n$4); [line 97, column 3]\n " shape="box"] +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 97, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 97, column 3]\n " shape="box"] "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_3" ; -"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 96, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 96, column 23]\n EXIT_SCOPE(n$5); [line 96, column 23]\n " shape="box"] +"getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 96, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 96, column 23]\n " shape="box"] "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_5" -> "getPtr_null_deref2#10682492045158632578.de31216813faa493761802feb6f997f2_4" ; @@ -161,18 +161,18 @@ digraph cfg { "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_1" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_6" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_2" [label="2: Exit getPtr_ok_deref \n NULLIFY(&a); [line 106, column 1]\n NULLIFY(&t); [line 106, column 1]\n " color=yellow style=filled] +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_2" [label="2: Exit getPtr_ok_deref \n " color=yellow style=filled] -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" [label="3: Return Stmt \n _=*&t:int* [line 105, column 11]\n n$1=*&t:int* [line 105, column 11]\n n$2=*n$1:int [line 105, column 10]\n *&return:int=n$2 [line 105, column 3]\n EXIT_SCOPE(_,n$1,n$2,t); [line 105, column 3]\n APPLY_ABSTRACTION; [line 105, column 3]\n " shape="box"] +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" [label="3: Return Stmt \n _=*&t:int* [line 105, column 11]\n n$1=*&t:int* [line 105, column 11]\n n$2=*n$1:int [line 105, column 10]\n *&return:int=n$2 [line 105, column 3]\n " shape="box"] "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_2" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 104, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 104, column 3]\n EXIT_SCOPE(_,n$4,a); [line 104, column 3]\n " shape="box"] +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 104, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 104, column 3]\n " shape="box"] "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_3" ; -"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 103, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 103, column 23]\n EXIT_SCOPE(n$5); [line 103, column 23]\n " shape="box"] +"getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 103, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 103, column 23]\n " shape="box"] "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_5" -> "getPtr_ok_deref#15608473391071478730.49e56fac5bd82269c2093a9c1e438200_4" ; @@ -184,18 +184,18 @@ digraph cfg { "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_1" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" ; -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_2" [label="2: Exit getRef_null_deref1 \n NULLIFY(&t); [line 131, column 1]\n " color=yellow style=filled] +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_2" [label="2: Exit getRef_null_deref1 \n " color=yellow style=filled] -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" [label="3: Return Stmt \n _=*&t:int* [line 130, column 10]\n n$1=*&t:int* [line 130, column 10]\n n$2=*n$1:int [line 130, column 10]\n *&return:int=n$2 [line 130, column 3]\n EXIT_SCOPE(_,n$1,n$2,t); [line 130, column 3]\n APPLY_ABSTRACTION; [line 130, column 3]\n " shape="box"] +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" [label="3: Return Stmt \n _=*&t:int* [line 130, column 10]\n n$1=*&t:int* [line 130, column 10]\n n$2=*n$1:int [line 130, column 10]\n *&return:int=n$2 [line 130, column 3]\n " shape="box"] "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_2" ; -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 129, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 129, column 3]\n EXIT_SCOPE(_,n$4); [line 129, column 3]\n " shape="box"] +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 129, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 129, column 3]\n " shape="box"] "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_3" ; -"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 128, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 128, column 23]\n EXIT_SCOPE(n$5); [line 128, column 23]\n " shape="box"] +"getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 128, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 128, column 23]\n " shape="box"] "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_5" -> "getRef_null_deref1#4264296374417396044.654d24b6c4af017d90a5ceff83c121c2_4" ; @@ -203,18 +203,18 @@ digraph cfg { "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_1" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" ; -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_2" [label="2: Exit getRef_null_deref2 \n NULLIFY(&t); [line 137, column 1]\n " color=yellow style=filled] +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_2" [label="2: Exit getRef_null_deref2 \n " color=yellow style=filled] -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" [label="3: Return Stmt \n _=*&t:int* [line 136, column 10]\n n$1=*&t:int* [line 136, column 10]\n n$2=*n$1:int [line 136, column 10]\n *&return:int=n$2 [line 136, column 3]\n EXIT_SCOPE(_,n$1,n$2,t); [line 136, column 3]\n APPLY_ABSTRACTION; [line 136, column 3]\n " shape="box"] +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" [label="3: Return Stmt \n _=*&t:int* [line 136, column 10]\n n$1=*&t:int* [line 136, column 10]\n n$2=*n$1:int [line 136, column 10]\n *&return:int=n$2 [line 136, column 3]\n " shape="box"] "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_2" ; -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 135, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 135, column 3]\n EXIT_SCOPE(_,n$4); [line 135, column 3]\n " shape="box"] +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 135, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 135, column 3]\n " shape="box"] "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_3" ; -"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 134, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 134, column 23]\n EXIT_SCOPE(n$5); [line 134, column 23]\n " shape="box"] +"getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 134, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 134, column 23]\n " shape="box"] "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_5" -> "getRef_null_deref2#4263471740696427019.45bed1239309132cabf29f4cdd81f3cc_4" ; @@ -222,18 +222,18 @@ digraph cfg { "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_1" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_6" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_2" [label="2: Exit getRef_ok_deref \n NULLIFY(&t); [line 144, column 1]\n NULLIFY(&a); [line 144, column 1]\n " color=yellow style=filled] +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_2" [label="2: Exit getRef_ok_deref \n " color=yellow style=filled] -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" [label="3: Return Stmt \n _=*&t:int* [line 143, column 10]\n n$1=*&t:int* [line 143, column 10]\n n$2=*n$1:int [line 143, column 10]\n *&return:int=n$2 [line 143, column 3]\n EXIT_SCOPE(_,n$1,n$2,t); [line 143, column 3]\n APPLY_ABSTRACTION; [line 143, column 3]\n " shape="box"] +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" [label="3: Return Stmt \n _=*&t:int* [line 143, column 10]\n n$1=*&t:int* [line 143, column 10]\n n$2=*n$1:int [line 143, column 10]\n *&return:int=n$2 [line 143, column 3]\n " shape="box"] "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_2" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 142, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 142, column 3]\n EXIT_SCOPE(_,n$4,a); [line 142, column 3]\n " shape="box"] +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 142, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 142, column 3]\n " shape="box"] "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_3" ; -"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 141, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 141, column 23]\n EXIT_SCOPE(n$5); [line 141, column 23]\n " shape="box"] +"getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 141, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 141, column 23]\n " shape="box"] "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_5" -> "getRef_ok_deref#10111201054364386601.e514c65ac6978a31376e6032d81b3d16_4" ; @@ -245,18 +245,18 @@ digraph cfg { "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_1" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" ; -"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_2" [label="2: Exit operator_star_null_deref1 \n NULLIFY(&t); [line 112, column 1]\n " color=yellow style=filled] +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_2" [label="2: Exit operator_star_null_deref1 \n " color=yellow style=filled] -"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" [label="3: Return Stmt \n n$1=*&t:int* [line 111, column 10]\n n$2=*n$1:int [line 111, column 10]\n *&return:int=n$2 [line 111, column 3]\n EXIT_SCOPE(n$1,n$2,t); [line 111, column 3]\n APPLY_ABSTRACTION; [line 111, column 3]\n " shape="box"] +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" [label="3: Return Stmt \n n$1=*&t:int* [line 111, column 10]\n n$2=*n$1:int [line 111, column 10]\n *&return:int=n$2 [line 111, column 3]\n " shape="box"] "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_2" ; -"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 110, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 110, column 3]\n EXIT_SCOPE(_,n$4); [line 110, column 3]\n " shape="box"] +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 110, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 110, column 3]\n " shape="box"] "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_3" ; -"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 109, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 109, column 23]\n EXIT_SCOPE(n$5); [line 109, column 23]\n " shape="box"] +"operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 109, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 109, column 23]\n " shape="box"] "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_5" -> "operator_star_null_deref1#14187169119337849630.74372e24230903d2d4cacecae74f498d_4" ; @@ -264,18 +264,18 @@ digraph cfg { "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_1" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" ; -"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_2" [label="2: Exit operator_star_null_deref2 \n NULLIFY(&t); [line 118, column 1]\n " color=yellow style=filled] +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_2" [label="2: Exit operator_star_null_deref2 \n " color=yellow style=filled] -"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" [label="3: Return Stmt \n _=*&t:int* [line 117, column 10]\n n$1=*&t:int* [line 117, column 10]\n n$2=*n$1:int [line 117, column 10]\n *&return:int=n$2 [line 117, column 3]\n EXIT_SCOPE(_,n$1,n$2,t); [line 117, column 3]\n APPLY_ABSTRACTION; [line 117, column 3]\n " shape="box"] +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" [label="3: Return Stmt \n _=*&t:int* [line 117, column 10]\n n$1=*&t:int* [line 117, column 10]\n n$2=*n$1:int [line 117, column 10]\n *&return:int=n$2 [line 117, column 3]\n " shape="box"] "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_2" ; -"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 116, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 116, column 3]\n EXIT_SCOPE(_,n$4); [line 116, column 3]\n " shape="box"] +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 116, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,null:int*) [line 116, column 3]\n " shape="box"] "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_3" ; -"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 115, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 115, column 23]\n EXIT_SCOPE(n$5); [line 115, column 23]\n " shape="box"] +"operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 115, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 115, column 23]\n " shape="box"] "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_5" -> "operator_star_null_deref2#14189968475942707161.6f6b808f2059b0f1bd8edd63f3e0c27b_4" ; @@ -283,18 +283,18 @@ digraph cfg { "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_1" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" ; -"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_2" [label="2: Exit operator_star_ok_deref \n NULLIFY(&a); [line 125, column 1]\n NULLIFY(&t); [line 125, column 1]\n " color=yellow style=filled] +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_2" [label="2: Exit operator_star_ok_deref \n " color=yellow style=filled] -"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" [label="3: Return Stmt \n _=*&t:int* [line 124, column 10]\n n$1=*&t:int* [line 124, column 10]\n n$2=*n$1:int [line 124, column 10]\n *&return:int=n$2 [line 124, column 3]\n EXIT_SCOPE(_,n$1,n$2,t); [line 124, column 3]\n APPLY_ABSTRACTION; [line 124, column 3]\n " shape="box"] +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" [label="3: Return Stmt \n _=*&t:int* [line 124, column 10]\n n$1=*&t:int* [line 124, column 10]\n n$2=*n$1:int [line 124, column 10]\n *&return:int=n$2 [line 124, column 3]\n " shape="box"] "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_2" ; -"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 123, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 123, column 3]\n EXIT_SCOPE(_,n$4,a); [line 123, column 3]\n " shape="box"] +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" [label="4: Call _fun_TranslateAsPtr::setPtr \n _=*&t:int* [line 123, column 3]\n n$4=_fun_TranslateAsPtr::setPtr(&t:int*&,&a:int*) [line 123, column 3]\n " shape="box"] "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_3" ; -"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 122, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 122, column 23]\n EXIT_SCOPE(n$5); [line 122, column 23]\n " shape="box"] +"operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(t:int*); [line 122, column 3]\n n$5=_fun_TranslateAsPtr::TranslateAsPtr(&t:int**,null:int*) [line 122, column 23]\n " shape="box"] "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_5" -> "operator_star_ok_deref#11345277927099423171.138b78e88dab5887cd2f20f2590c779f_4" ; @@ -312,7 +312,7 @@ digraph cfg { "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_2" [label="2: Exit TranslateAsPtr::setPtr \n " color=yellow style=filled] -"setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:int** [line 86, column 34]\n n$1=*&v:int* [line 86, column 43]\n *n$0:void*=n$1 [line 86, column 23]\n NULLIFY(&v); [line 86, column 23]\n NULLIFY(&this); [line 86, column 23]\n EXIT_SCOPE(n$0,n$1,v,this); [line 86, column 23]\n APPLY_ABSTRACTION; [line 86, column 23]\n " shape="box"] +"setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:int** [line 86, column 34]\n n$1=*&v:int* [line 86, column 43]\n *n$0:void*=n$1 [line 86, column 23]\n " shape="box"] "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_3" -> "setPtr#TranslateAsPtr#(11427652750021041520).3f4d983a0a5cf5a43b2e4fd66c30c6a9_2" ; @@ -351,7 +351,7 @@ digraph cfg { "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_2" [label="2: Exit TranslateAsPtr::TranslateAsPtr \n " color=yellow style=filled] -"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" [label="3: Call _fun_TranslateAsPtr::setPtr \n n$0=*&this:int** [line 76, column 36]\n _=*n$0:int* [line 76, column 36]\n n$2=*&t:int* [line 76, column 43]\n n$3=_fun_TranslateAsPtr::setPtr(n$0:int**,n$2:int*) [line 76, column 36]\n NULLIFY(&t); [line 76, column 36]\n NULLIFY(&this); [line 76, column 36]\n EXIT_SCOPE(_,n$0,n$2,n$3,t,this); [line 76, column 36]\n APPLY_ABSTRACTION; [line 76, column 36]\n " shape="box"] +"TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" [label="3: Call _fun_TranslateAsPtr::setPtr \n n$0=*&this:int** [line 76, column 36]\n _=*n$0:int* [line 76, column 36]\n n$2=*&t:int* [line 76, column 43]\n n$3=_fun_TranslateAsPtr::setPtr(n$0:int**,n$2:int*) [line 76, column 36]\n " shape="box"] "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_3" -> "TranslateAsPtr#TranslateAsPtr#{16989717360382977660}.33ce04b76efc158540bbe4b4b3c6897f_2" ; 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 3dd992128..c3b437a52 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/binary_conditional.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_1" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_2" [label="2: Exit binary_conditional::binaryConditional \n NULLIFY(&x); [line 23, column 1]\n NULLIFY(&a); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$6); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 23, column 1]\n " color=yellow style=filled] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_2" [label="2: Exit binary_conditional::binaryConditional \n " color=yellow style=filled] -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_3" [label="3: Destruction(Scope) \n _=*&x:binary_conditional::X [line 23, column 1]\n n$1=_fun_binary_conditional::X::~X(&x:binary_conditional::X*) injected [line 23, column 1]\n _=*&a:binary_conditional::X [line 23, column 1]\n n$3=_fun_binary_conditional::X::~X(&a:binary_conditional::X*) injected [line 23, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,a,x); [line 23, column 1]\n APPLY_ABSTRACTION; [line 23, column 1]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_3" [label="3: Destruction(Scope) \n _=*&x:binary_conditional::X [line 23, column 1]\n n$1=_fun_binary_conditional::X::~X(&x:binary_conditional::X*) injected [line 23, column 1]\n _=*&a:binary_conditional::X [line 23, column 1]\n n$3=_fun_binary_conditional::X::~X(&a:binary_conditional::X*) injected [line 23, column 1]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_3" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_2" ; @@ -15,36 +15,36 @@ digraph cfg { "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_4" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" [label="5: Call _fun_binary_conditional::X::operator_bool \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X [line 22, column 9]\n n$16=_fun_binary_conditional::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X&) [line 22, column 9]\n EXIT_SCOPE(_); [line 22, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" [label="5: Call _fun_binary_conditional::X::operator_bool \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X [line 22, column 9]\n n$16=_fun_binary_conditional::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X&) [line 22, column 9]\n " shape="box"] "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, boolean exp) \n PRUNE(n$16, true); [line 22, column 9]\n EXIT_SCOPE(n$16); [line 22, column 9]\n " shape="invhouse"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$16, true); [line 22, 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, boolean exp) \n PRUNE(!n$16, false); [line 22, column 9]\n EXIT_SCOPE(n$16); [line 22, column 9]\n " shape="invhouse"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$16, false); [line 22, column 9]\n " shape="invhouse"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_7" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" [label="8: ConditionalStmt Branch \n n$17=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X&) [line 22, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$14:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 22, column 9]\n EXIT_SCOPE(n$17); [line 22, column 9]\n APPLY_ABSTRACTION; [line 22, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" [label="8: ConditionalStmt Branch \n n$17=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X&) [line 22, column 9]\n *&0$?%__sil_tmpSIL_temp_conditional___n$14:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 22, column 9]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_8" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_4" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" [label="9: ConditionalStmt Branch \n n$18=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&a:binary_conditional::X&) [line 22, column 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$14:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 22, column 9]\n EXIT_SCOPE(n$18); [line 22, column 9]\n APPLY_ABSTRACTION; [line 22, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" [label="9: ConditionalStmt Branch \n n$18=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&a:binary_conditional::X&) [line 22, column 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$14:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 22, column 9]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_9" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_4" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" [label="10: BinaryConditionalStmt Init \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X); [line 22, column 9]\n n$13=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X*) assign_last [line 22, column 9]\n EXIT_SCOPE(n$13); [line 22, column 9]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" [label="10: BinaryConditionalStmt Init \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X); [line 22, column 9]\n n$13=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X*) assign_last [line 22, column 9]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_5" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 22, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X); [line 22, column 9]\n n$19=*&0$?%__sil_tmpSIL_temp_conditional___n$14:binary_conditional::X [line 22, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X=n$19 [line 22, column 9]\n n$20=_fun_binary_conditional::X::X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 22, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X [line 22, column 19]\n n$8=_fun_binary_conditional::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X*) injected [line 22, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X [line 22, column 19]\n n$10=_fun_binary_conditional::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*) injected [line 22, column 19]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$14); [line 22, column 19]\n EXIT_SCOPE(_,_,n$8,n$10,n$19,n$20,0$?%__sil_tmpSIL_materialize_temp__n$5,0$?%__sil_tmpSIL_materialize_temp__n$6,0$?%__sil_tmpSIL_temp_conditional___n$14); [line 22, column 19]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 22, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X); [line 22, column 9]\n n$19=*&0$?%__sil_tmpSIL_temp_conditional___n$14:binary_conditional::X [line 22, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X=n$19 [line 22, column 9]\n n$20=_fun_binary_conditional::X::X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 22, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X [line 22, column 19]\n n$8=_fun_binary_conditional::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$6:binary_conditional::X*) injected [line 22, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X [line 22, column 19]\n n$10=_fun_binary_conditional::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*) injected [line 22, column 19]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_11" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_3" ; -"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" [label="12: DeclStmt \n VARIABLE_DECLARED(a:binary_conditional::X); [line 21, column 3]\n n$21=_fun_binary_conditional::X::X(&a:binary_conditional::X*) [line 21, column 5]\n EXIT_SCOPE(n$21); [line 21, column 5]\n " shape="box"] +"binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" [label="12: DeclStmt \n VARIABLE_DECLARED(a:binary_conditional::X); [line 21, column 3]\n n$21=_fun_binary_conditional::X::X(&a:binary_conditional::X*) [line 21, column 5]\n " shape="box"] "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_12" -> "binaryConditional#binary_conditional#15641211300815748363.a0f7e256e24b7117cb94c66e5aa27a30_10" ; @@ -52,10 +52,10 @@ digraph cfg { "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_1" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_2" [label="2: Exit binary_conditional::conditional \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$15); [line 28, column 1]\n NULLIFY(&a); [line 28, column 1]\n NULLIFY(&x); [line 28, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 28, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$10); [line 28, column 1]\n " color=yellow style=filled] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_2" [label="2: Exit binary_conditional::conditional \n " color=yellow style=filled] -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_3" [label="3: Destruction(Scope) \n _=*&x:binary_conditional::X [line 28, column 1]\n n$1=_fun_binary_conditional::X::~X(&x:binary_conditional::X*) injected [line 28, column 1]\n _=*&a:binary_conditional::X [line 28, column 1]\n n$3=_fun_binary_conditional::X::~X(&a:binary_conditional::X*) injected [line 28, column 1]\n EXIT_SCOPE(_,_,n$1,n$3,x,a); [line 28, column 1]\n APPLY_ABSTRACTION; [line 28, column 1]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_3" [label="3: Destruction(Scope) \n _=*&x:binary_conditional::X [line 28, column 1]\n n$1=_fun_binary_conditional::X::~X(&x:binary_conditional::X*) injected [line 28, column 1]\n _=*&a:binary_conditional::X [line 28, column 1]\n n$3=_fun_binary_conditional::X::~X(&a:binary_conditional::X*) injected [line 28, column 1]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_3" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_2" ; @@ -63,32 +63,32 @@ digraph cfg { "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_4" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_10" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" [label="5: Call _fun_binary_conditional::X::operator_bool \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X); [line 27, column 9]\n n$12=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X*) assign_last [line 27, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X [line 27, column 9]\n n$14=_fun_binary_conditional::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X&) [line 27, column 9]\n EXIT_SCOPE(_,n$12,0$?%__sil_tmpSIL_materialize_temp__n$10); [line 27, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" [label="5: Call _fun_binary_conditional::X::operator_bool \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X); [line 27, column 9]\n n$12=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X*) assign_last [line 27, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X [line 27, column 9]\n n$14=_fun_binary_conditional::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$10:binary_conditional::X&) [line 27, column 9]\n " shape="box"] "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, boolean exp) \n PRUNE(n$14, true); [line 27, column 9]\n EXIT_SCOPE(n$14); [line 27, column 9]\n " shape="invhouse"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_6" [label="6: Prune (true branch, boolean exp) \n PRUNE(n$14, true); [line 27, 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, boolean exp) \n PRUNE(!n$14, false); [line 27, column 9]\n EXIT_SCOPE(n$14); [line 27, column 9]\n " shape="invhouse"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" [label="7: Prune (false branch, boolean exp) \n PRUNE(!n$14, false); [line 27, column 9]\n " shape="invhouse"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_7" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_8" [label="8: ConditionalStmt Branch \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$15:binary_conditional::X); [line 27, column 18]\n n$17=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$15:binary_conditional::X*) assign_last [line 27, column 18]\n n$18=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$15:binary_conditional::X&) [line 27, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 27, column 9]\n EXIT_SCOPE(n$17,n$18,0$?%__sil_tmpSIL_materialize_temp__n$15); [line 27, column 9]\n APPLY_ABSTRACTION; [line 27, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_8" [label="8: ConditionalStmt Branch \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$15:binary_conditional::X); [line 27, column 18]\n n$17=_fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$15:binary_conditional::X*) assign_last [line 27, column 18]\n n$18=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$15:binary_conditional::X&) [line 27, column 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 27, column 9]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_8" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_4" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" [label="9: ConditionalStmt Branch \n n$19=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&a:binary_conditional::X&) [line 27, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 27, column 9]\n EXIT_SCOPE(n$19); [line 27, column 9]\n APPLY_ABSTRACTION; [line 27, column 9]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" [label="9: ConditionalStmt Branch \n n$19=_fun_binary_conditional::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*,&a:binary_conditional::X&) [line 27, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X=&0$?%__sil_tmpSIL_materialize_temp__n$5 [line 27, column 9]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_9" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_4" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 27, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X); [line 27, column 9]\n n$20=*&0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X [line 27, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X=n$20 [line 27, column 9]\n n$21=_fun_binary_conditional::X::X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 27, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X [line 27, column 27]\n n$7=_fun_binary_conditional::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*) injected [line 27, column 27]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$9); [line 27, column 27]\n EXIT_SCOPE(_,n$7,n$20,n$21,0$?%__sil_tmpSIL_materialize_temp__n$5,0$?%__sil_tmpSIL_temp_conditional___n$9); [line 27, column 27]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 27, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X); [line 27, column 9]\n n$20=*&0$?%__sil_tmpSIL_temp_conditional___n$9:binary_conditional::X [line 27, column 9]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X=n$20 [line 27, column 9]\n n$21=_fun_binary_conditional::X::X(&x:binary_conditional::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X&) [line 27, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X [line 27, column 27]\n n$7=_fun_binary_conditional::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$5:binary_conditional::X*) injected [line 27, column 27]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_10" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_3" ; -"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" [label="11: DeclStmt \n VARIABLE_DECLARED(a:binary_conditional::X); [line 26, column 3]\n n$22=_fun_binary_conditional::X::X(&a:binary_conditional::X*) [line 26, column 5]\n EXIT_SCOPE(n$22); [line 26, column 5]\n " shape="box"] +"conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" [label="11: DeclStmt \n VARIABLE_DECLARED(a:binary_conditional::X); [line 26, column 3]\n n$22=_fun_binary_conditional::X::X(&a:binary_conditional::X*) [line 26, column 5]\n " shape="box"] "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_11" -> "conditional#binary_conditional#4777209206611953450.41decaebdce6325bd31c1d47d4647c45_5" ; @@ -96,14 +96,14 @@ digraph cfg { "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_1" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" ; -"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_2" [label="2: Exit binary_conditional::getX \n NULLIFY(&x); [line 17, column 1]\n " color=yellow style=filled] +"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_2" [label="2: Exit binary_conditional::getX \n " color=yellow style=filled] -"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" [label="3: Return Stmt \n n$0=*&__return_param:binary_conditional::X* [line 16, column 3]\n n$1=_fun_binary_conditional::X::X(n$0:binary_conditional::X*,&x:binary_conditional::X&) [line 16, column 10]\n _=*&x:binary_conditional::X [line 16, column 10]\n n$3=_fun_binary_conditional::X::~X(&x:binary_conditional::X*) injected [line 16, column 10]\n NULLIFY(&__return_param); [line 16, column 10]\n EXIT_SCOPE(_,n$0,n$1,n$3,x,__return_param); [line 16, column 10]\n APPLY_ABSTRACTION; [line 16, column 10]\n " shape="box"] +"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" [label="3: Return Stmt \n n$0=*&__return_param:binary_conditional::X* [line 16, column 3]\n n$1=_fun_binary_conditional::X::X(n$0:binary_conditional::X*,&x:binary_conditional::X&) [line 16, column 10]\n _=*&x:binary_conditional::X [line 16, column 10]\n n$3=_fun_binary_conditional::X::~X(&x:binary_conditional::X*) injected [line 16, column 10]\n " shape="box"] "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_2" ; -"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 15, column 3]\n n$5=_fun_binary_conditional::X::X(&x:binary_conditional::X*) [line 15, column 5]\n EXIT_SCOPE(n$5); [line 15, column 5]\n " shape="box"] +"getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:binary_conditional::X); [line 15, column 3]\n n$5=_fun_binary_conditional::X::X(&x:binary_conditional::X*) [line 15, column 5]\n " shape="box"] "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_4" -> "getX#binary_conditional(class binary_conditional::X)#7708042186122353096.8825a5a3afa327848f6dcf77ec0e3f60_3" ; @@ -114,7 +114,7 @@ digraph cfg { "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_2" [label="2: Exit binary_conditional::X::operator_bool \n " color=yellow style=filled] -"operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 11, column 21]\n APPLY_ABSTRACTION; [line 11, column 21]\n " shape="box"] +"operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 11, column 21]\n " shape="box"] "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_3" -> "operator_bool#X#binary_conditional#(663222161121279878).1074e20ff76c2575638dad4d7c1539a7_2" ; 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 633865325..8f2a5f2c9 100644 --- a/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/conditional/lvalue_conditional.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_1" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_11" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_2" [label="2: Exit assign_conditional \n NULLIFY(&v2); [line 24, column 1]\n NULLIFY(&v1); [line 24, column 1]\n " color=yellow style=filled] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_2" [label="2: Exit assign_conditional \n " color=yellow style=filled] -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" [label="3: Return Stmt \n n$0=*&v1:int [line 23, column 10]\n *&return:int=n$0 [line 23, column 3]\n EXIT_SCOPE(n$0,v1); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" [label="3: Return Stmt \n n$0=*&v1:int [line 23, column 10]\n *&return:int=n$0 [line 23, column 3]\n " shape="box"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_2" ; @@ -15,23 +15,23 @@ digraph cfg { "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 22, column 4]\n PRUNE(n$2, true); [line 22, column 4]\n NULLIFY(&a); [line 22, column 4]\n EXIT_SCOPE(n$2,a,v2); [line 22, column 4]\n " shape="invhouse"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 22, column 4]\n PRUNE(n$2, true); [line 22, column 4]\n " shape="invhouse"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_5" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 22, column 4]\n PRUNE(!n$2, false); [line 22, column 4]\n NULLIFY(&a); [line 22, column 4]\n EXIT_SCOPE(n$2,a); [line 22, column 4]\n " shape="invhouse"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 22, column 4]\n PRUNE(!n$2, false); [line 22, column 4]\n " shape="invhouse"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_6" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v1 [line 22, column 4]\n APPLY_ABSTRACTION; [line 22, column 4]\n " shape="box"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v1 [line 22, column 4]\n " shape="box"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_7" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v2 [line 22, column 4]\n EXIT_SCOPE(v2); [line 22, column 4]\n APPLY_ABSTRACTION; [line 22, column 4]\n " shape="box"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v2 [line 22, column 4]\n " shape="box"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_8" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_4" ; -"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" [label="9: BinaryOperatorStmt: Assign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int& [line 22, column 4]\n *n$3:int=1 [line 22, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 22, column 3]\n EXIT_SCOPE(n$3,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 22, column 3]\n " shape="box"] +"assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" [label="9: BinaryOperatorStmt: Assign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int& [line 22, column 4]\n *n$3:int=1 [line 22, column 3]\n " shape="box"] "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_9" -> "assign_conditional#6602154438630029026.d4adbdaf8d08f61e93de4faf3d45d8ab_3" ; @@ -48,10 +48,10 @@ digraph cfg { "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_1" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_11" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_2" [label="2: Exit choose_lvalue \n NULLIFY(&v1); [line 12, column 1]\n NULLIFY(&v2); [line 12, column 1]\n " color=yellow style=filled] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_2" [label="2: Exit choose_lvalue \n " color=yellow style=filled] -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" [label="3: Return Stmt \n n$0=*&v3:int [line 11, column 10]\n *&return:int=n$0 [line 11, column 3]\n NULLIFY(&v3); [line 11, column 3]\n EXIT_SCOPE(n$0,v3); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" [label="3: Return Stmt \n n$0=*&v3:int [line 11, column 10]\n *&return:int=n$0 [line 11, column 3]\n " shape="box"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_2" ; @@ -59,23 +59,23 @@ digraph cfg { "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 10, column 12]\n PRUNE(n$2, true); [line 10, column 12]\n NULLIFY(&a); [line 10, column 12]\n EXIT_SCOPE(n$2,v2,a); [line 10, column 12]\n " shape="invhouse"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 10, column 12]\n PRUNE(n$2, true); [line 10, column 12]\n " shape="invhouse"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_5" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 10, column 12]\n PRUNE(!n$2, false); [line 10, column 12]\n NULLIFY(&a); [line 10, column 12]\n EXIT_SCOPE(n$2,a,v1); [line 10, column 12]\n " shape="invhouse"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 10, column 12]\n PRUNE(!n$2, false); [line 10, column 12]\n " shape="invhouse"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_6" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v1 [line 10, column 12]\n EXIT_SCOPE(v1); [line 10, column 12]\n APPLY_ABSTRACTION; [line 10, column 12]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v1 [line 10, column 12]\n " shape="box"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_7" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v2 [line 10, column 12]\n EXIT_SCOPE(v2); [line 10, column 12]\n APPLY_ABSTRACTION; [line 10, column 12]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int&=&v2 [line 10, column 12]\n " shape="box"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_8" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_4" ; -"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 10, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int& [line 10, column 12]\n n$4=*n$3:int [line 10, column 12]\n *&v3:int=n$4 [line 10, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 10, column 3]\n EXIT_SCOPE(n$3,n$4,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 10, column 3]\n " shape="box"] +"choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 10, column 3]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int& [line 10, column 12]\n n$4=*n$3:int [line 10, column 12]\n *&v3:int=n$4 [line 10, column 3]\n " shape="box"] "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_9" -> "choose_lvalue#6868643882447178722.7e0e06006a6e1baaef3aab18bce2b8d2_3" ; @@ -95,7 +95,7 @@ digraph cfg { "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_2" [label="2: Exit choose_rvalue \n " color=yellow style=filled] -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" [label="3: Return Stmt \n n$0=*&v3:int [line 17, column 10]\n *&return:int=n$0 [line 17, column 3]\n NULLIFY(&v3); [line 17, column 3]\n EXIT_SCOPE(n$0,v3); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" [label="3: Return Stmt \n n$0=*&v3:int [line 17, column 10]\n *&return:int=n$0 [line 17, column 3]\n " shape="box"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_2" ; @@ -103,23 +103,23 @@ digraph cfg { "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 16, column 12]\n PRUNE(n$2, true); [line 16, column 12]\n NULLIFY(&a); [line 16, column 12]\n EXIT_SCOPE(n$2,a); [line 16, column 12]\n " shape="invhouse"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_5" [label="5: Prune (true branch, boolean exp) \n n$2=*&a:int [line 16, column 12]\n PRUNE(n$2, true); [line 16, 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, boolean exp) \n n$2=*&a:int [line 16, column 12]\n PRUNE(!n$2, false); [line 16, column 12]\n NULLIFY(&a); [line 16, column 12]\n NULLIFY(&v1); [line 16, column 12]\n EXIT_SCOPE(n$2,a,v1); [line 16, column 12]\n " shape="invhouse"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" [label="6: Prune (false branch, boolean exp) \n n$2=*&a:int [line 16, column 12]\n PRUNE(!n$2, false); [line 16, column 12]\n " shape="invhouse"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_6" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" [label="7: ConditionalStmt Branch \n n$3=*&v1:int [line 16, column 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 16, column 12]\n NULLIFY(&v1); [line 16, column 12]\n EXIT_SCOPE(n$3,v1); [line 16, column 12]\n APPLY_ABSTRACTION; [line 16, column 12]\n " shape="box"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" [label="7: ConditionalStmt Branch \n n$3=*&v1:int [line 16, column 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 16, column 12]\n " shape="box"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_7" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 16, column 12]\n APPLY_ABSTRACTION; [line 16, column 12]\n " shape="box"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 16, column 12]\n " shape="box"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_8" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_4" ; -"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 16, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 16, column 12]\n *&v3:int=n$4 [line 16, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 16, column 3]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 16, column 3]\n " shape="box"] +"choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 16, column 3]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 16, column 12]\n *&v3:int=n$4 [line 16, column 3]\n " shape="box"] "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_9" -> "choose_rvalue#5692558402038768020.7de6e1902b5c331a5715ba3f0f51e47e_3" ; @@ -135,7 +135,7 @@ digraph cfg { "div0_assign_conditional#5107071401315365445.4f3bcdea44343998d43cc1b04e1ee179_2" [label="2: Exit div0_assign_conditional \n " color=yellow style=filled] -"div0_assign_conditional#5107071401315365445.4f3bcdea44343998d43cc1b04e1ee179_3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(0:int) [line 39, column 44]\n *&return:int=(1 / n$0) [line 39, column 33]\n EXIT_SCOPE(n$0); [line 39, column 33]\n APPLY_ABSTRACTION; [line 39, column 33]\n " shape="box"] +"div0_assign_conditional#5107071401315365445.4f3bcdea44343998d43cc1b04e1ee179_3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(0:int) [line 39, column 44]\n *&return:int=(1 / n$0) [line 39, column 33]\n " shape="box"] "div0_assign_conditional#5107071401315365445.4f3bcdea44343998d43cc1b04e1ee179_3" -> "div0_assign_conditional#5107071401315365445.4f3bcdea44343998d43cc1b04e1ee179_2" ; @@ -146,7 +146,7 @@ digraph cfg { "div0_choose_lvalue#13889289797749672490.33434dbd9bc43b011249899260680670_2" [label="2: Exit div0_choose_lvalue \n " color=yellow style=filled] -"div0_choose_lvalue#13889289797749672490.33434dbd9bc43b011249899260680670_3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(1:int) [line 31, column 39]\n *&return:int=(1 / n$0) [line 31, column 28]\n EXIT_SCOPE(n$0); [line 31, column 28]\n APPLY_ABSTRACTION; [line 31, column 28]\n " shape="box"] +"div0_choose_lvalue#13889289797749672490.33434dbd9bc43b011249899260680670_3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(1:int) [line 31, column 39]\n *&return:int=(1 / n$0) [line 31, column 28]\n " shape="box"] "div0_choose_lvalue#13889289797749672490.33434dbd9bc43b011249899260680670_3" -> "div0_choose_lvalue#13889289797749672490.33434dbd9bc43b011249899260680670_2" ; @@ -157,7 +157,7 @@ digraph cfg { "div0_choose_rvalue#5985399689822936660.67f1213862b68d51bd848ce28d6859ec_2" [label="2: Exit div0_choose_rvalue \n " color=yellow style=filled] -"div0_choose_rvalue#5985399689822936660.67f1213862b68d51bd848ce28d6859ec_3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(1:int) [line 35, column 39]\n *&return:int=(1 / n$0) [line 35, column 28]\n EXIT_SCOPE(n$0); [line 35, column 28]\n APPLY_ABSTRACTION; [line 35, column 28]\n " shape="box"] +"div0_choose_rvalue#5985399689822936660.67f1213862b68d51bd848ce28d6859ec_3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(1:int) [line 35, column 39]\n *&return:int=(1 / n$0) [line 35, column 28]\n " shape="box"] "div0_choose_rvalue#5985399689822936660.67f1213862b68d51bd848ce28d6859ec_3" -> "div0_choose_rvalue#5985399689822936660.67f1213862b68d51bd848ce28d6859ec_2" ; @@ -168,7 +168,7 @@ digraph cfg { "div0_temp_lvalue#4236327814744405863.1539dbb4efb081b38036309be4c65715_2" [label="2: Exit div0_temp_lvalue \n " color=yellow style=filled] -"div0_temp_lvalue#4236327814744405863.1539dbb4efb081b38036309be4c65715_3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(1:int,0:int) [line 43, column 33]\n *&return:int=n$0 [line 43, column 26]\n EXIT_SCOPE(n$0); [line 43, column 26]\n APPLY_ABSTRACTION; [line 43, column 26]\n " shape="box"] +"div0_temp_lvalue#4236327814744405863.1539dbb4efb081b38036309be4c65715_3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(1:int,0:int) [line 43, column 33]\n *&return:int=n$0 [line 43, column 26]\n " shape="box"] "div0_temp_lvalue#4236327814744405863.1539dbb4efb081b38036309be4c65715_3" -> "div0_temp_lvalue#4236327814744405863.1539dbb4efb081b38036309be4c65715_2" ; @@ -179,7 +179,7 @@ digraph cfg { "div1_assign_conditional#703756229606178162.2f3187315131c9e8e31a0380708ebcbb_2" [label="2: Exit div1_assign_conditional \n " color=yellow style=filled] -"div1_assign_conditional#703756229606178162.2f3187315131c9e8e31a0380708ebcbb_3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(1:int) [line 41, column 44]\n *&return:int=(1 / n$0) [line 41, column 33]\n EXIT_SCOPE(n$0); [line 41, column 33]\n APPLY_ABSTRACTION; [line 41, column 33]\n " shape="box"] +"div1_assign_conditional#703756229606178162.2f3187315131c9e8e31a0380708ebcbb_3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(1:int) [line 41, column 44]\n *&return:int=(1 / n$0) [line 41, column 33]\n " shape="box"] "div1_assign_conditional#703756229606178162.2f3187315131c9e8e31a0380708ebcbb_3" -> "div1_assign_conditional#703756229606178162.2f3187315131c9e8e31a0380708ebcbb_2" ; @@ -190,7 +190,7 @@ digraph cfg { "div1_choose_lvalue#17507024914646798803.f2ba997f0baf8ee3dada0c7b0947cb8d_2" [label="2: Exit div1_choose_lvalue \n " color=yellow style=filled] -"div1_choose_lvalue#17507024914646798803.f2ba997f0baf8ee3dada0c7b0947cb8d_3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(0:int) [line 33, column 39]\n *&return:int=(1 / n$0) [line 33, column 28]\n EXIT_SCOPE(n$0); [line 33, column 28]\n APPLY_ABSTRACTION; [line 33, column 28]\n " shape="box"] +"div1_choose_lvalue#17507024914646798803.f2ba997f0baf8ee3dada0c7b0947cb8d_3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(0:int) [line 33, column 39]\n *&return:int=(1 / n$0) [line 33, column 28]\n " shape="box"] "div1_choose_lvalue#17507024914646798803.f2ba997f0baf8ee3dada0c7b0947cb8d_3" -> "div1_choose_lvalue#17507024914646798803.f2ba997f0baf8ee3dada0c7b0947cb8d_2" ; @@ -201,7 +201,7 @@ digraph cfg { "div1_choose_rvalue#2897979603329583409.ca29e44a33271dfb3905f48a478bcf9c_2" [label="2: Exit div1_choose_rvalue \n " color=yellow style=filled] -"div1_choose_rvalue#2897979603329583409.ca29e44a33271dfb3905f48a478bcf9c_3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(0:int) [line 37, column 39]\n *&return:int=(1 / n$0) [line 37, column 28]\n EXIT_SCOPE(n$0); [line 37, column 28]\n APPLY_ABSTRACTION; [line 37, column 28]\n " shape="box"] +"div1_choose_rvalue#2897979603329583409.ca29e44a33271dfb3905f48a478bcf9c_3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(0:int) [line 37, column 39]\n *&return:int=(1 / n$0) [line 37, column 28]\n " shape="box"] "div1_choose_rvalue#2897979603329583409.ca29e44a33271dfb3905f48a478bcf9c_3" -> "div1_choose_rvalue#2897979603329583409.ca29e44a33271dfb3905f48a478bcf9c_2" ; @@ -212,7 +212,7 @@ digraph cfg { "div1_temp_lvalue#14722162998333319062.760b52102ce508c3244378cf1bf06b6d_2" [label="2: Exit div1_temp_lvalue \n " color=yellow style=filled] -"div1_temp_lvalue#14722162998333319062.760b52102ce508c3244378cf1bf06b6d_3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(0:int,1:int) [line 45, column 33]\n *&return:int=n$0 [line 45, column 26]\n EXIT_SCOPE(n$0); [line 45, column 26]\n APPLY_ABSTRACTION; [line 45, column 26]\n " shape="box"] +"div1_temp_lvalue#14722162998333319062.760b52102ce508c3244378cf1bf06b6d_3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(0:int,1:int) [line 45, column 33]\n *&return:int=n$0 [line 45, column 26]\n " shape="box"] "div1_temp_lvalue#14722162998333319062.760b52102ce508c3244378cf1bf06b6d_3" -> "div1_temp_lvalue#14722162998333319062.760b52102ce508c3244378cf1bf06b6d_2" ; @@ -221,10 +221,10 @@ digraph cfg { "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_1" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" ; "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_1" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_2" [label="2: Exit div_temp_lvalue \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 29, column 1]\n " color=yellow style=filled] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_2" [label="2: Exit div_temp_lvalue \n " color=yellow style=filled] -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" [label="3: Return Stmt \n n$0=*&r:int const & [line 28, column 14]\n n$1=*n$0:int [line 28, column 14]\n *&return:int=(1 / n$1) [line 28, column 3]\n NULLIFY(&r); [line 28, column 3]\n EXIT_SCOPE(n$0,n$1,r); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" [label="3: Return Stmt \n n$0=*&r:int const & [line 28, column 14]\n n$1=*n$0:int [line 28, column 14]\n *&return:int=(1 / n$1) [line 28, column 3]\n " shape="box"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_2" ; @@ -232,23 +232,23 @@ 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, boolean exp) \n n$4=*&a:int [line 27, column 18]\n PRUNE(n$4, true); [line 27, column 18]\n NULLIFY(&a); [line 27, column 18]\n EXIT_SCOPE(n$4,a); [line 27, column 18]\n " shape="invhouse"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_5" [label="5: Prune (true branch, boolean exp) \n n$4=*&a:int [line 27, column 18]\n PRUNE(n$4, true); [line 27, 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, boolean exp) \n n$4=*&a:int [line 27, column 18]\n PRUNE(!n$4, false); [line 27, column 18]\n NULLIFY(&a); [line 27, column 18]\n EXIT_SCOPE(n$4,a); [line 27, column 18]\n " shape="invhouse"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" [label="6: Prune (false branch, boolean exp) \n n$4=*&a:int [line 27, column 18]\n PRUNE(!n$4, false); [line 27, column 18]\n " shape="invhouse"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_6" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" [label="7: ConditionalStmt Branch \n n$5=*&b:int [line 27, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=n$5 [line 27, column 18]\n NULLIFY(&b); [line 27, column 18]\n EXIT_SCOPE(n$5,b); [line 27, column 18]\n APPLY_ABSTRACTION; [line 27, column 18]\n " shape="box"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" [label="7: ConditionalStmt Branch \n n$5=*&b:int [line 27, column 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=n$5 [line 27, column 18]\n " shape="box"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_7" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=1 [line 27, column 18]\n APPLY_ABSTRACTION; [line 27, column 18]\n " shape="box"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=1 [line 27, column 18]\n " shape="box"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_8" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_4" ; -"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" [label="9: DeclStmt \n VARIABLE_DECLARED(r:int const &); [line 27, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 27, column 18]\n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 27, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=n$6 [line 27, column 18]\n *&r:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 27, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$3); [line 27, column 3]\n EXIT_SCOPE(n$6,0$?%__sil_tmpSIL_materialize_temp__n$2,0$?%__sil_tmpSIL_temp_conditional___n$3); [line 27, column 3]\n " shape="box"] +"div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" [label="9: DeclStmt \n VARIABLE_DECLARED(r:int const &); [line 27, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 27, column 18]\n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 27, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=n$6 [line 27, column 18]\n *&r:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 27, column 3]\n " shape="box"] "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_9" -> "div_temp_lvalue#2433393879580018854.ddda47c9e217adc2189e8c150a553f53_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot index cc236e9de..a89163508 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_array.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_1" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" ; -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_2" [label="2: Exit array_of_person \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 18, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 18, column 1]\n NULLIFY(&arr); [line 18, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 18, column 1]\n " color=yellow style=filled] +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_2" [label="2: Exit array_of_person \n " color=yellow style=filled] -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" [label="3: Return Stmt \n n$0=*&arr[0].x:int [line 17, column 10]\n *&return:int=n$0 [line 17, column 3]\n EXIT_SCOPE(n$0,arr); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" [label="3: Return Stmt \n n$0=*&arr[0].x:int [line 17, column 10]\n *&return:int=n$0 [line 17, column 3]\n " shape="box"] "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_2" ; -"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(arr:Person[10*4]); [line 16, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:Person); [line 16, column 21]\n n$11=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 16, column 21]\n n$12=_fun_Person::Person(&arr[0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 16, column 21]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 16, column 31]\n n$13=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 16, column 31]\n n$14=_fun_Person::Person(&arr[1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 16, column 31]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Person); [line 16, column 41]\n n$15=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 16, column 41]\n n$16=_fun_Person::Person(&arr[2]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 16, column 41]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Person [line 16, column 49]\n n$5=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) injected [line 16, column 49]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:Person [line 16, column 49]\n n$7=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) injected [line 16, column 49]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:Person [line 16, column 49]\n n$9=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) injected [line 16, column 49]\n EXIT_SCOPE(_,_,_,n$5,n$7,n$9,n$11,n$12,n$13,n$14,n$15,n$16,0$?%__sil_tmpSIL_materialize_temp__n$3,0$?%__sil_tmpSIL_materialize_temp__n$2,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 16, column 49]\n " shape="box"] +"array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(arr:Person[10*4]); [line 16, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:Person); [line 16, column 21]\n n$11=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 16, column 21]\n n$12=_fun_Person::Person(&arr[0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 16, column 21]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 16, column 31]\n n$13=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 16, column 31]\n n$14=_fun_Person::Person(&arr[1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 16, column 31]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Person); [line 16, column 41]\n n$15=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 16, column 41]\n n$16=_fun_Person::Person(&arr[2]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 16, column 41]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Person [line 16, column 49]\n n$5=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) injected [line 16, column 49]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:Person [line 16, column 49]\n n$7=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) injected [line 16, column 49]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:Person [line 16, column 49]\n n$9=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) injected [line 16, column 49]\n " shape="box"] "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_4" -> "array_of_person#7945672701495610995.0fecf6778237d47d15191cac7fab514c_3" ; @@ -19,14 +19,14 @@ digraph cfg { "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_1" -> "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_4" ; -"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_2" [label="2: Exit initialization_c_style \n NULLIFY(&z2); [line 33, column 1]\n " color=yellow style=filled] +"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_2" [label="2: Exit initialization_c_style \n " color=yellow style=filled] -"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:Z); [line 32, column 3]\n n$0=_fun_Z::Z(&z2:Z*) [line 32, column 12]\n EXIT_SCOPE(n$0,z2); [line 32, column 12]\n APPLY_ABSTRACTION; [line 32, column 12]\n " shape="box"] +"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:Z); [line 32, column 3]\n n$0=_fun_Z::Z(&z2:Z*) [line 32, column 12]\n " shape="box"] "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" -> "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_2" ; -"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:Z[2*8]); [line 31, column 3]\n *&z[0].a:int=1 [line 31, column 20]\n *&z[0].b:int=2 [line 31, column 20]\n *&z[1].a:int=2 [line 31, column 28]\n *&z[1].b:int=3 [line 31, column 28]\n NULLIFY(&z); [line 31, column 28]\n EXIT_SCOPE(z); [line 31, column 28]\n " shape="box"] +"initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:Z[2*8]); [line 31, column 3]\n *&z[0].a:int=1 [line 31, column 20]\n *&z[0].b:int=2 [line 31, column 20]\n *&z[1].a:int=2 [line 31, column 28]\n *&z[1].b:int=3 [line 31, column 28]\n " shape="box"] "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_4" -> "initialization_c_style#16495589501342328206.0d90448020e72c05f693b9221dac03f8_3" ; @@ -34,18 +34,18 @@ digraph cfg { "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_1" -> "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_5" ; -"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_2" [label="2: Exit initialization_mixed_styles_not_handled_correctly \n NULLIFY(&old); [line 41, column 1]\n NULLIFY(&z); [line 41, column 1]\n NULLIFY(&z2); [line 41, column 1]\n " color=yellow style=filled] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_2" [label="2: Exit initialization_mixed_styles_not_handled_correctly \n " color=yellow style=filled] -"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:Z); [line 40, column 3]\n n$0=_fun_Z::Z(&z2:Z*) [line 40, column 12]\n EXIT_SCOPE(n$0,z2); [line 40, column 12]\n APPLY_ABSTRACTION; [line 40, column 12]\n " shape="box"] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:Z); [line 40, column 3]\n n$0=_fun_Z::Z(&z2:Z*) [line 40, column 12]\n " shape="box"] "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" -> "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_2" ; -"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:Z[2*8]); [line 39, column 3]\n *&z[0].a:int=1 [line 39, column 20]\n *&z[0].b:int=2 [line 39, column 20]\n n$1=_fun_Z::Z(&z[1]:Z*,&old:Z&) [line 39, column 28]\n EXIT_SCOPE(n$1,z,old); [line 39, column 28]\n " shape="box"] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_4" [label="4: DeclStmt \n VARIABLE_DECLARED(z:Z[2*8]); [line 39, column 3]\n *&z[0].a:int=1 [line 39, column 20]\n *&z[0].b:int=2 [line 39, column 20]\n n$1=_fun_Z::Z(&z[1]:Z*,&old:Z&) [line 39, column 28]\n " shape="box"] "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_4" -> "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_3" ; -"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_5" [label="5: DeclStmt \n VARIABLE_DECLARED(old:Z); [line 38, column 3]\n n$2=_fun_Z::Z(&old:Z*) [line 38, column 12]\n EXIT_SCOPE(n$2); [line 38, column 12]\n " shape="box"] +"initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_5" [label="5: DeclStmt \n VARIABLE_DECLARED(old:Z); [line 38, column 3]\n n$2=_fun_Z::Z(&old:Z*) [line 38, column 12]\n " shape="box"] "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_5" -> "initialization_mixed_styles_not_handled_correctly#5603413470418470631.422782850043f1b48105fbbb47efe379_4" ; @@ -53,14 +53,14 @@ digraph cfg { "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_1" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_2" [label="2: Exit matrix_of_person \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 23, column 1]\n NULLIFY(&arr); [line 23, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 23, column 1]\n " color=yellow style=filled] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_2" [label="2: Exit matrix_of_person \n " color=yellow style=filled] -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" [label="3: Return Stmt \n n$0=*&arr[0][1].x:int [line 22, column 10]\n *&return:int=n$0 [line 22, column 3]\n EXIT_SCOPE(n$0,arr); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" [label="3: Return Stmt \n n$0=*&arr[0][1].x:int [line 22, column 10]\n *&return:int=n$0 [line 22, column 3]\n " shape="box"] "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_2" ; -"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(arr:Person[2*4][2*8]); [line 21, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:Person); [line 21, column 23]\n n$14=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 21, column 23]\n n$15=_fun_Person::Person(&arr[0][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 21, column 23]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 21, column 33]\n n$16=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 21, column 33]\n n$17=_fun_Person::Person(&arr[0][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 21, column 33]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Person); [line 21, column 43]\n n$18=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 21, column 43]\n n$19=_fun_Person::Person(&arr[1][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 21, column 43]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:Person); [line 21, column 53]\n n$20=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) [line 21, column 53]\n n$21=_fun_Person::Person(&arr[1][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$4:Person&) [line 21, column 53]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:Person [line 21, column 61]\n n$6=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Person [line 21, column 61]\n n$8=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:Person [line 21, column 61]\n n$10=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:Person [line 21, column 61]\n n$12=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) injected [line 21, column 61]\n EXIT_SCOPE(_,_,_,_,n$6,n$8,n$10,n$12,n$14,n$15,n$16,n$17,n$18,n$19,n$20,n$21,0$?%__sil_tmpSIL_materialize_temp__n$3,0$?%__sil_tmpSIL_materialize_temp__n$4,0$?%__sil_tmpSIL_materialize_temp__n$2,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 21, column 61]\n " shape="box"] +"matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(arr:Person[2*4][2*8]); [line 21, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:Person); [line 21, column 23]\n n$14=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) [line 21, column 23]\n n$15=_fun_Person::Person(&arr[0][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$1:Person&) [line 21, column 23]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:Person); [line 21, column 33]\n n$16=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) [line 21, column 33]\n n$17=_fun_Person::Person(&arr[0][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$2:Person&) [line 21, column 33]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Person); [line 21, column 43]\n n$18=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) [line 21, column 43]\n n$19=_fun_Person::Person(&arr[1][0]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Person&) [line 21, column 43]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:Person); [line 21, column 53]\n n$20=_fun_Person::Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) [line 21, column 53]\n n$21=_fun_Person::Person(&arr[1][1]:Person*,&0$?%__sil_tmpSIL_materialize_temp__n$4:Person&) [line 21, column 53]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:Person [line 21, column 61]\n n$6=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Person [line 21, column 61]\n n$8=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:Person [line 21, column 61]\n n$10=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:Person*) injected [line 21, column 61]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:Person [line 21, column 61]\n n$12=_fun_Person::~Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:Person*) injected [line 21, column 61]\n " shape="box"] "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_4" -> "matrix_of_person#2881910427017022824.27f7f148c4911c13b3061cef6fe2673d_3" ; @@ -78,7 +78,7 @@ digraph cfg { "Person#Person#{13294170998561185799}.33e91269ce59e5b361de941ed03c6643_2" [label="2: Exit Person::Person \n " color=yellow style=filled] -"Person#Person#{13294170998561185799}.33e91269ce59e5b361de941ed03c6643_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:Person* [line 10, column 19]\n n$1=*&i:int [line 10, column 23]\n *n$0.x:int=n$1 [line 10, column 19]\n NULLIFY(&this); [line 10, column 19]\n NULLIFY(&i); [line 10, column 19]\n EXIT_SCOPE(n$0,n$1,this,i); [line 10, column 19]\n APPLY_ABSTRACTION; [line 10, column 19]\n " shape="box"] +"Person#Person#{13294170998561185799}.33e91269ce59e5b361de941ed03c6643_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:Person* [line 10, column 19]\n n$1=*&i:int [line 10, column 23]\n *n$0.x:int=n$1 [line 10, column 19]\n " shape="box"] "Person#Person#{13294170998561185799}.33e91269ce59e5b361de941ed03c6643_3" -> "Person#Person#{13294170998561185799}.33e91269ce59e5b361de941ed03c6643_2" ; @@ -89,7 +89,7 @@ digraph cfg { "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_2" [label="2: Exit Person::Person \n " color=yellow style=filled] -"Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_3" [label="3: Constructor Init \n n$1=*&this:Person* [line 8, column 7]\n n$2=*&__param_0:Person& [line 8, column 7]\n n$3=*n$2.x:int [line 8, column 7]\n *n$1.x:int=n$3 [line 8, column 7]\n NULLIFY(&this); [line 8, column 7]\n NULLIFY(&__param_0); [line 8, column 7]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 8, column 7]\n APPLY_ABSTRACTION; [line 8, column 7]\n " shape="box"] +"Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_3" [label="3: Constructor Init \n n$1=*&this:Person* [line 8, column 7]\n n$2=*&__param_0:Person& [line 8, column 7]\n n$3=*n$2.x:int [line 8, column 7]\n *n$1.x:int=n$3 [line 8, column 7]\n " shape="box"] "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_3" -> "Person#Person#{14928211719836437323|constexpr}.702b3fbc6c128973c192111cbb802edd_2" ; @@ -107,11 +107,11 @@ digraph cfg { "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_2" [label="2: Exit Z::Z \n " color=yellow style=filled] -"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" [label="3: Constructor Init \n n$1=*&this:Z* [line 25, column 8]\n n$2=*&__param_0:Z const & [line 25, column 8]\n n$3=*n$2.b:int [line 25, column 8]\n *n$1.b:int=n$3 [line 25, column 8]\n NULLIFY(&this); [line 25, column 8]\n NULLIFY(&__param_0); [line 25, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 25, column 8]\n APPLY_ABSTRACTION; [line 25, column 8]\n " shape="box"] +"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" [label="3: Constructor Init \n n$1=*&this:Z* [line 25, column 8]\n n$2=*&__param_0:Z const & [line 25, column 8]\n n$3=*n$2.b:int [line 25, column 8]\n *n$1.b:int=n$3 [line 25, column 8]\n " shape="box"] "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_2" ; -"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_4" [label="4: Constructor Init \n n$4=*&this:Z* [line 25, column 8]\n n$5=*&__param_0:Z const & [line 25, column 8]\n n$6=*n$5.a:int [line 25, column 8]\n *n$4.a:int=n$6 [line 25, column 8]\n EXIT_SCOPE(n$4,n$5,n$6); [line 25, column 8]\n " shape="box"] +"Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_4" [label="4: Constructor Init \n n$4=*&this:Z* [line 25, column 8]\n n$5=*&__param_0:Z const & [line 25, column 8]\n n$6=*n$5.a:int [line 25, column 8]\n *n$4.a:int=n$6 [line 25, column 8]\n " shape="box"] "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_4" -> "Z#Z#{9563152316573688029|constexpr}.befec20c7675cc0f4c49f58f88b8946e_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot index 349f17fe1..b9a837500 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_default_arg.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&x3); [line 22, column 1]\n NULLIFY(&x1); [line 22, column 1]\n NULLIFY(&x2); [line 22, column 1]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(x3:X); [line 21, column 3]\n n$0=_fun_X::X(&x3:X*,0:int,1:int) [line 21, column 5]\n EXIT_SCOPE(n$0,x3); [line 21, column 5]\n APPLY_ABSTRACTION; [line 21, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(x3:X); [line 21, column 3]\n n$0=_fun_X::X(&x3:X*,0:int,1:int) [line 21, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:X); [line 20, column 3]\n n$1=_fun_X::X(&x2:X*,1:int,0:int) [line 20, column 5]\n EXIT_SCOPE(n$1,x2); [line 20, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:X); [line 20, column 3]\n n$1=_fun_X::X(&x2:X*,1:int,0:int) [line 20, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:X); [line 19, column 3]\n n$2=_fun_X::X(&x1:X*,0:int,0:int) [line 19, column 5]\n EXIT_SCOPE(n$2,x1); [line 19, column 5]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:X); [line 19, column 3]\n n$2=_fun_X::X(&x1:X*,0:int,0:int) [line 19, column 5]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; @@ -26,7 +26,7 @@ digraph cfg { "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" [label="2: Exit X::div \n " color=yellow style=filled] -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 13, column 26]\n n$1=*n$0.f:int [line 13, column 26]\n *&return:int=(1 / n$1) [line 13, column 15]\n NULLIFY(&this); [line 13, column 15]\n EXIT_SCOPE(n$0,n$1,this); [line 13, column 15]\n APPLY_ABSTRACTION; [line 13, column 15]\n " shape="box"] +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 13, column 26]\n n$1=*n$0.f:int [line 13, column 26]\n *&return:int=(1 / n$1) [line 13, column 15]\n " shape="box"] "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; @@ -37,7 +37,7 @@ digraph cfg { "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" [label="2: Exit X::X \n " color=yellow style=filled] -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:X* [line 16, column 22]\n n$1=*&a:int [line 16, column 26]\n n$2=*&b:int [line 16, column 30]\n *n$0.f:int=(n$1 + n$2) [line 16, column 22]\n NULLIFY(&a); [line 16, column 22]\n NULLIFY(&b); [line 16, column 22]\n NULLIFY(&this); [line 16, column 22]\n EXIT_SCOPE(n$0,n$1,n$2,a,b,this); [line 16, column 22]\n APPLY_ABSTRACTION; [line 16, column 22]\n " shape="box"] +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:X* [line 16, column 22]\n n$1=*&a:int [line 16, column 26]\n n$2=*&b:int [line 16, column 30]\n *n$0.f:int=(n$1 + n$2) [line 16, column 22]\n " shape="box"] "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot index f4b0d7d60..40a0e864f 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_init.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_1" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" ; -"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_2" [label="2: Exit delegate_constr_f2_div0 \n NULLIFY(&b); [line 50, column 1]\n " color=yellow style=filled] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_2" [label="2: Exit delegate_constr_f2_div0 \n " color=yellow style=filled] -"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 49, column 14]\n *&return:int=(1 / n$0) [line 49, column 3]\n _=*&b:B [line 49, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 49, column 16]\n EXIT_SCOPE(_,n$0,n$2,b); [line 49, column 16]\n APPLY_ABSTRACTION; [line 49, column 16]\n " shape="box"] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 49, column 14]\n *&return:int=(1 / n$0) [line 49, column 3]\n _=*&b:B [line 49, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 49, column 16]\n " shape="box"] "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_2" ; -"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 48, column 3]\n n$4=*&b.f:int [line 48, column 15]\n *&v:int=(1 / n$4) [line 48, column 3]\n NULLIFY(&v); [line 48, column 3]\n EXIT_SCOPE(n$4,v); [line 48, column 3]\n " shape="box"] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 48, column 3]\n n$4=*&b.f:int [line 48, column 15]\n *&v:int=(1 / n$4) [line 48, column 3]\n " shape="box"] "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_3" ; -"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:B); [line 47, column 3]\n n$5=_fun_B::B(&b:B*,-1:int,0:int) [line 47, column 5]\n EXIT_SCOPE(n$5); [line 47, column 5]\n " shape="box"] +"delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:B); [line 47, column 3]\n n$5=_fun_B::B(&b:B*,-1:int,0:int) [line 47, column 5]\n " shape="box"] "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_5" -> "delegate_constr_f2_div0#13553474688240246893.0ce7e6b119d9277f847a079378cf30a1_4" ; @@ -23,18 +23,18 @@ digraph cfg { "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_1" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" ; -"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_2" [label="2: Exit delegate_constr_f_div0 \n NULLIFY(&b); [line 44, column 1]\n " color=yellow style=filled] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_2" [label="2: Exit delegate_constr_f_div0 \n " color=yellow style=filled] -"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 43, column 14]\n *&return:int=(1 / n$0) [line 43, column 3]\n _=*&b:B [line 43, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 43, column 16]\n EXIT_SCOPE(_,n$0,n$2,b); [line 43, column 16]\n APPLY_ABSTRACTION; [line 43, column 16]\n " shape="box"] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 43, column 14]\n *&return:int=(1 / n$0) [line 43, column 3]\n _=*&b:B [line 43, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 43, column 16]\n " shape="box"] "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_2" ; -"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 42, column 3]\n n$4=*&b.f2:int [line 42, column 15]\n *&v:int=(1 / n$4) [line 42, column 3]\n NULLIFY(&v); [line 42, column 3]\n EXIT_SCOPE(n$4,v); [line 42, column 3]\n " shape="box"] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 42, column 3]\n n$4=*&b.f2:int [line 42, column 15]\n *&v:int=(1 / n$4) [line 42, column 3]\n " shape="box"] "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_3" ; -"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:B); [line 41, column 3]\n n$5=_fun_B::B(&b:B*,-1:int,1:int) [line 41, column 5]\n EXIT_SCOPE(n$5); [line 41, column 5]\n " shape="box"] +"delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:B); [line 41, column 3]\n n$5=_fun_B::B(&b:B*,-1:int,1:int) [line 41, column 5]\n " shape="box"] "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_5" -> "delegate_constr_f_div0#5612932889167727636.f7eff0d7a58a3e6a6faddf562531b7f4_4" ; @@ -42,14 +42,14 @@ digraph cfg { "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_1" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" ; -"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_2" [label="2: Exit f2_div0 \n NULLIFY(&b); [line 28, column 1]\n " color=yellow style=filled] +"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_2" [label="2: Exit f2_div0 \n " color=yellow style=filled] -"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 27, column 14]\n *&return:int=(1 / n$0) [line 27, column 3]\n _=*&b:B [line 27, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 27, column 16]\n EXIT_SCOPE(_,n$0,n$2,b); [line 27, column 16]\n APPLY_ABSTRACTION; [line 27, column 16]\n " shape="box"] +"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" [label="3: Return Stmt \n n$0=*&b.f2:int [line 27, column 14]\n *&return:int=(1 / n$0) [line 27, column 3]\n _=*&b:B [line 27, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 27, column 16]\n " shape="box"] "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_2" ; -"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 26, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 26, column 5]\n EXIT_SCOPE(n$4); [line 26, column 5]\n " shape="box"] +"f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 26, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 26, column 5]\n " shape="box"] "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_4" -> "f2_div0#7534053771484990951.dd0b0233a011b5600e68aef2c840bcef_3" ; @@ -57,14 +57,14 @@ digraph cfg { "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_1" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" ; -"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_2" [label="2: Exit f_div0 \n NULLIFY(&b); [line 33, column 1]\n " color=yellow style=filled] +"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_2" [label="2: Exit f_div0 \n " color=yellow style=filled] -"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 32, column 14]\n *&return:int=(1 / n$0) [line 32, column 3]\n _=*&b:B [line 32, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 32, column 16]\n EXIT_SCOPE(_,n$0,n$2,b); [line 32, column 16]\n APPLY_ABSTRACTION; [line 32, column 16]\n " shape="box"] +"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" [label="3: Return Stmt \n n$0=*&b.f:int [line 32, column 14]\n *&return:int=(1 / n$0) [line 32, column 3]\n _=*&b:B [line 32, column 16]\n n$2=_fun_B::~B(&b:B*) injected [line 32, column 16]\n " shape="box"] "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_2" ; -"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 31, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 31, column 5]\n EXIT_SCOPE(n$4); [line 31, column 5]\n " shape="box"] +"f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 31, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 31, column 5]\n " shape="box"] "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_4" -> "f_div0#425664895438337450.ac4424ba5cea731e26a9fe2fb1b0b687_3" ; @@ -72,26 +72,26 @@ digraph cfg { "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_1" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_2" [label="2: Exit f_f2_div1 \n NULLIFY(&b); [line 58, column 1]\n " color=yellow style=filled] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_2" [label="2: Exit f_f2_div1 \n " color=yellow style=filled] -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" [label="3: Return Stmt \n n$0=*&v:int [line 57, column 10]\n n$1=*&v2:int [line 57, column 14]\n *&return:int=(n$0 + n$1) [line 57, column 3]\n _=*&b:B [line 57, column 14]\n n$3=_fun_B::~B(&b:B*) injected [line 57, column 14]\n NULLIFY(&v); [line 57, column 14]\n NULLIFY(&v2); [line 57, column 14]\n EXIT_SCOPE(_,n$0,n$1,n$3,b,v,v2); [line 57, column 14]\n APPLY_ABSTRACTION; [line 57, column 14]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" [label="3: Return Stmt \n n$0=*&v:int [line 57, column 10]\n n$1=*&v2:int [line 57, column 14]\n *&return:int=(n$0 + n$1) [line 57, column 3]\n _=*&b:B [line 57, column 14]\n n$3=_fun_B::~B(&b:B*) injected [line 57, column 14]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_2" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 56, column 3]\n n$5=*&b.t.v:int [line 56, column 16]\n *&v3:int=(1 / n$5) [line 56, column 3]\n NULLIFY(&v3); [line 56, column 3]\n EXIT_SCOPE(n$5,v3); [line 56, column 3]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v3:int); [line 56, column 3]\n n$5=*&b.t.v:int [line 56, column 16]\n *&v3:int=(1 / n$5) [line 56, column 3]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_3" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v2:int); [line 55, column 3]\n n$6=*&b.f2:int [line 55, column 16]\n *&v2:int=(1 / n$6) [line 55, column 3]\n EXIT_SCOPE(n$6); [line 55, column 3]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v2:int); [line 55, column 3]\n n$6=*&b.f2:int [line 55, column 16]\n *&v2:int=(1 / n$6) [line 55, column 3]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_4" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" [label="6: DeclStmt \n VARIABLE_DECLARED(v:int); [line 54, column 3]\n n$7=*&b.f:int [line 54, column 15]\n *&v:int=(1 / n$7) [line 54, column 3]\n EXIT_SCOPE(n$7); [line 54, column 3]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" [label="6: DeclStmt \n VARIABLE_DECLARED(v:int); [line 54, column 3]\n n$7=*&b.f:int [line 54, column 15]\n *&v:int=(1 / n$7) [line 54, column 3]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_5" ; -"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:B); [line 53, column 3]\n n$8=_fun_B::B(&b:B*,1:int) [line 53, column 5]\n EXIT_SCOPE(n$8); [line 53, column 5]\n " shape="box"] +"f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:B); [line 53, column 3]\n n$8=_fun_B::B(&b:B*,1:int) [line 53, column 5]\n " shape="box"] "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_7" -> "f_f2_div1#1916649103065485619.7e2fb5eeaa415affd6bdd86573d188de_6" ; @@ -99,14 +99,14 @@ digraph cfg { "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_1" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" ; -"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_2" [label="2: Exit t_div0 \n NULLIFY(&b); [line 38, column 1]\n " color=yellow style=filled] +"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_2" [label="2: Exit t_div0 \n " color=yellow style=filled] -"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" [label="3: Return Stmt \n n$0=*&b.t.v:int [line 37, column 14]\n *&return:int=(1 / n$0) [line 37, column 3]\n _=*&b:B [line 37, column 18]\n n$2=_fun_B::~B(&b:B*) injected [line 37, column 18]\n EXIT_SCOPE(_,n$0,n$2,b); [line 37, column 18]\n APPLY_ABSTRACTION; [line 37, column 18]\n " shape="box"] +"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" [label="3: Return Stmt \n n$0=*&b.t.v:int [line 37, column 14]\n *&return:int=(1 / n$0) [line 37, column 3]\n _=*&b:B [line 37, column 18]\n n$2=_fun_B::~B(&b:B*) injected [line 37, column 18]\n " shape="box"] "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_2" ; -"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 36, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 36, column 5]\n EXIT_SCOPE(n$4); [line 36, column 5]\n " shape="box"] +"t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B); [line 36, column 3]\n n$4=_fun_B::B(&b:B*,0:int) [line 36, column 5]\n " shape="box"] "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_4" -> "t_div0#3531430030893775324.a762c245df414e083e61674c93898055_3" ; @@ -117,7 +117,7 @@ digraph cfg { "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_2" [label="2: Exit A::A \n " color=yellow style=filled] -"A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_3" [label="3: Constructor Init \n n$1=*&this:A* [line 10, column 14]\n n$2=*&f:int [line 10, column 16]\n *n$1.f:int=n$2 [line 10, column 14]\n NULLIFY(&f); [line 10, column 14]\n NULLIFY(&this); [line 10, column 14]\n EXIT_SCOPE(n$1,n$2,f,this); [line 10, column 14]\n APPLY_ABSTRACTION; [line 10, column 14]\n " shape="box"] +"A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_3" [label="3: Constructor Init \n n$1=*&this:A* [line 10, column 14]\n n$2=*&f:int [line 10, column 16]\n *n$1.f:int=n$2 [line 10, column 14]\n " shape="box"] "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_3" -> "A#A#{14779048587651412014}.4ba2c6594c8960564bedc7b6cbdf6ae0_2" ; @@ -128,15 +128,15 @@ digraph cfg { "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_2" [label="2: Exit B::B \n " color=yellow style=filled] -"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" [label="3: Constructor Init \n n$1=*&this:B* [line 20, column 27]\n n$2=*&a:int [line 20, column 29]\n n$3=_fun_B::T::T(n$1.t:B::T*,n$2:int) [line 20, column 27]\n NULLIFY(&a); [line 20, column 27]\n NULLIFY(&this); [line 20, column 27]\n EXIT_SCOPE(n$1,n$2,n$3,a,this); [line 20, column 27]\n APPLY_ABSTRACTION; [line 20, column 27]\n " shape="box"] +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" [label="3: Constructor Init \n n$1=*&this:B* [line 20, column 27]\n n$2=*&a:int [line 20, column 29]\n n$3=_fun_B::T::T(n$1.t:B::T*,n$2:int) [line 20, column 27]\n " shape="box"] "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_2" ; -"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" [label="4: Constructor Init \n n$4=*&this:B* [line 20, column 20]\n n$5=*&a:int [line 20, column 23]\n *n$4.f2:int=n$5 [line 20, column 20]\n EXIT_SCOPE(n$4,n$5); [line 20, column 20]\n " shape="box"] +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" [label="4: Constructor Init \n n$4=*&this:B* [line 20, column 20]\n n$5=*&a:int [line 20, column 23]\n *n$4.f2:int=n$5 [line 20, column 20]\n " shape="box"] "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_3" ; -"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" [label="5: Constructor Init \n n$6=*&this:B* [line 20, column 14]\n n$7=*&a:int [line 20, column 16]\n n$8=_fun_A::A(n$6:B*,n$7:int) [line 20, column 14]\n EXIT_SCOPE(n$6,n$7,n$8); [line 20, column 14]\n " shape="box"] +"B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" [label="5: Constructor Init \n n$6=*&this:B* [line 20, column 14]\n n$7=*&a:int [line 20, column 16]\n n$8=_fun_A::A(n$6:B*,n$7:int) [line 20, column 14]\n " shape="box"] "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_5" -> "B#B#{10798906211412859239}.a51813e44ba191ffaf76fde9e0b33185_4" ; @@ -147,11 +147,11 @@ digraph cfg { "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_2" [label="2: Exit B::B \n " color=yellow style=filled] -"B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:B* [line 22, column 32]\n n$1=*&b:int [line 22, column 37]\n *n$0.f2:int=n$1 [line 22, column 32]\n NULLIFY(&b); [line 22, column 32]\n NULLIFY(&this); [line 22, column 32]\n EXIT_SCOPE(n$0,n$1,b,this); [line 22, column 32]\n APPLY_ABSTRACTION; [line 22, column 32]\n " shape="box"] +"B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:B* [line 22, column 32]\n n$1=*&b:int [line 22, column 37]\n *n$0.f2:int=n$1 [line 22, column 32]\n " shape="box"] "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_3" -> "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_2" ; -"B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" [label="4: Constructor Init \n n$2=*&this:B* [line 22, column 21]\n n$3=*&a:int [line 22, column 23]\n n$4=*&b:int [line 22, column 27]\n n$5=_fun_B::B(n$2:B*,(n$3 + n$4):int) [line 22, column 21]\n NULLIFY(&a); [line 22, column 21]\n EXIT_SCOPE(n$2,n$3,n$4,n$5,a); [line 22, column 21]\n " shape="box"] +"B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" [label="4: Constructor Init \n n$2=*&this:B* [line 22, column 21]\n n$3=*&a:int [line 22, column 23]\n n$4=*&b:int [line 22, column 27]\n n$5=_fun_B::B(n$2:B*,(n$3 + n$4):int) [line 22, column 21]\n " shape="box"] "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_4" -> "B#B#{12472590675666260682}.da2bf46e3a176d218006b99f6059cb97_3" ; @@ -162,7 +162,7 @@ digraph cfg { "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_2" [label="2: Exit B::T::T \n " color=yellow style=filled] -"T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_3" [label="3: Constructor Init \n n$1=*&this:B::T* [line 16, column 16]\n n$2=*&v:int [line 16, column 18]\n *n$1.v:int=n$2 [line 16, column 16]\n NULLIFY(&v); [line 16, column 16]\n NULLIFY(&this); [line 16, column 16]\n EXIT_SCOPE(n$1,n$2,v,this); [line 16, column 16]\n APPLY_ABSTRACTION; [line 16, column 16]\n " shape="box"] +"T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_3" [label="3: Constructor Init \n n$1=*&this:B::T* [line 16, column 16]\n n$2=*&v:int [line 16, column 18]\n *n$1.v:int=n$2 [line 16, column 16]\n " shape="box"] "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_3" -> "T#T#B#{10782891829941482898}.2f080fd8e7f17199a0e7ff14c49d6dba_2" ; 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 188312352..4121115c5 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_new.cpp.dot @@ -16,23 +16,23 @@ 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, boolean exp) \n PRUNE((n$1 == 5), true); [line 89, column 31]\n EXIT_SCOPE(n$1); [line 89, 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 89, 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, boolean exp) \n PRUNE(!(n$1 == 5), false); [line 89, column 31]\n EXIT_SCOPE(n$1); [line 89, 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 89, column 31]\n " shape="invhouse"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_6" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" ; -"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=5 [line 89, column 31]\n APPLY_ABSTRACTION; [line 89, column 31]\n " shape="box"] +"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=5 [line 89, column 31]\n " shape="box"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_7" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" ; -"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=3 [line 89, column 31]\n APPLY_ABSTRACTION; [line 89, column 31]\n " shape="box"] +"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" [label="8: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int=3 [line 89, column 31]\n " shape="box"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_8" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_3" ; -"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" [label="9: DeclStmt \n VARIABLE_DECLARED(tarray:constructor_new::Person*); [line 89, column 3]\n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 89, column 31]\n n$3=_fun___new_array((sizeof(t=constructor_new::Person) * n$2):unsigned long) [line 89, column 20]\n *&tarray:constructor_new::Person*=n$3 [line 89, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 89, column 3]\n NULLIFY(&tarray); [line 89, column 3]\n EXIT_SCOPE(n$2,n$3,0$?%__sil_tmpSIL_temp_conditional___n$0,tarray); [line 89, column 3]\n APPLY_ABSTRACTION; [line 89, column 3]\n " shape="box"] +"array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" [label="9: DeclStmt \n VARIABLE_DECLARED(tarray:constructor_new::Person*); [line 89, column 3]\n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 89, column 31]\n n$3=_fun___new_array((sizeof(t=constructor_new::Person) * n$2):unsigned long) [line 89, column 20]\n *&tarray:constructor_new::Person*=n$3 [line 89, column 3]\n " shape="box"] "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_9" -> "array_of_class_with_not_constant_size#constructor_new#9810665286379016302.453a7058d5d4d9a1fa36084713fcfc7d_2" ; @@ -43,7 +43,7 @@ digraph cfg { "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_2" [label="2: Exit constructor_new::array_of_person_with_constant_size \n " color=yellow style=filled] -"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(tarray:constructor_new::Person*); [line 93, column 45]\n n$0=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 93, column 62]\n n$1=_fun_constructor_new::Person::Person(n$0[0]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$2=_fun_constructor_new::Person::Person(n$0[1]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$3=_fun_constructor_new::Person::Person(n$0[2]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$4=_fun_constructor_new::Person::Person(n$0[3]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$5=_fun_constructor_new::Person::Person(n$0[4]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$6=_fun_constructor_new::Person::Person(n$0[5]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$7=_fun_constructor_new::Person::Person(n$0[6]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$8=_fun_constructor_new::Person::Person(n$0[7]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$9=_fun_constructor_new::Person::Person(n$0[8]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$10=_fun_constructor_new::Person::Person(n$0[9]:constructor_new::Person[_*_](*)) [line 93, column 66]\n *&tarray:constructor_new::Person*=n$0 [line 93, column 45]\n NULLIFY(&tarray); [line 93, column 45]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,n$10,tarray); [line 93, column 45]\n APPLY_ABSTRACTION; [line 93, column 45]\n " shape="box"] +"array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(tarray:constructor_new::Person*); [line 93, column 45]\n n$0=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 93, column 62]\n n$1=_fun_constructor_new::Person::Person(n$0[0]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$2=_fun_constructor_new::Person::Person(n$0[1]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$3=_fun_constructor_new::Person::Person(n$0[2]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$4=_fun_constructor_new::Person::Person(n$0[3]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$5=_fun_constructor_new::Person::Person(n$0[4]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$6=_fun_constructor_new::Person::Person(n$0[5]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$7=_fun_constructor_new::Person::Person(n$0[6]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$8=_fun_constructor_new::Person::Person(n$0[7]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$9=_fun_constructor_new::Person::Person(n$0[8]:constructor_new::Person[_*_](*)) [line 93, column 66]\n n$10=_fun_constructor_new::Person::Person(n$0[9]:constructor_new::Person[_*_](*)) [line 93, column 66]\n *&tarray:constructor_new::Person*=n$0 [line 93, column 45]\n " shape="box"] "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_3" -> "array_of_person_with_constant_size#constructor_new#10198805942353567956.2cf0ba8d0780ec60bbcca4089ec2aee6_2" ; @@ -54,11 +54,11 @@ digraph cfg { "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_2" [label="2: Exit constructor_new::constructor_1_arg_new_div0 \n " color=yellow style=filled] -"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 29, column 15]\n n$1=*n$0.x:int [line 29, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 29, column 3]\n NULLIFY(&p); [line 29, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 29, column 15]\n n$1=*n$0.x:int [line 29, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 29, column 3]\n " shape="box"] "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_2" ; -"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 28, column 3]\n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 28, column 15]\n n$3=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,5:int) [line 28, column 19]\n *&p:constructor_new::Person*=n$2 [line 28, column 3]\n EXIT_SCOPE(n$2,n$3); [line 28, column 3]\n " shape="box"] +"constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 28, column 3]\n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 28, column 15]\n n$3=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,5:int) [line 28, column 19]\n *&p:constructor_new::Person*=n$2 [line 28, column 3]\n " shape="box"] "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_4" -> "constructor_1_arg_new_div0#constructor_new#798841234716809588.2c010a7c7293e961b9ed8149c3f3debe_3" ; @@ -69,11 +69,11 @@ digraph cfg { "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_2" [label="2: Exit constructor_new::constructor_3_args_new_div0 \n " color=yellow style=filled] -"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 34, column 15]\n n$1=*n$0.z:int [line 34, column 15]\n *&return:int=(1 / (n$1 - 7)) [line 34, column 3]\n NULLIFY(&p); [line 34, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 34, column 15]\n n$1=*n$0.z:int [line 34, column 15]\n *&return:int=(1 / (n$1 - 7)) [line 34, column 3]\n " shape="box"] "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_2" ; -"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 33, column 3]\n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 33, column 15]\n n$3=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,5:int,6:int,7:int) [line 33, column 19]\n *&p:constructor_new::Person*=n$2 [line 33, column 3]\n EXIT_SCOPE(n$2,n$3); [line 33, column 3]\n " shape="box"] +"constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 33, column 3]\n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 33, column 15]\n n$3=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,5:int,6:int,7:int) [line 33, column 19]\n *&p:constructor_new::Person*=n$2 [line 33, column 3]\n " shape="box"] "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_4" -> "constructor_3_args_new_div0#constructor_new#13438839859480315932.2122014ebac449e6fb981ba75ba0617e_3" ; @@ -84,7 +84,7 @@ digraph cfg { "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_2" [label="2: Exit constructor_new::constructor_nodes \n " color=yellow style=filled] -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 72, column 15]\n n$1=*n$0.x:int [line 72, column 15]\n *&return:int=(1 / (n$1 - 7)) [line 72, column 3]\n NULLIFY(&p); [line 72, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 72, column 3]\n APPLY_ABSTRACTION; [line 72, column 3]\n " shape="box"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" [label="3: Return Stmt \n n$0=*&p:constructor_new::Person* [line 72, column 15]\n n$1=*n$0.x:int [line 72, column 15]\n *&return:int=(1 / (n$1 - 7)) [line 72, column 3]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_2" ; @@ -97,23 +97,23 @@ 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, boolean exp) \n PRUNE(n$4, true); [line 71, column 26]\n NULLIFY(&z); [line 71, column 26]\n EXIT_SCOPE(n$4,z); [line 71, 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 71, 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, boolean exp) \n PRUNE(!n$4, false); [line 71, column 26]\n EXIT_SCOPE(n$4); [line 71, 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 71, column 26]\n " shape="invhouse"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_7" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_8" [label="8: ConditionalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int) [line 71, column 40]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=n$5 [line 71, column 26]\n EXIT_SCOPE(n$5); [line 71, column 26]\n APPLY_ABSTRACTION; [line 71, column 26]\n " shape="box"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_8" [label="8: ConditionalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int) [line 71, column 40]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=n$5 [line 71, column 26]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_8" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" [label="9: ConditionalStmt Branch \n n$6=*&z:int [line 71, column 58]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=(1 + n$6) [line 71, column 26]\n NULLIFY(&z); [line 71, column 26]\n EXIT_SCOPE(n$6,z); [line 71, column 26]\n APPLY_ABSTRACTION; [line 71, column 26]\n " shape="box"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" [label="9: ConditionalStmt Branch \n n$6=*&z:int [line 71, column 58]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=(1 + n$6) [line 71, column 26]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_9" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_4" ; -"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" [label="10: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 71, column 3]\n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 71, column 15]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 71, column 26]\n n$8=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,n$7:int) [line 71, column 19]\n *&p:constructor_new::Person*=n$2 [line 71, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$3); [line 71, column 3]\n EXIT_SCOPE(n$2,n$7,n$8,0$?%__sil_tmpSIL_temp_conditional___n$3); [line 71, column 3]\n " shape="box"] +"constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" [label="10: DeclStmt \n VARIABLE_DECLARED(p:constructor_new::Person*); [line 71, column 3]\n n$2=_fun___new(sizeof(t=constructor_new::Person):unsigned long) [line 71, column 15]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 71, column 26]\n n$8=_fun_constructor_new::Person::Person(n$2:constructor_new::Person*,n$7:int) [line 71, column 19]\n *&p:constructor_new::Person*=n$2 [line 71, column 3]\n " shape="box"] "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_10" -> "constructor_nodes#constructor_new#2199504594298711726.73e416487288cbd4adea79b64a17dbe2_3" ; @@ -128,11 +128,11 @@ digraph cfg { "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_2" [label="2: Exit constructor_new::float_init_number \n " color=yellow style=filled] -"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" [label="3: Return Stmt \n n$0=*&x1:float* [line 44, column 16]\n n$1=*n$0:float [line 44, column 15]\n *&return:float=(1 / (n$1 - 5.4)) [line 44, column 3]\n NULLIFY(&x1); [line 44, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" [label="3: Return Stmt \n n$0=*&x1:float* [line 44, column 16]\n n$1=*n$0:float [line 44, column 15]\n *&return:float=(1 / (n$1 - 5.4)) [line 44, column 3]\n " shape="box"] "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_2" ; -"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:float*); [line 43, column 3]\n n$2=_fun___new(sizeof(t=float):unsigned long) [line 43, column 15]\n *n$2:float=5.4 [line 43, column 15]\n *&x1:float*=n$2 [line 43, column 3]\n EXIT_SCOPE(n$2); [line 43, column 3]\n " shape="box"] +"float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:float*); [line 43, column 3]\n n$2=_fun___new(sizeof(t=float):unsigned long) [line 43, column 15]\n *n$2:float=5.4 [line 43, column 15]\n *&x1:float*=n$2 [line 43, column 3]\n " shape="box"] "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_4" -> "float_init_number#constructor_new#3988440966025503299.b1d13528d0a983c1943c8fdd13e58be6_3" ; @@ -143,7 +143,7 @@ digraph cfg { "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_2" [label="2: Exit constructor_new::getValue \n " color=yellow style=filled] -"getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_3" [label="3: Return Stmt \n n$0=*&x:int [line 25, column 30]\n *&return:int=n$0 [line 25, column 23]\n NULLIFY(&x); [line 25, column 23]\n EXIT_SCOPE(n$0,x); [line 25, column 23]\n APPLY_ABSTRACTION; [line 25, column 23]\n " shape="box"] +"getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_3" [label="3: Return Stmt \n n$0=*&x:int [line 25, column 30]\n *&return:int=n$0 [line 25, column 23]\n " shape="box"] "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_3" -> "getValue#constructor_new#15577065010748217440.6aa0942189125cc8fd36b278b0742cd2_2" ; @@ -154,15 +154,15 @@ digraph cfg { "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_2" [label="2: Exit constructor_new::int_array \n " color=yellow style=filled] -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" [label="3: Return Stmt \n n$0=*&x2:int* [line 79, column 16]\n n$1=*n$0[0]:int [line 79, column 16]\n n$2=*&x2:int* [line 79, column 24]\n n$3=*n$2[1]:int [line 79, column 24]\n *&return:int=(1 / ((n$1 + n$3) - 3)) [line 79, column 3]\n NULLIFY(&x2); [line 79, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,x2); [line 79, column 3]\n APPLY_ABSTRACTION; [line 79, column 3]\n " shape="box"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" [label="3: Return Stmt \n n$0=*&x2:int* [line 79, column 16]\n n$1=*n$0[0]:int [line 79, column 16]\n n$2=*&x2:int* [line 79, column 24]\n n$3=*n$2[1]:int [line 79, column 24]\n *&return:int=(1 / ((n$1 + n$3) - 3)) [line 79, column 3]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_2" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&x2:int* [line 78, column 3]\n *n$4[1]:int=2 [line 78, column 3]\n EXIT_SCOPE(n$4); [line 78, column 3]\n " shape="box"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&x2:int* [line 78, column 3]\n *n$4[1]:int=2 [line 78, column 3]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_3" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&x2:int* [line 77, column 3]\n *n$5[0]:int=1 [line 77, column 3]\n EXIT_SCOPE(n$5); [line 77, column 3]\n " shape="box"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&x2:int* [line 77, column 3]\n *n$5[0]:int=1 [line 77, column 3]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_4" ; @@ -175,23 +175,23 @@ 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, boolean exp) \n PRUNE(n$7, true); [line 76, column 21]\n EXIT_SCOPE(n$7); [line 76, 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 76, 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, boolean exp) \n PRUNE(!n$7, false); [line 76, column 21]\n EXIT_SCOPE(n$7); [line 76, 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 76, column 21]\n " shape="invhouse"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_9" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_10" [label="10: ConditionalStmt Branch \n n$8=_fun_constructor_new::getValue(5:int) [line 76, column 35]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=n$8 [line 76, column 21]\n EXIT_SCOPE(n$8); [line 76, column 21]\n APPLY_ABSTRACTION; [line 76, column 21]\n " shape="box"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_10" [label="10: ConditionalStmt Branch \n n$8=_fun_constructor_new::getValue(5:int) [line 76, column 35]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=n$8 [line 76, column 21]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_10" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=3 [line 76, column 21]\n APPLY_ABSTRACTION; [line 76, column 21]\n " shape="box"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int=3 [line 76, column 21]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_11" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_6" ; -"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:int*); [line 76, column 3]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 76, column 21]\n n$10=_fun___new_array((sizeof(t=int;nbytes=4) * n$9):unsigned long) [line 76, column 13]\n *&x2:int*=n$10 [line 76, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 76, column 3]\n EXIT_SCOPE(n$9,n$10,0$?%__sil_tmpSIL_temp_conditional___n$6); [line 76, column 3]\n " shape="box"] +"int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x2:int*); [line 76, column 3]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 76, column 21]\n n$10=_fun___new_array((sizeof(t=int;nbytes=4) * n$9):unsigned long) [line 76, column 13]\n *&x2:int*=n$10 [line 76, column 3]\n " shape="box"] "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_12" -> "int_array#constructor_new#17288301834361373856.f0e67f3600c928968ac2559eafa09ba2_5" ; @@ -202,11 +202,11 @@ digraph cfg { "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_2" [label="2: Exit constructor_new::int_array_init \n " color=yellow style=filled] -"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" [label="3: Return Stmt \n n$0=*&arr:int* [line 84, column 16]\n n$1=*n$0[0]:int [line 84, column 16]\n n$2=*&arr:int* [line 84, column 25]\n n$3=*n$2[1]:int [line 84, column 25]\n n$4=*&arr:int* [line 84, column 34]\n n$5=*n$4[2]:int [line 84, column 34]\n n$6=*&arr:int* [line 84, column 43]\n n$7=*n$6[3]:int [line 84, column 43]\n n$8=*&arr:int* [line 84, column 52]\n n$9=*n$8[4]:int [line 84, column 52]\n *&return:int=(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 84, column 3]\n NULLIFY(&arr); [line 84, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,arr); [line 84, column 3]\n APPLY_ABSTRACTION; [line 84, column 3]\n " shape="box"] +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" [label="3: Return Stmt \n n$0=*&arr:int* [line 84, column 16]\n n$1=*n$0[0]:int [line 84, column 16]\n n$2=*&arr:int* [line 84, column 25]\n n$3=*n$2[1]:int [line 84, column 25]\n n$4=*&arr:int* [line 84, column 34]\n n$5=*n$4[2]:int [line 84, column 34]\n n$6=*&arr:int* [line 84, column 43]\n n$7=*n$6[3]:int [line 84, column 43]\n n$8=*&arr:int* [line 84, column 52]\n n$9=*n$8[4]:int [line 84, column 52]\n *&return:int=(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 84, column 3]\n " shape="box"] "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_2" ; -"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(arr:int*); [line 83, column 3]\n n$10=_fun___new_array((sizeof(t=int;nbytes=4) * 100):unsigned long) [line 83, column 14]\n *n$10[0]:int=1 [line 83, column 26]\n *n$10[1]:int=2 [line 83, column 26]\n *n$10[2]:int=3 [line 83, column 26]\n *n$10[3]:int=4 [line 83, column 26]\n *n$10[4]:int=5 [line 83, column 26]\n *n$10[5]:int=6 [line 83, column 26]\n *n$10[6]:int=7 [line 83, column 26]\n *n$10[7]:int=8 [line 83, column 26]\n *n$10[8]:int=9 [line 83, column 26]\n *n$10[9]:int=10 [line 83, column 26]\n *&arr:int*=n$10 [line 83, column 3]\n EXIT_SCOPE(n$10); [line 83, column 3]\n " shape="box"] +"int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(arr:int*); [line 83, column 3]\n n$10=_fun___new_array((sizeof(t=int;nbytes=4) * 100):unsigned long) [line 83, column 14]\n *n$10[0]:int=1 [line 83, column 26]\n *n$10[1]:int=2 [line 83, column 26]\n *n$10[2]:int=3 [line 83, column 26]\n *n$10[3]:int=4 [line 83, column 26]\n *n$10[4]:int=5 [line 83, column 26]\n *n$10[5]:int=6 [line 83, column 26]\n *n$10[6]:int=7 [line 83, column 26]\n *n$10[7]:int=8 [line 83, column 26]\n *n$10[8]:int=9 [line 83, column 26]\n *n$10[9]:int=10 [line 83, column 26]\n *&arr:int*=n$10 [line 83, column 3]\n " shape="box"] "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_4" -> "int_array_init#constructor_new#14099932616230884357.69a63438c3aee293029f068d373c29c3_3" ; @@ -217,11 +217,11 @@ digraph cfg { "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_2" [label="2: Exit constructor_new::int_init_empty \n " color=yellow style=filled] -"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 49, column 15]\n n$1=*n$0:int [line 49, column 14]\n *&return:int=(1 / n$1) [line 49, column 3]\n NULLIFY(&x1); [line 49, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, column 3]\n " shape="box"] +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 49, column 15]\n n$1=*n$0:int [line 49, column 14]\n *&return:int=(1 / n$1) [line 49, column 3]\n " shape="box"] "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_2" ; -"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 48, column 3]\n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 48, column 13]\n *n$2:int=0 [line 48, column 21]\n *&x1:int*=n$2 [line 48, column 3]\n EXIT_SCOPE(n$2); [line 48, column 3]\n " shape="box"] +"int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 48, column 3]\n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 48, column 13]\n *n$2:int=0 [line 48, column 21]\n *&x1:int*=n$2 [line 48, column 3]\n " shape="box"] "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_4" -> "int_init_empty#constructor_new#15413029864213743197.d5b807871fe4ea10e898a381f0edef4d_3" ; @@ -232,7 +232,7 @@ digraph cfg { "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_2" [label="2: Exit constructor_new::int_init_empty_list \n " color=yellow style=filled] -"int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_3" [label="3: Return Stmt \n n$0=*&x1:int [line 54, column 14]\n *&return:int=(1 / n$0) [line 54, column 3]\n NULLIFY(&x1); [line 54, column 3]\n EXIT_SCOPE(n$0,x1); [line 54, column 3]\n APPLY_ABSTRACTION; [line 54, column 3]\n " shape="box"] +"int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_3" [label="3: Return Stmt \n n$0=*&x1:int [line 54, column 14]\n *&return:int=(1 / n$0) [line 54, column 3]\n " shape="box"] "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_3" -> "int_init_empty_list#constructor_new#3613770932207490177.2b4662eed1a13d3237e163f39bc6397c_2" ; @@ -247,11 +247,11 @@ digraph cfg { "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_2" [label="2: Exit constructor_new::int_init_empty_list_new \n " color=yellow style=filled] -"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 59, column 15]\n n$1=*n$0:int [line 59, column 14]\n *&return:int=(1 / n$1) [line 59, column 3]\n NULLIFY(&x1); [line 59, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 59, column 3]\n APPLY_ABSTRACTION; [line 59, column 3]\n " shape="box"] +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 59, column 15]\n n$1=*n$0:int [line 59, column 14]\n *&return:int=(1 / n$1) [line 59, column 3]\n " shape="box"] "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_2" ; -"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 58, column 3]\n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 58, column 13]\n *n$2:int=0 [line 58, column 13]\n *&x1:int*=n$2 [line 58, column 3]\n EXIT_SCOPE(n$2); [line 58, column 3]\n " shape="box"] +"int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 58, column 3]\n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 58, column 13]\n *n$2:int=0 [line 58, column 13]\n *&x1:int*=n$2 [line 58, column 3]\n " shape="box"] "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_4" -> "int_init_empty_list_new#constructor_new#18093274870234850959.e77c2840901e6e789e52d55ac81db88f_3" ; @@ -262,7 +262,7 @@ digraph cfg { "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_2" [label="2: Exit constructor_new::int_init_nodes \n " color=yellow style=filled] -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" [label="3: Return Stmt \n n$0=*&x:int* [line 66, column 16]\n n$1=*n$0:int [line 66, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 66, column 3]\n NULLIFY(&x); [line 66, column 3]\n EXIT_SCOPE(n$0,n$1,x); [line 66, column 3]\n APPLY_ABSTRACTION; [line 66, column 3]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" [label="3: Return Stmt \n n$0=*&x:int* [line 66, column 16]\n n$1=*n$0:int [line 66, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 66, column 3]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_2" ; @@ -275,31 +275,31 @@ 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, boolean exp) \n PRUNE(n$4, true); [line 65, column 20]\n NULLIFY(&y); [line 65, column 20]\n EXIT_SCOPE(n$4,y); [line 65, 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 65, 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, boolean exp) \n PRUNE(!n$4, false); [line 65, column 20]\n EXIT_SCOPE(n$4); [line 65, 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 65, column 20]\n " shape="invhouse"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_7" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" [label="8: ConditionalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int) [line 65, column 34]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=n$5 [line 65, column 20]\n EXIT_SCOPE(n$5); [line 65, column 20]\n APPLY_ABSTRACTION; [line 65, column 20]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" [label="8: ConditionalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int) [line 65, column 34]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=n$5 [line 65, column 20]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_8" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" [label="9: ConditionalStmt Branch \n n$6=*&y:int* [line 65, column 53]\n n$7=*n$6:int [line 65, column 52]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=(1 + n$7) [line 65, column 20]\n NULLIFY(&y); [line 65, column 20]\n EXIT_SCOPE(n$6,n$7,y); [line 65, column 20]\n APPLY_ABSTRACTION; [line 65, column 20]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" [label="9: ConditionalStmt Branch \n n$6=*&y:int* [line 65, column 53]\n n$7=*n$6:int [line 65, column 52]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int=(1 + n$7) [line 65, column 20]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_9" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_4" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 65, column 3]\n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 65, column 12]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 65, column 20]\n *n$2:int=n$8 [line 65, column 12]\n *&x:int*=n$2 [line 65, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$3); [line 65, column 3]\n EXIT_SCOPE(n$2,n$8,0$?%__sil_tmpSIL_temp_conditional___n$3); [line 65, column 3]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 65, column 3]\n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 65, column 12]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 65, column 20]\n *n$2:int=n$8 [line 65, column 12]\n *&x:int*=n$2 [line 65, column 3]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_10" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_3" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" [label="11: DeclStmt \n VARIABLE_DECLARED(y:int*); [line 64, column 3]\n n$9=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 64, column 12]\n n$10=_fun_constructor_new::getValue(4:int) [line 64, column 20]\n *n$9:int=n$10 [line 64, column 12]\n *&y:int*=n$9 [line 64, column 3]\n EXIT_SCOPE(n$9,n$10); [line 64, column 3]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" [label="11: DeclStmt \n VARIABLE_DECLARED(y:int*); [line 64, column 3]\n n$9=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 64, column 12]\n n$10=_fun_constructor_new::getValue(4:int) [line 64, column 20]\n *n$9:int=n$10 [line 64, column 12]\n *&y:int*=n$9 [line 64, column 3]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_5" ; -"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" [label="12: DeclStmt \n VARIABLE_DECLARED(z:int); [line 63, column 3]\n *&z:int=6 [line 63, column 3]\n NULLIFY(&z); [line 63, column 3]\n EXIT_SCOPE(z); [line 63, column 3]\n " shape="box"] +"int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" [label="12: DeclStmt \n VARIABLE_DECLARED(z:int); [line 63, column 3]\n *&z:int=6 [line 63, column 3]\n " shape="box"] "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_12" -> "int_init_nodes#constructor_new#3816193909145311065.e18f1e2417086b4c8d20246eeee5dd01_11" ; @@ -310,11 +310,11 @@ digraph cfg { "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_2" [label="2: Exit constructor_new::int_init_number \n " color=yellow style=filled] -"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 39, column 16]\n n$1=*n$0:int [line 39, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 39, column 3]\n NULLIFY(&x1); [line 39, column 3]\n EXIT_SCOPE(n$0,n$1,x1); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" [label="3: Return Stmt \n n$0=*&x1:int* [line 39, column 16]\n n$1=*n$0:int [line 39, column 15]\n *&return:int=(1 / (n$1 - 5)) [line 39, column 3]\n " shape="box"] "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_2" ; -"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 38, column 3]\n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 38, column 13]\n *n$2:int=5 [line 38, column 13]\n *&x1:int*=n$2 [line 38, column 3]\n EXIT_SCOPE(n$2); [line 38, column 3]\n " shape="box"] +"int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x1:int*); [line 38, column 3]\n n$2=_fun___new(sizeof(t=int;nbytes=4):unsigned long) [line 38, column 13]\n *n$2:int=5 [line 38, column 13]\n *&x1:int*=n$2 [line 38, column 3]\n " shape="box"] "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_4" -> "int_init_number#constructor_new#16564762083428359974.2a1c04c2e924068dd02b097712efe518_3" ; @@ -325,11 +325,11 @@ digraph cfg { "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_2" [label="2: Exit constructor_new::matrix_of_person \n " color=yellow style=filled] -"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&tarray:constructor_new::Person** [line 98, column 3]\n n$1=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 98, column 15]\n n$2=_fun_constructor_new::Person::Person(n$1[0]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$3=_fun_constructor_new::Person::Person(n$1[1]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$4=_fun_constructor_new::Person::Person(n$1[2]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$5=_fun_constructor_new::Person::Person(n$1[3]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$6=_fun_constructor_new::Person::Person(n$1[4]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$7=_fun_constructor_new::Person::Person(n$1[5]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$8=_fun_constructor_new::Person::Person(n$1[6]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$9=_fun_constructor_new::Person::Person(n$1[7]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$10=_fun_constructor_new::Person::Person(n$1[8]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$11=_fun_constructor_new::Person::Person(n$1[9]:constructor_new::Person[_*_](*)) [line 98, column 19]\n *n$0[0]:constructor_new::Person*=n$1 [line 98, column 3]\n NULLIFY(&tarray); [line 98, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,n$10,n$11,tarray); [line 98, column 3]\n APPLY_ABSTRACTION; [line 98, column 3]\n " shape="box"] +"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&tarray:constructor_new::Person** [line 98, column 3]\n n$1=_fun___new_array((sizeof(t=constructor_new::Person) * 10):unsigned long) [line 98, column 15]\n n$2=_fun_constructor_new::Person::Person(n$1[0]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$3=_fun_constructor_new::Person::Person(n$1[1]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$4=_fun_constructor_new::Person::Person(n$1[2]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$5=_fun_constructor_new::Person::Person(n$1[3]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$6=_fun_constructor_new::Person::Person(n$1[4]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$7=_fun_constructor_new::Person::Person(n$1[5]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$8=_fun_constructor_new::Person::Person(n$1[6]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$9=_fun_constructor_new::Person::Person(n$1[7]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$10=_fun_constructor_new::Person::Person(n$1[8]:constructor_new::Person[_*_](*)) [line 98, column 19]\n n$11=_fun_constructor_new::Person::Person(n$1[9]:constructor_new::Person[_*_](*)) [line 98, column 19]\n *n$0[0]:constructor_new::Person*=n$1 [line 98, column 3]\n " shape="box"] "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" -> "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_2" ; -"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" [label="4: DeclStmt \n VARIABLE_DECLARED(tarray:constructor_new::Person**); [line 97, column 3]\n n$12=_fun___new_array((sizeof(t=constructor_new::Person*) * 10):unsigned long) [line 97, column 21]\n *&tarray:constructor_new::Person**=n$12 [line 97, column 3]\n EXIT_SCOPE(n$12); [line 97, column 3]\n " shape="box"] +"matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" [label="4: DeclStmt \n VARIABLE_DECLARED(tarray:constructor_new::Person**); [line 97, column 3]\n n$12=_fun___new_array((sizeof(t=constructor_new::Person*) * 10):unsigned long) [line 97, column 21]\n *&tarray:constructor_new::Person**=n$12 [line 97, column 3]\n " shape="box"] "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_4" -> "matrix_of_person#constructor_new#930045482638918044.730172056e08027af32de0bd9a490291_3" ; @@ -340,15 +340,15 @@ digraph cfg { "Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_2" [label="2: Exit constructor_new::Person::Person \n " color=yellow style=filled] -"Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_new::Person* [line 18, column 5]\n n$1=*&k:int [line 18, column 9]\n *n$0.z:int=n$1 [line 18, column 5]\n NULLIFY(&this); [line 18, column 5]\n NULLIFY(&k); [line 18, column 5]\n EXIT_SCOPE(n$0,n$1,this,k); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="box"] +"Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_new::Person* [line 18, column 5]\n n$1=*&k:int [line 18, column 9]\n *n$0.z:int=n$1 [line 18, column 5]\n " shape="box"] "Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_3" -> "Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_2" ; -"Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:constructor_new::Person* [line 17, column 5]\n n$3=*&j:int [line 17, column 9]\n *n$2.y:int=n$3 [line 17, column 5]\n NULLIFY(&j); [line 17, column 5]\n EXIT_SCOPE(n$2,n$3,j); [line 17, column 5]\n " shape="box"] +"Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:constructor_new::Person* [line 17, column 5]\n n$3=*&j:int [line 17, column 9]\n *n$2.y:int=n$3 [line 17, column 5]\n " shape="box"] "Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_4" -> "Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_3" ; -"Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&this:constructor_new::Person* [line 16, column 5]\n n$5=*&i:int [line 16, column 9]\n *n$4.x:int=n$5 [line 16, column 5]\n NULLIFY(&i); [line 16, column 5]\n EXIT_SCOPE(n$4,n$5,i); [line 16, column 5]\n " shape="box"] +"Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&this:constructor_new::Person* [line 16, column 5]\n n$5=*&i:int [line 16, column 9]\n *n$4.x:int=n$5 [line 16, column 5]\n " shape="box"] "Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_5" -> "Person#Person#constructor_new#{426040185711945372}.912ffb8f00635c43cd7277cb4f7bd8a3_4" ; @@ -359,7 +359,7 @@ digraph cfg { "Person#Person#constructor_new#{6016517870629270534}.75bb70b834543e18977cd4fa8f8022a7_2" [label="2: Exit constructor_new::Person::Person \n " color=yellow style=filled] -"Person#Person#constructor_new#{6016517870629270534}.75bb70b834543e18977cd4fa8f8022a7_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_new::Person* [line 13, column 19]\n n$1=*&i:int [line 13, column 23]\n *n$0.x:int=n$1 [line 13, column 19]\n NULLIFY(&this); [line 13, column 19]\n NULLIFY(&i); [line 13, column 19]\n EXIT_SCOPE(n$0,n$1,this,i); [line 13, column 19]\n APPLY_ABSTRACTION; [line 13, column 19]\n " shape="box"] +"Person#Person#constructor_new#{6016517870629270534}.75bb70b834543e18977cd4fa8f8022a7_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_new::Person* [line 13, column 19]\n n$1=*&i:int [line 13, column 23]\n *n$0.x:int=n$1 [line 13, column 19]\n " shape="box"] "Person#Person#constructor_new#{6016517870629270534}.75bb70b834543e18977cd4fa8f8022a7_3" -> "Person#Person#constructor_new#{6016517870629270534}.75bb70b834543e18977cd4fa8f8022a7_2" ; @@ -370,7 +370,7 @@ digraph cfg { "Person#Person#constructor_new#{6016547557443232231}.129098d47d79a7d06a2d6927fa32f467_2" [label="2: Exit constructor_new::Person::Person \n " color=yellow style=filled] -"Person#Person#constructor_new#{6016547557443232231}.129098d47d79a7d06a2d6927fa32f467_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_new::Person* [line 12, column 14]\n *n$0.x:int=0 [line 12, column 14]\n NULLIFY(&this); [line 12, column 14]\n EXIT_SCOPE(n$0,this); [line 12, column 14]\n APPLY_ABSTRACTION; [line 12, column 14]\n " shape="box"] +"Person#Person#constructor_new#{6016547557443232231}.129098d47d79a7d06a2d6927fa32f467_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_new::Person* [line 12, column 14]\n *n$0.x:int=0 [line 12, column 14]\n " shape="box"] "Person#Person#constructor_new#{6016547557443232231}.129098d47d79a7d06a2d6927fa32f467_3" -> "Person#Person#constructor_new#{6016547557443232231}.129098d47d79a7d06a2d6927fa32f467_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot index df7c28bd6..516c188f5 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_struct_init_list.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&p); [line 17, column 29]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:Person); [line 17, column 15]\n *&0$?%__sil_tmpSIL_init_list__n$0.top:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.left:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.bottom:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.right:int=0 [line 17, column 25]\n n$1=_fun_Person::Person(&p:Person*,&0$?%__sil_tmpSIL_init_list__n$0:Insets) [line 17, column 22]\n NULLIFY(&0$?%__sil_tmpSIL_init_list__n$0); [line 17, column 22]\n EXIT_SCOPE(n$1,p,0$?%__sil_tmpSIL_init_list__n$0); [line 17, column 22]\n APPLY_ABSTRACTION; [line 17, column 22]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:Person); [line 17, column 15]\n *&0$?%__sil_tmpSIL_init_list__n$0.top:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.left:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.bottom:int=0 [line 17, column 25]\n *&0$?%__sil_tmpSIL_init_list__n$0.right:int=0 [line 17, column 25]\n n$1=_fun_Person::Person(&p:Person*,&0$?%__sil_tmpSIL_init_list__n$0:Insets) [line 17, column 22]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; @@ -18,7 +18,7 @@ digraph cfg { "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_2" [label="2: Exit Person::Person \n " color=yellow style=filled] -"Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_3" [label="3: Constructor Init \n n$1=*&this:Person* [line 14, column 28]\n n$2=*&l:Insets const & [line 14, column 32]\n n$3=*n$2.top:int [line 14, column 32]\n *n$1.age:int=n$3 [line 14, column 28]\n NULLIFY(&l); [line 14, column 28]\n NULLIFY(&this); [line 14, column 28]\n EXIT_SCOPE(n$1,n$2,n$3,l,this); [line 14, column 28]\n APPLY_ABSTRACTION; [line 14, column 28]\n " shape="box"] +"Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_3" [label="3: Constructor Init \n n$1=*&this:Person* [line 14, column 28]\n n$2=*&l:Insets const & [line 14, column 32]\n n$3=*n$2.top:int [line 14, column 32]\n *n$1.age:int=n$3 [line 14, column 28]\n " shape="box"] "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_3" -> "Person#Person#{5857402560744521252}.6ef0efc697f825c2030746b71de7fd56_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot index c991014bb..0c2a206a4 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/constructor_with_body.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_1" -> "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_4" ; -"test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_2" [label="2: Exit constructor_with_body::test_div0 \n NULLIFY(&x); [line 31, column 1]\n " color=yellow style=filled] +"test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_2" [label="2: Exit constructor_with_body::test_div0 \n " color=yellow style=filled] -"test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_3" [label="3: Call _fun_constructor_with_body::X::div \n _=*&x:constructor_with_body::X [line 30, column 3]\n n$1=_fun_constructor_with_body::X::div(&x:constructor_with_body::X&) [line 30, column 3]\n EXIT_SCOPE(_,n$1,x); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_3" [label="3: Call _fun_constructor_with_body::X::div \n _=*&x:constructor_with_body::X [line 30, column 3]\n n$1=_fun_constructor_with_body::X::div(&x:constructor_with_body::X&) [line 30, column 3]\n " shape="box"] "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_3" -> "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_2" ; -"test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:constructor_with_body::X); [line 29, column 3]\n n$2=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*,-2:int,2:int) [line 29, column 5]\n EXIT_SCOPE(n$2); [line 29, column 5]\n " shape="box"] +"test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:constructor_with_body::X); [line 29, column 3]\n n$2=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*,-2:int,2:int) [line 29, column 5]\n " shape="box"] "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_4" -> "test_div0#constructor_with_body#14177342253516869661.07f5b28b5e0b5cf0bd1b639da4232d5e_3" ; @@ -19,14 +19,14 @@ digraph cfg { "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_1" -> "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_4" ; -"test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_2" [label="2: Exit constructor_with_body::test_div0_default_constructor \n NULLIFY(&x); [line 36, column 1]\n " color=yellow style=filled] +"test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_2" [label="2: Exit constructor_with_body::test_div0_default_constructor \n " color=yellow style=filled] -"test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_3" [label="3: Call _fun_constructor_with_body::X::div \n _=*&x:constructor_with_body::X [line 35, column 3]\n n$1=_fun_constructor_with_body::X::div(&x:constructor_with_body::X&) [line 35, column 3]\n EXIT_SCOPE(_,n$1,x); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_3" [label="3: Call _fun_constructor_with_body::X::div \n _=*&x:constructor_with_body::X [line 35, column 3]\n n$1=_fun_constructor_with_body::X::div(&x:constructor_with_body::X&) [line 35, column 3]\n " shape="box"] "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_3" -> "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_2" ; -"test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:constructor_with_body::X); [line 34, column 3]\n n$2=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*) [line 34, column 5]\n EXIT_SCOPE(n$2); [line 34, column 5]\n " shape="box"] +"test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:constructor_with_body::X); [line 34, column 3]\n n$2=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*) [line 34, column 5]\n " shape="box"] "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_4" -> "test_div0_default_constructor#constructor_with_body#13388399293672727772.2d6a8a159f30a2a66b86eb8aec3b9543_3" ; @@ -34,14 +34,14 @@ digraph cfg { "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_1" -> "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" ; -"test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_2" [label="2: Exit constructor_with_body::test_div1 \n NULLIFY(&x); [line 41, column 1]\n " color=yellow style=filled] +"test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_2" [label="2: Exit constructor_with_body::test_div1 \n " color=yellow style=filled] -"test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_3" [label="3: Call _fun_constructor_with_body::X::div \n _=*&x:constructor_with_body::X [line 40, column 3]\n n$1=_fun_constructor_with_body::X::div(&x:constructor_with_body::X&) [line 40, column 3]\n EXIT_SCOPE(_,n$1,x); [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] +"test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_3" [label="3: Call _fun_constructor_with_body::X::div \n _=*&x:constructor_with_body::X [line 40, column 3]\n n$1=_fun_constructor_with_body::X::div(&x:constructor_with_body::X&) [line 40, column 3]\n " shape="box"] "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_3" -> "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_2" ; -"test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:constructor_with_body::X); [line 39, column 3]\n n$2=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*,0:int,1:int) [line 39, column 5]\n EXIT_SCOPE(n$2); [line 39, column 5]\n " shape="box"] +"test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:constructor_with_body::X); [line 39, column 3]\n n$2=_fun_constructor_with_body::X::X(&x:constructor_with_body::X*,0:int,1:int) [line 39, column 5]\n " shape="box"] "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_4" -> "test_div1#constructor_with_body#14807027065269407206.e5673561e7edf9eb35b296211ab8d37d_3" ; @@ -52,7 +52,7 @@ digraph cfg { "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_2" [label="2: Exit constructor_with_body::X::init \n " color=yellow style=filled] -"init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_with_body::X* [line 12, column 17]\n *n$0.f:int=0 [line 12, column 17]\n NULLIFY(&this); [line 12, column 17]\n EXIT_SCOPE(n$0,this); [line 12, column 17]\n APPLY_ABSTRACTION; [line 12, column 17]\n " shape="box"] +"init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_with_body::X* [line 12, column 17]\n *n$0.f:int=0 [line 12, column 17]\n " shape="box"] "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_3" -> "init#X#constructor_with_body#(11920920673411078151).40e39840a696bef95297e1afb2f57392_2" ; @@ -63,7 +63,7 @@ digraph cfg { "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_2" [label="2: Exit constructor_with_body::X::div \n " color=yellow style=filled] -"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" [label="3: Return Stmt \n n$0=*&this:constructor_with_body::X* [line 19, column 26]\n n$1=*n$0.f:int [line 19, column 26]\n *&return:int=(1 / n$1) [line 19, column 15]\n NULLIFY(&this); [line 19, column 15]\n EXIT_SCOPE(n$0,n$1,this); [line 19, column 15]\n APPLY_ABSTRACTION; [line 19, column 15]\n " shape="box"] +"div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" [label="3: Return Stmt \n n$0=*&this:constructor_with_body::X* [line 19, column 26]\n n$1=*n$0.f:int [line 19, column 26]\n *&return:int=(1 / n$1) [line 19, column 15]\n " shape="box"] "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_3" -> "div#X#constructor_with_body#(13588730973960944321).0be58d73703c72cf5bf8f7e2a36ecf60_2" ; @@ -74,7 +74,7 @@ digraph cfg { "X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_2" [label="2: Exit constructor_with_body::X::X \n " color=yellow style=filled] -"X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_3" [label="3: Call _fun_constructor_with_body::X::init \n n$0=*&this:constructor_with_body::X* [line 15, column 9]\n _=*n$0:constructor_with_body::X [line 15, column 9]\n n$2=_fun_constructor_with_body::X::init(n$0:constructor_with_body::X*) [line 15, column 9]\n NULLIFY(&this); [line 15, column 9]\n EXIT_SCOPE(_,n$0,n$2,this); [line 15, column 9]\n APPLY_ABSTRACTION; [line 15, column 9]\n " shape="box"] +"X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_3" [label="3: Call _fun_constructor_with_body::X::init \n n$0=*&this:constructor_with_body::X* [line 15, column 9]\n _=*n$0:constructor_with_body::X [line 15, column 9]\n n$2=_fun_constructor_with_body::X::init(n$0:constructor_with_body::X*) [line 15, column 9]\n " shape="box"] "X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_3" -> "X#X#constructor_with_body#{16871729092574880817}.54f479ca84639d148c4b988a7530253a_2" ; @@ -85,15 +85,15 @@ digraph cfg { "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_2" [label="2: Exit constructor_with_body::X::X \n " color=yellow style=filled] -"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_with_body::X* [line 25, column 3]\n n$1=*&c:int [line 25, column 7]\n *n$0.f:int=n$1 [line 25, column 3]\n NULLIFY(&c); [line 25, column 3]\n NULLIFY(&this); [line 25, column 3]\n EXIT_SCOPE(n$0,n$1,c,this); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:constructor_with_body::X* [line 25, column 3]\n n$1=*&c:int [line 25, column 7]\n *n$0.f:int=n$1 [line 25, column 3]\n " shape="box"] "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_3" -> "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_2" ; -"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_4" [label="4: Call _fun_constructor_with_body::X::init \n n$2=*&this:constructor_with_body::X* [line 24, column 3]\n _=*n$2:constructor_with_body::X [line 24, column 3]\n n$4=_fun_constructor_with_body::X::init(n$2:constructor_with_body::X*) [line 24, column 3]\n EXIT_SCOPE(_,n$2,n$4); [line 24, column 3]\n " shape="box"] +"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_4" [label="4: Call _fun_constructor_with_body::X::init \n n$2=*&this:constructor_with_body::X* [line 24, column 3]\n _=*n$2:constructor_with_body::X [line 24, column 3]\n n$4=_fun_constructor_with_body::X::init(n$2:constructor_with_body::X*) [line 24, column 3]\n " shape="box"] "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_4" -> "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_3" ; -"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 23, column 3]\n n$5=*&a:int [line 23, column 11]\n n$6=*&b:int [line 23, column 15]\n *&c:int=(n$5 + n$6) [line 23, column 3]\n NULLIFY(&a); [line 23, column 3]\n NULLIFY(&b); [line 23, column 3]\n EXIT_SCOPE(n$5,n$6,a,b); [line 23, column 3]\n " shape="box"] +"X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c:int); [line 23, column 3]\n n$5=*&a:int [line 23, column 11]\n n$6=*&b:int [line 23, column 15]\n *&c:int=(n$5 + n$6) [line 23, column 3]\n " shape="box"] "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_5" -> "X#X#constructor_with_body#{7540788797581315247}.c8826e9323020557160f8002c0b802f2_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_array_field.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_array_field.cpp.dot index c73db332f..4613101d7 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_array_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_array_field.cpp.dot @@ -4,22 +4,22 @@ digraph cfg { "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_1" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_7" ; -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_2" [label="2: Exit copy_array_field::no_npe \n NULLIFY(&x2); [line 26, column 1]\n NULLIFY(&a); [line 26, column 1]\n NULLIFY(&x1); [line 26, column 1]\n " color=yellow style=filled] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_2" [label="2: Exit copy_array_field::no_npe \n " color=yellow style=filled] -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" [label="3: Return Stmt \n n$0=*&x2.p:int* [line 25, column 11]\n n$1=*n$0:int [line 25, column 10]\n *&return:int=n$1 [line 25, column 3]\n EXIT_SCOPE(n$0,n$1,x2); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" [label="3: Return Stmt \n n$0=*&x2.p:int* [line 25, column 11]\n n$1=*n$0:int [line 25, column 10]\n *&return:int=n$1 [line 25, column 3]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_2" ; -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:copy_array_field::X); [line 24, column 3]\n n$2=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 24, column 10]\n EXIT_SCOPE(n$2,x1); [line 24, column 10]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:copy_array_field::X); [line 24, column 3]\n n$2=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 24, column 10]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_3" ; -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" [label="5: BinaryOperatorStmt: Assign \n *&x1.p:int*=&a [line 23, column 3]\n EXIT_SCOPE(a); [line 23, column 3]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" [label="5: BinaryOperatorStmt: Assign \n *&x1.p:int*=&a [line 23, column 3]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_4" ; -"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:copy_array_field::X); [line 22, column 3]\n n$3=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 22, column 5]\n EXIT_SCOPE(n$3); [line 22, column 5]\n " shape="box"] +"no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:copy_array_field::X); [line 22, column 3]\n n$3=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 22, column 5]\n " shape="box"] "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_6" -> "no_npe#copy_array_field#15879390968573954131.8ea76552f08038187f112d283020a67e_5" ; @@ -31,14 +31,14 @@ digraph cfg { "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_1" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" ; -"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_2" [label="2: Exit copy_array_field::npe \n NULLIFY(&x1); [line 18, column 1]\n NULLIFY(&x2); [line 18, column 1]\n " color=yellow style=filled] +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_2" [label="2: Exit copy_array_field::npe \n " color=yellow style=filled] -"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" [label="3: Return Stmt \n n$0=*&x2.p:int* [line 17, column 11]\n n$1=*n$0:int [line 17, column 10]\n *&return:int=n$1 [line 17, column 3]\n EXIT_SCOPE(n$0,n$1,x2); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" [label="3: Return Stmt \n n$0=*&x2.p:int* [line 17, column 11]\n n$1=*n$0:int [line 17, column 10]\n *&return:int=n$1 [line 17, column 3]\n " shape="box"] "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_2" ; -"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:copy_array_field::X); [line 16, column 3]\n n$2=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 16, column 10]\n EXIT_SCOPE(n$2,x1); [line 16, column 10]\n " shape="box"] +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:copy_array_field::X); [line 16, column 3]\n n$2=_fun_copy_array_field::X::X(&x2:copy_array_field::X*,&x1:copy_array_field::X&) [line 16, column 10]\n " shape="box"] "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_3" ; @@ -46,7 +46,7 @@ digraph cfg { "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_5" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_4" ; -"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:copy_array_field::X); [line 14, column 3]\n n$3=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 14, column 5]\n EXIT_SCOPE(n$3); [line 14, column 5]\n " shape="box"] +"npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:copy_array_field::X); [line 14, column 3]\n n$3=_fun_copy_array_field::X::X(&x1:copy_array_field::X*) [line 14, column 5]\n " shape="box"] "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_6" -> "npe#copy_array_field#77301322902488828.946ed5a43ad43585633fa030996f9ad5_5" ; @@ -64,11 +64,11 @@ digraph cfg { "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_2" [label="2: Exit copy_array_field::X::X \n " color=yellow style=filled] -"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" [label="3: Constructor Init \n n$1=*&this:copy_array_field::X* [line 8, column 8]\n *n$1.x:void=n$2 [line 8, column 8]\n NULLIFY(&this); [line 8, column 8]\n EXIT_SCOPE(n$1,n$2,this); [line 8, column 8]\n APPLY_ABSTRACTION; [line 8, column 8]\n " shape="box"] +"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" [label="3: Constructor Init \n n$1=*&this:copy_array_field::X* [line 8, column 8]\n *n$1.x:void=n$2 [line 8, column 8]\n " shape="box"] "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_2" ; -"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_4" [label="4: Constructor Init \n n$3=*&this:copy_array_field::X* [line 8, column 8]\n n$4=*&__param_0:copy_array_field::X const & [line 8, column 8]\n n$5=*n$4.p:int* [line 8, column 8]\n *n$3.p:int*=n$5 [line 8, column 8]\n NULLIFY(&__param_0); [line 8, column 8]\n EXIT_SCOPE(n$3,n$4,n$5,__param_0); [line 8, column 8]\n " shape="box"] +"X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_4" [label="4: Constructor Init \n n$3=*&this:copy_array_field::X* [line 8, column 8]\n n$4=*&__param_0:copy_array_field::X const & [line 8, column 8]\n n$5=*n$4.p:int* [line 8, column 8]\n *n$3.p:int*=n$5 [line 8, column 8]\n " shape="box"] "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_4" -> "X#X#copy_array_field#{17703731918757231564|constexpr}.ab45982a069b7b3a582b1d4796205cce_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot index b29557a11..7fd593b47 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/copy_move_constructor.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_1" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" ; -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_2" [label="2: Exit copy_move_constructor::copyX_div0 \n NULLIFY(&x2); [line 44, column 1]\n NULLIFY(&x1); [line 44, column 1]\n " color=yellow style=filled] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_2" [label="2: Exit copy_move_constructor::copyX_div0 \n " color=yellow style=filled] -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" [label="3: Return Stmt \n n$0=*&x2.f:int [line 43, column 14]\n *&return:int=(1 / n$0) [line 43, column 3]\n _=*&x2:copy_move_constructor::X [line 43, column 17]\n n$2=_fun_copy_move_constructor::X::~X(&x2:copy_move_constructor::X*) injected [line 43, column 17]\n _=*&x1:copy_move_constructor::X [line 43, column 17]\n n$4=_fun_copy_move_constructor::X::~X(&x1:copy_move_constructor::X*) injected [line 43, column 17]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,x1,x2); [line 43, column 17]\n APPLY_ABSTRACTION; [line 43, column 17]\n " shape="box"] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" [label="3: Return Stmt \n n$0=*&x2.f:int [line 43, column 14]\n *&return:int=(1 / n$0) [line 43, column 3]\n _=*&x2:copy_move_constructor::X [line 43, column 17]\n n$2=_fun_copy_move_constructor::X::~X(&x2:copy_move_constructor::X*) injected [line 43, column 17]\n _=*&x1:copy_move_constructor::X [line 43, column 17]\n n$4=_fun_copy_move_constructor::X::~X(&x1:copy_move_constructor::X*) injected [line 43, column 17]\n " shape="box"] "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_2" ; -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:copy_move_constructor::X); [line 42, column 3]\n n$6=_fun_copy_move_constructor::X::X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 42, column 10]\n EXIT_SCOPE(n$6); [line 42, column 10]\n " shape="box"] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x2:copy_move_constructor::X); [line 42, column 3]\n n$6=_fun_copy_move_constructor::X::X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 42, column 10]\n " shape="box"] "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_3" ; @@ -19,7 +19,7 @@ digraph cfg { "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_5" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_4" ; -"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:copy_move_constructor::X); [line 40, column 3]\n n$7=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 40, column 5]\n EXIT_SCOPE(n$7); [line 40, column 5]\n " shape="box"] +"copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:copy_move_constructor::X); [line 40, column 3]\n n$7=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 40, column 5]\n " shape="box"] "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_6" -> "copyX_div0#copy_move_constructor#7555826423954612298.1fd45599e2fc3ce471d7d474aa615bcb_5" ; @@ -27,22 +27,22 @@ digraph cfg { "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_1" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_2" [label="2: Exit copy_move_constructor::copyX_moveX_div1 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 70, column 1]\n NULLIFY(&x1); [line 70, column 1]\n NULLIFY(&x2); [line 70, column 1]\n " color=yellow style=filled] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_2" [label="2: Exit copy_move_constructor::copyX_moveX_div1 \n " color=yellow style=filled] -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" [label="3: Return Stmt \n n$0=*&d1:int [line 69, column 10]\n n$1=*&d2:int [line 69, column 15]\n *&return:int=(n$0 + n$1) [line 69, column 3]\n _=*&x2:copy_move_constructor::X [line 69, column 15]\n n$3=_fun_copy_move_constructor::X::~X(&x2:copy_move_constructor::X*) injected [line 69, column 15]\n _=*&x1:copy_move_constructor::X [line 69, column 15]\n n$5=_fun_copy_move_constructor::X::~X(&x1:copy_move_constructor::X*) injected [line 69, column 15]\n NULLIFY(&d1); [line 69, column 15]\n NULLIFY(&d2); [line 69, column 15]\n EXIT_SCOPE(_,_,n$0,n$1,n$3,n$5,d1,x2,x1,d2); [line 69, column 15]\n APPLY_ABSTRACTION; [line 69, column 15]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" [label="3: Return Stmt \n n$0=*&d1:int [line 69, column 10]\n n$1=*&d2:int [line 69, column 15]\n *&return:int=(n$0 + n$1) [line 69, column 3]\n _=*&x2:copy_move_constructor::X [line 69, column 15]\n n$3=_fun_copy_move_constructor::X::~X(&x2:copy_move_constructor::X*) injected [line 69, column 15]\n _=*&x1:copy_move_constructor::X [line 69, column 15]\n n$5=_fun_copy_move_constructor::X::~X(&x1:copy_move_constructor::X*) injected [line 69, column 15]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_2" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 68, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X); [line 68, column 16]\n n$12=_fun_copy_move_constructor::getX(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X*) assign_last [line 68, column 16]\n n$13=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 68, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X [line 68, column 24]\n n$9=_fun_copy_move_constructor::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X*) injected [line 68, column 24]\n *&d2:int=(1 / n$13) [line 68, column 3]\n EXIT_SCOPE(_,n$9,n$12,n$13,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 68, column 3]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 68, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X); [line 68, column 16]\n n$12=_fun_copy_move_constructor::getX(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X*) assign_last [line 68, column 16]\n n$13=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 68, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X [line 68, column 24]\n n$9=_fun_copy_move_constructor::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::X*) injected [line 68, column 24]\n *&d2:int=(1 / n$13) [line 68, column 3]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_3" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" [label="5: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 67, column 3]\n n$14=*&x2.f:int [line 67, column 16]\n *&d1:int=(1 / n$14) [line 67, column 3]\n EXIT_SCOPE(n$14); [line 67, column 3]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" [label="5: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 67, column 3]\n n$14=*&x2.f:int [line 67, column 16]\n *&d1:int=(1 / n$14) [line 67, column 3]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_4" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2:copy_move_constructor::X); [line 66, column 3]\n n$15=_fun_copy_move_constructor::X::X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 66, column 10]\n EXIT_SCOPE(n$15); [line 66, column 10]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2:copy_move_constructor::X); [line 66, column 3]\n n$15=_fun_copy_move_constructor::X::X(&x2:copy_move_constructor::X*,&x1:copy_move_constructor::X&) [line 66, column 10]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_5" ; @@ -50,7 +50,7 @@ digraph cfg { "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_6" ; -"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x1:copy_move_constructor::X); [line 64, column 3]\n n$16=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 64, column 5]\n EXIT_SCOPE(n$16); [line 64, column 5]\n " shape="box"] +"copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x1:copy_move_constructor::X); [line 64, column 3]\n n$16=_fun_copy_move_constructor::X::X(&x1:copy_move_constructor::X*) [line 64, column 5]\n " shape="box"] "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_8" -> "copyX_moveX_div1#copy_move_constructor#6853813819184662211.00e91897e7d9fcfa93de911bba9a1399_7" ; @@ -58,14 +58,14 @@ digraph cfg { "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_1" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" ; -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_2" [label="2: Exit copy_move_constructor::copyY_div0 \n NULLIFY(&y1); [line 53, column 1]\n NULLIFY(&y2); [line 53, column 1]\n " color=yellow style=filled] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_2" [label="2: Exit copy_move_constructor::copyY_div0 \n " color=yellow style=filled] -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 52, column 14]\n *&return:int=(1 / n$0) [line 52, column 3]\n _=*&y2:copy_move_constructor::Y [line 52, column 17]\n n$2=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 52, column 17]\n _=*&y1:copy_move_constructor::Y [line 52, column 17]\n n$4=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 52, column 17]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,y2,y1); [line 52, column 17]\n APPLY_ABSTRACTION; [line 52, column 17]\n " shape="box"] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 52, column 14]\n *&return:int=(1 / n$0) [line 52, column 3]\n _=*&y2:copy_move_constructor::Y [line 52, column 17]\n n$2=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 52, column 17]\n _=*&y1:copy_move_constructor::Y [line 52, column 17]\n n$4=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 52, column 17]\n " shape="box"] "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_2" ; -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [line 51, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 51, column 10]\n EXIT_SCOPE(n$6); [line 51, column 10]\n " shape="box"] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [line 51, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 51, column 10]\n " shape="box"] "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_3" ; @@ -73,7 +73,7 @@ digraph cfg { "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_5" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_4" ; -"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 49, column 3]\n n$7=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 49, column 5]\n EXIT_SCOPE(n$7); [line 49, column 5]\n " shape="box"] +"copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 49, column 3]\n n$7=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 49, column 5]\n " shape="box"] "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_6" -> "copyY_div0#copy_move_constructor#17079397845524781987.61211209ec1f961073f3adafcd080bfb_5" ; @@ -81,22 +81,22 @@ digraph cfg { "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_1" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_2" [label="2: Exit copy_move_constructor::copyY_moveY_div1 \n NULLIFY(&y2); [line 79, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 79, column 1]\n NULLIFY(&y1); [line 79, column 1]\n " color=yellow style=filled] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_2" [label="2: Exit copy_move_constructor::copyY_moveY_div1 \n " color=yellow style=filled] -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" [label="3: Return Stmt \n n$0=*&d1:int [line 78, column 10]\n n$1=*&d2:int [line 78, column 15]\n *&return:int=(n$0 + n$1) [line 78, column 3]\n _=*&y2:copy_move_constructor::Y [line 78, column 15]\n n$3=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 78, column 15]\n _=*&y1:copy_move_constructor::Y [line 78, column 15]\n n$5=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 78, column 15]\n NULLIFY(&d1); [line 78, column 15]\n NULLIFY(&d2); [line 78, column 15]\n EXIT_SCOPE(_,_,n$0,n$1,n$3,n$5,d1,y1,d2,y2); [line 78, column 15]\n APPLY_ABSTRACTION; [line 78, column 15]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" [label="3: Return Stmt \n n$0=*&d1:int [line 78, column 10]\n n$1=*&d2:int [line 78, column 15]\n *&return:int=(n$0 + n$1) [line 78, column 3]\n _=*&y2:copy_move_constructor::Y [line 78, column 15]\n n$3=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 78, column 15]\n _=*&y1:copy_move_constructor::Y [line 78, column 15]\n n$5=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 78, column 15]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_2" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 77, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y); [line 77, column 16]\n n$12=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) assign_last [line 77, column 16]\n n$13=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 77, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y [line 77, column 24]\n n$9=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) injected [line 77, column 24]\n *&d2:int=(1 / n$13) [line 77, column 3]\n EXIT_SCOPE(_,n$9,n$12,n$13,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 77, column 3]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d2:int); [line 77, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y); [line 77, column 16]\n n$12=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) assign_last [line 77, column 16]\n n$13=*&0$?%__sil_tmpSIL_materialize_temp__n$7.f:int [line 77, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y [line 77, column 24]\n n$9=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) injected [line 77, column 24]\n *&d2:int=(1 / n$13) [line 77, column 3]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_3" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" [label="5: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 76, column 3]\n n$14=*&y2.f:int [line 76, column 16]\n *&d1:int=(1 / n$14) [line 76, column 3]\n EXIT_SCOPE(n$14); [line 76, column 3]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" [label="5: DeclStmt \n VARIABLE_DECLARED(d1:int); [line 76, column 3]\n n$14=*&y2.f:int [line 76, column 16]\n *&d1:int=(1 / n$14) [line 76, column 3]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_4" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [line 75, column 3]\n n$15=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 75, column 10]\n EXIT_SCOPE(n$15); [line 75, column 10]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" [label="6: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [line 75, column 3]\n n$15=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 75, column 10]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_5" ; @@ -104,7 +104,7 @@ digraph cfg { "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_6" ; -"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" [label="8: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 73, column 3]\n n$16=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 73, column 5]\n EXIT_SCOPE(n$16); [line 73, column 5]\n " shape="box"] +"copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" [label="8: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 73, column 3]\n n$16=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*) [line 73, column 5]\n " shape="box"] "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_8" -> "copyY_moveY_div1#copy_move_constructor#5827233588222911615.5716e8b7acbd3ff43f18c7c5954c6565_7" ; @@ -112,18 +112,18 @@ digraph cfg { "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_1" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" ; -"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_2" [label="2: Exit copy_move_constructor::getX \n NULLIFY(&x); [line 31, column 1]\n " color=yellow style=filled] +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_2" [label="2: Exit copy_move_constructor::getX \n " color=yellow style=filled] -"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::X* [line 30, column 3]\n n$1=_fun_copy_move_constructor::X::X(n$0:copy_move_constructor::X*,&x:copy_move_constructor::X&) [line 30, column 10]\n _=*&x:copy_move_constructor::X [line 30, column 10]\n n$3=_fun_copy_move_constructor::X::~X(&x:copy_move_constructor::X*) injected [line 30, column 10]\n NULLIFY(&__return_param); [line 30, column 10]\n EXIT_SCOPE(_,n$0,n$1,n$3,__return_param,x); [line 30, column 10]\n APPLY_ABSTRACTION; [line 30, column 10]\n " shape="box"] +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::X* [line 30, column 3]\n n$1=_fun_copy_move_constructor::X::X(n$0:copy_move_constructor::X*,&x:copy_move_constructor::X&) [line 30, column 10]\n _=*&x:copy_move_constructor::X [line 30, column 10]\n n$3=_fun_copy_move_constructor::X::~X(&x:copy_move_constructor::X*) injected [line 30, column 10]\n " shape="box"] "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_2" ; -"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 29, column 9]\n *&x.f:int=n$5 [line 29, column 3]\n NULLIFY(&f); [line 29, column 3]\n EXIT_SCOPE(n$5,f); [line 29, column 3]\n " shape="box"] +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 29, column 9]\n *&x.f:int=n$5 [line 29, column 3]\n " shape="box"] "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_3" ; -"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:copy_move_constructor::X); [line 28, column 3]\n n$6=_fun_copy_move_constructor::X::X(&x:copy_move_constructor::X*) [line 28, column 5]\n EXIT_SCOPE(n$6); [line 28, column 5]\n " shape="box"] +"getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:copy_move_constructor::X); [line 28, column 3]\n n$6=_fun_copy_move_constructor::X::X(&x:copy_move_constructor::X*) [line 28, column 5]\n " shape="box"] "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_5" -> "getX#copy_move_constructor(class copy_move_constructor::X)#2211685783611424509.3ed1bf77442fb4e47b3afdd1dd669b7a_4" ; @@ -131,18 +131,18 @@ digraph cfg { "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_1" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" ; -"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_2" [label="2: Exit copy_move_constructor::getY \n NULLIFY(&y); [line 37, column 1]\n " color=yellow style=filled] +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_2" [label="2: Exit copy_move_constructor::getY \n " color=yellow style=filled] -"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::Y* [line 36, column 3]\n n$1=_fun_copy_move_constructor::Y::Y(n$0:copy_move_constructor::Y*,&y:copy_move_constructor::Y&) [line 36, column 10]\n _=*&y:copy_move_constructor::Y [line 36, column 10]\n n$3=_fun_copy_move_constructor::Y::~Y(&y:copy_move_constructor::Y*) injected [line 36, column 10]\n NULLIFY(&__return_param); [line 36, column 10]\n EXIT_SCOPE(_,n$0,n$1,n$3,y,__return_param); [line 36, column 10]\n APPLY_ABSTRACTION; [line 36, column 10]\n " shape="box"] +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" [label="3: Return Stmt \n n$0=*&__return_param:copy_move_constructor::Y* [line 36, column 3]\n n$1=_fun_copy_move_constructor::Y::Y(n$0:copy_move_constructor::Y*,&y:copy_move_constructor::Y&) [line 36, column 10]\n _=*&y:copy_move_constructor::Y [line 36, column 10]\n n$3=_fun_copy_move_constructor::Y::~Y(&y:copy_move_constructor::Y*) injected [line 36, column 10]\n " shape="box"] "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_2" ; -"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 35, column 9]\n *&y.f:int=n$5 [line 35, column 3]\n NULLIFY(&f); [line 35, column 3]\n EXIT_SCOPE(n$5,f); [line 35, column 3]\n " shape="box"] +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 35, column 9]\n *&y.f:int=n$5 [line 35, column 3]\n " shape="box"] "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_3" ; -"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:copy_move_constructor::Y); [line 34, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y:copy_move_constructor::Y*) [line 34, column 5]\n EXIT_SCOPE(n$6); [line 34, column 5]\n " shape="box"] +"getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:copy_move_constructor::Y); [line 34, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y:copy_move_constructor::Y*) [line 34, column 5]\n " shape="box"] "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_5" -> "getY#copy_move_constructor(class copy_move_constructor::Y)#1712013823822590270.ad9dd85c67bb69fcd76f4c34bc426f28_4" ; @@ -150,10 +150,10 @@ digraph cfg { "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_1" -> "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" ; -"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_2" [label="2: Exit copy_move_constructor::moveX_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 46, column 42]\n " color=yellow style=filled] +"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_2" [label="2: Exit copy_move_constructor::moveX_div0 \n " color=yellow style=filled] -"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X); [line 46, column 31]\n n$5=_fun_copy_move_constructor::getX(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) assign_last [line 46, column 31]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 46, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X [line 46, column 39]\n n$2=_fun_copy_move_constructor::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) injected [line 46, column 39]\n *&return:int=(1 / n$6) [line 46, column 20]\n EXIT_SCOPE(_,n$2,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 46, column 20]\n APPLY_ABSTRACTION; [line 46, column 20]\n " shape="box"] +"moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X); [line 46, column 31]\n n$5=_fun_copy_move_constructor::getX(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) assign_last [line 46, column 31]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 46, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X [line 46, column 39]\n n$2=_fun_copy_move_constructor::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::X*) injected [line 46, column 39]\n *&return:int=(1 / n$6) [line 46, column 20]\n " shape="box"] "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_3" -> "moveX_div0#copy_move_constructor#2229557375196326562.f23c95e594ab41ba50090dccb989c3e3_2" ; @@ -161,10 +161,10 @@ digraph cfg { "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_1" -> "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" ; -"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_2" [label="2: Exit copy_move_constructor::moveY_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 55, column 42]\n " color=yellow style=filled] +"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_2" [label="2: Exit copy_move_constructor::moveY_div0 \n " color=yellow style=filled] -"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y); [line 55, column 31]\n n$5=_fun_copy_move_constructor::getY(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) assign_last [line 55, column 31]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 55, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y [line 55, column 39]\n n$2=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) injected [line 55, column 39]\n *&return:int=(1 / n$6) [line 55, column 20]\n EXIT_SCOPE(_,n$2,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 55, column 20]\n APPLY_ABSTRACTION; [line 55, column 20]\n " shape="box"] +"moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y); [line 55, column 31]\n n$5=_fun_copy_move_constructor::getY(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) assign_last [line 55, column 31]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 55, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y [line 55, column 39]\n n$2=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$0:copy_move_constructor::Y*) injected [line 55, column 39]\n *&return:int=(1 / n$6) [line 55, column 20]\n " shape="box"] "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_3" -> "moveY_div0#copy_move_constructor#15307842160732522395.eee7693240d3ce27d5c30f34d771cb57_2" ; @@ -172,18 +172,18 @@ digraph cfg { "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_1" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" ; -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_2" [label="2: Exit copy_move_constructor::moveY_moveY_copyY_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 61, column 1]\n NULLIFY(&y2); [line 61, column 1]\n NULLIFY(&y1); [line 61, column 1]\n " color=yellow style=filled] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_2" [label="2: Exit copy_move_constructor::moveY_moveY_copyY_div0 \n " color=yellow style=filled] -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 60, column 14]\n *&return:int=(1 / n$0) [line 60, column 3]\n _=*&y2:copy_move_constructor::Y [line 60, column 17]\n n$2=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 60, column 17]\n _=*&y1:copy_move_constructor::Y [line 60, column 17]\n n$4=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 60, column 17]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,y1,y2); [line 60, column 17]\n APPLY_ABSTRACTION; [line 60, column 17]\n " shape="box"] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" [label="3: Return Stmt \n n$0=*&y2.f:int [line 60, column 14]\n *&return:int=(1 / n$0) [line 60, column 3]\n _=*&y2:copy_move_constructor::Y [line 60, column 17]\n n$2=_fun_copy_move_constructor::Y::~Y(&y2:copy_move_constructor::Y*) injected [line 60, column 17]\n _=*&y1:copy_move_constructor::Y [line 60, column 17]\n n$4=_fun_copy_move_constructor::Y::~Y(&y1:copy_move_constructor::Y*) injected [line 60, column 17]\n " shape="box"] "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_2" ; -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [line 59, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 59, column 10]\n EXIT_SCOPE(n$6); [line 59, column 10]\n " shape="box"] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y2:copy_move_constructor::Y); [line 59, column 3]\n n$6=_fun_copy_move_constructor::Y::Y(&y2:copy_move_constructor::Y*,&y1:copy_move_constructor::Y&) [line 59, column 10]\n " shape="box"] "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_3" ; -"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 58, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const ); [line 58, column 10]\n n$12=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) assign_last [line 58, column 10]\n n$13=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const &) [line 58, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const [line 58, column 16]\n n$9=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const *) injected [line 58, column 16]\n EXIT_SCOPE(_,n$9,n$12,n$13,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 58, column 16]\n " shape="box"] +"moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y1:copy_move_constructor::Y); [line 58, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const ); [line 58, column 10]\n n$12=_fun_copy_move_constructor::getY(2:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y*) assign_last [line 58, column 10]\n n$13=_fun_copy_move_constructor::Y::Y(&y1:copy_move_constructor::Y*,&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const &) [line 58, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const [line 58, column 16]\n n$9=_fun_copy_move_constructor::Y::~Y(&0$?%__sil_tmpSIL_materialize_temp__n$7:copy_move_constructor::Y const *) injected [line 58, column 16]\n " shape="box"] "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_5" -> "moveY_moveY_copyY_div0#copy_move_constructor#11319351724516006746.d5d5d96d98dcf1c634b647be30001d2e_4" ; @@ -194,7 +194,7 @@ digraph cfg { "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_2" [label="2: Exit copy_move_constructor::X::X \n " color=yellow style=filled] -"X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::X* [line 13, column 8]\n n$2=*&__param_0:copy_move_constructor::X& [line 13, column 8]\n n$3=*n$2.f:int [line 13, column 8]\n *n$1.f:int=n$3 [line 13, column 8]\n NULLIFY(&this); [line 13, column 8]\n NULLIFY(&__param_0); [line 13, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 13, column 8]\n APPLY_ABSTRACTION; [line 13, column 8]\n " shape="box"] +"X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::X* [line 13, column 8]\n n$2=*&__param_0:copy_move_constructor::X& [line 13, column 8]\n n$3=*n$2.f:int [line 13, column 8]\n *n$1.f:int=n$3 [line 13, column 8]\n " shape="box"] "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_3" -> "X#X#copy_move_constructor#{10174102600918728520|constexpr}.7f1f4443383b6eabdf400de956c7f6af_2" ; @@ -212,7 +212,7 @@ digraph cfg { "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_2" [label="2: Exit copy_move_constructor::X::X \n " color=yellow style=filled] -"X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::X* [line 13, column 8]\n n$2=*&__param_0:copy_move_constructor::X const & [line 13, column 8]\n n$3=*n$2.f:int [line 13, column 8]\n *n$1.f:int=n$3 [line 13, column 8]\n NULLIFY(&this); [line 13, column 8]\n NULLIFY(&__param_0); [line 13, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 13, column 8]\n APPLY_ABSTRACTION; [line 13, column 8]\n " shape="box"] +"X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::X* [line 13, column 8]\n n$2=*&__param_0:copy_move_constructor::X const & [line 13, column 8]\n n$3=*n$2.f:int [line 13, column 8]\n *n$1.f:int=n$3 [line 13, column 8]\n " shape="box"] "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_3" -> "X#X#copy_move_constructor#{11461885598838954204|constexpr}.8b245330f9990df6f1e3d0622b3e7433_2" ; @@ -230,7 +230,7 @@ digraph cfg { "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_2" [label="2: Exit copy_move_constructor::Y::Y \n " color=yellow style=filled] -"Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::Y* [line 24, column 20]\n n$2=*&y:copy_move_constructor::Y const & [line 24, column 22]\n n$3=*n$2.f:int [line 24, column 22]\n *n$1.f:int=(n$3 - 1) [line 24, column 20]\n NULLIFY(&y); [line 24, column 20]\n NULLIFY(&this); [line 24, column 20]\n EXIT_SCOPE(n$1,n$2,n$3,y,this); [line 24, column 20]\n APPLY_ABSTRACTION; [line 24, column 20]\n " shape="box"] +"Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::Y* [line 24, column 20]\n n$2=*&y:copy_move_constructor::Y const & [line 24, column 22]\n n$3=*n$2.f:int [line 24, column 22]\n *n$1.f:int=(n$3 - 1) [line 24, column 20]\n " shape="box"] "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_3" -> "Y#Y#copy_move_constructor#{18272181401462210540}.6215678d929da0a4d67ea5f3b952308e_2" ; @@ -241,7 +241,7 @@ digraph cfg { "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_2" [label="2: Exit copy_move_constructor::Y::Y \n " color=yellow style=filled] -"Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::Y* [line 22, column 3]\n n$2=*&y:copy_move_constructor::Y const & [line 22, column 3]\n n$3=*n$2.f:int [line 22, column 3]\n *n$1.f:int=n$3 [line 22, column 3]\n NULLIFY(&y); [line 22, column 3]\n NULLIFY(&this); [line 22, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,y,this); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_3" [label="3: Constructor Init \n n$1=*&this:copy_move_constructor::Y* [line 22, column 3]\n n$2=*&y:copy_move_constructor::Y const & [line 22, column 3]\n n$3=*n$2.f:int [line 22, column 3]\n *n$1.f:int=n$3 [line 22, column 3]\n " shape="box"] "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_3" -> "Y#Y#copy_move_constructor#{2644368372854768795|constexpr}.992ebae8b36e68c2e1b5e338a4c29705_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot index f1f2c5c29..7498cbec1 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/default_field_init.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&y); [line 23, column 20]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(y:Y); [line 23, column 15]\n n$0=_fun_Y::Y(&y:Y*) [line 23, column 17]\n EXIT_SCOPE(n$0,y); [line 23, column 17]\n APPLY_ABSTRACTION; [line 23, column 17]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(y:Y); [line 23, column 15]\n n$0=_fun_Y::Y(&y:Y*) [line 23, column 17]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; @@ -18,15 +18,15 @@ digraph cfg { "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" [label="2: Exit X::X \n " color=yellow style=filled] -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" [label="3: Constructor Init \n n$1=*&this:X* [line 11, column 8]\n *n$1.c:int=0 [line 11, column 8]\n NULLIFY(&this); [line 11, column 8]\n EXIT_SCOPE(n$1,this); [line 11, column 8]\n APPLY_ABSTRACTION; [line 11, column 8]\n " shape="box"] +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" [label="3: Constructor Init \n n$1=*&this:X* [line 11, column 8]\n *n$1.c:int=0 [line 11, column 8]\n " shape="box"] "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_2" ; -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" [label="4: Constructor Init \n n$2=*&this:X* [line 10, column 8]\n *n$2.b:int=-2 [line 10, column 8]\n EXIT_SCOPE(n$2); [line 10, column 8]\n " shape="box"] +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" [label="4: Constructor Init \n n$2=*&this:X* [line 10, column 8]\n *n$2.b:int=-2 [line 10, column 8]\n " shape="box"] "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_3" ; -"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_5" [label="5: Constructor Init \n n$3=*&this:X* [line 14, column 21]\n n$4=*&a:int [line 14, column 23]\n n$5=*&b:int [line 14, column 27]\n *n$3.a:int=(n$4 + n$5) [line 14, column 21]\n NULLIFY(&a); [line 14, column 21]\n NULLIFY(&b); [line 14, column 21]\n EXIT_SCOPE(n$3,n$4,n$5,a,b); [line 14, column 21]\n " shape="box"] +"X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_5" [label="5: Constructor Init \n n$3=*&this:X* [line 14, column 21]\n n$4=*&a:int [line 14, column 23]\n n$5=*&b:int [line 14, column 27]\n *n$3.a:int=(n$4 + n$5) [line 14, column 21]\n " shape="box"] "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_5" -> "X#X#{14939599560045044604}.b28c8e2a1dd7783932fc838d8413f387_4" ; @@ -37,15 +37,15 @@ digraph cfg { "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" [label="2: Exit X::X \n " color=yellow style=filled] -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" [label="3: Constructor Init \n n$1=*&this:X* [line 11, column 8]\n *n$1.c:int=0 [line 11, column 8]\n NULLIFY(&this); [line 11, column 8]\n EXIT_SCOPE(n$1,this); [line 11, column 8]\n APPLY_ABSTRACTION; [line 11, column 8]\n " shape="box"] +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" [label="3: Constructor Init \n n$1=*&this:X* [line 11, column 8]\n *n$1.c:int=0 [line 11, column 8]\n " shape="box"] "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_2" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" [label="4: Constructor Init \n n$2=*&this:X* [line 10, column 8]\n *n$2.b:int=-2 [line 10, column 8]\n EXIT_SCOPE(n$2); [line 10, column 8]\n " shape="box"] +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" [label="4: Constructor Init \n n$2=*&this:X* [line 10, column 8]\n *n$2.b:int=-2 [line 10, column 8]\n " shape="box"] "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_3" ; -"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_5" [label="5: Constructor Init \n n$3=*&this:X* [line 9, column 11]\n *n$3.a:int=-1 [line 9, column 11]\n EXIT_SCOPE(n$3); [line 9, column 11]\n " shape="box"] +"X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_5" [label="5: Constructor Init \n n$3=*&this:X* [line 9, column 11]\n *n$3.a:int=-1 [line 9, column 11]\n " shape="box"] "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_5" -> "X#X#{4951618003533511344}.a6c75b361b5e04dddb518f7e116a9ca2_4" ; @@ -56,15 +56,15 @@ digraph cfg { "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_2" [label="2: Exit Y::Y \n " color=yellow style=filled] -"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" [label="3: Constructor Init \n n$1=*&this:Y* [line 17, column 8]\n n$2=_fun_X::X(n$1.x3:X*) [line 17, column 8]\n NULLIFY(&this); [line 17, column 8]\n EXIT_SCOPE(n$1,n$2,this); [line 17, column 8]\n APPLY_ABSTRACTION; [line 17, column 8]\n " shape="box"] +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" [label="3: Constructor Init \n n$1=*&this:Y* [line 17, column 8]\n n$2=_fun_X::X(n$1.x3:X*) [line 17, column 8]\n " shape="box"] "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_2" ; -"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" [label="4: Constructor Init \n n$3=*&this:Y* [line 19, column 7]\n n$4=_fun_X::X(n$3.x2:X*) [line 19, column 7]\n EXIT_SCOPE(n$3,n$4); [line 19, column 7]\n " shape="box"] +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" [label="4: Constructor Init \n n$3=*&this:Y* [line 19, column 7]\n n$4=_fun_X::X(n$3.x2:X*) [line 19, column 7]\n " shape="box"] "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_3" ; -"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" [label="5: Constructor Init \n n$5=*&this:Y* [line 18, column 7]\n n$6=_fun_X::X(n$5.x1:X*,1:int,2:int) [line 18, column 7]\n EXIT_SCOPE(n$5,n$6); [line 18, column 7]\n " shape="box"] +"Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" [label="5: Constructor Init \n n$5=*&this:Y* [line 18, column 7]\n n$6=_fun_X::X(n$5.x1:X*,1:int,2:int) [line 18, column 7]\n " shape="box"] "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_5" -> "Y#Y#{14898916407379161639}.007f922d3b4cc65335a37959ae6b89f8_4" ; 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 360ca0207..b089cc33e 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 @@ -4,10 +4,10 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&x); [line 22, column 37]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(x:X); [line 22, column 14]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:int const [5*4] const ); [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[0]:int=1 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[1]:int=2 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[2]:int=3 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[3]:int=4 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[4]:int=5 [line 22, column 20]\n n$1=_fun___infer_skip_function(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const [5*4] const ) [line 22, column 20]\n n$2=_fun_X::X(&x:X*,n$1:std::initializer_list) [line 22, column 20]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 22, column 20]\n EXIT_SCOPE(n$1,n$2,x,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 22, column 20]\n APPLY_ABSTRACTION; [line 22, column 20]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(x:X); [line 22, column 14]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:int const [5*4] const ); [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[0]:int=1 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[1]:int=2 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[2]:int=3 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[3]:int=4 [line 22, column 20]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[4]:int=5 [line 22, column 20]\n n$1=_fun___infer_skip_function(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const [5*4] const ) [line 22, column 20]\n n$2=_fun_X::X(&x:X*,n$1:std::initializer_list) [line 22, column 20]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -22,28 +22,28 @@ digraph cfg { "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_3" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int const *); [line 13, column 10]\n n$0=*&list:std::initializer_list& [line 13, column 19]\n _=*n$0:std::initializer_list [line 13, column 19]\n n$2=_fun_std::initializer_list::begin(n$0:std::initializer_list&) [line 13, column 19]\n *&i:int const *=n$2 [line 13, column 10]\n EXIT_SCOPE(_,n$0,n$2); [line 13, column 10]\n APPLY_ABSTRACTION; [line 13, column 10]\n " shape="box"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int const *); [line 13, column 10]\n n$0=*&list:std::initializer_list& [line 13, column 19]\n _=*n$0:std::initializer_list [line 13, column 19]\n n$2=_fun_std::initializer_list::begin(n$0:std::initializer_list&) [line 13, column 19]\n *&i:int const *=n$2 [line 13, column 10]\n " shape="box"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_4" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_3" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_5" [label="5: UnaryOperator \n n$3=*&i:int const * [line 13, column 50]\n *&i:int const *=(n$3 + 1) [line 13, column 50]\n EXIT_SCOPE(n$3); [line 13, column 50]\n APPLY_ABSTRACTION; [line 13, column 50]\n " shape="box"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_5" [label="5: UnaryOperator \n n$3=*&i:int const * [line 13, column 50]\n *&i:int const *=(n$3 + 1) [line 13, column 50]\n " shape="box"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_5" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_3" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" [label="6: BinaryOperatorStmt: NE \n n$4=*&i:int const * [line 13, column 33]\n n$5=*&list:std::initializer_list& [line 13, column 38]\n _=*n$5:std::initializer_list [line 13, column 38]\n n$7=_fun_std::initializer_list::end(n$5:std::initializer_list&) [line 13, column 38]\n EXIT_SCOPE(_,n$5); [line 13, column 38]\n " shape="box"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_6" [label="6: BinaryOperatorStmt: NE \n n$4=*&i:int const * [line 13, column 33]\n n$5=*&list:std::initializer_list& [line 13, column 38]\n _=*n$5:std::initializer_list [line 13, column 38]\n n$7=_fun_std::initializer_list::end(n$5:std::initializer_list&) [line 13, column 38]\n " shape="box"] "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, for loop) \n PRUNE((n$4 != n$7), true); [line 13, column 33]\n EXIT_SCOPE(n$4,n$7); [line 13, 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 13, 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, for loop) \n PRUNE(!(n$4 != n$7), false); [line 13, column 33]\n NULLIFY(&i); [line 13, column 33]\n EXIT_SCOPE(n$4,n$7,i); [line 13, column 33]\n APPLY_ABSTRACTION; [line 13, 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 13, column 33]\n " shape="invhouse"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_8" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_2" ; -"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_9" [label="9: BinaryOperatorStmt: Assign \n n$8=*&this:X* [line 14, column 7]\n n$9=*&this:X* [line 14, column 13]\n n$10=*n$9.sum:int [line 14, column 13]\n n$11=*&i:int const * [line 14, column 20]\n n$12=*n$11:int [line 14, column 19]\n *n$8.sum:int=(n$10 + n$12) [line 14, column 7]\n EXIT_SCOPE(n$8,n$9,n$10,n$11,n$12); [line 14, column 7]\n " shape="box"] +"X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_9" [label="9: BinaryOperatorStmt: Assign \n n$8=*&this:X* [line 14, column 7]\n n$9=*&this:X* [line 14, column 13]\n n$10=*n$9.sum:int [line 14, column 13]\n n$11=*&i:int const * [line 14, column 20]\n n$12=*n$11:int [line 14, column 19]\n *n$8.sum:int=(n$10 + n$12) [line 14, column 7]\n " shape="box"] "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_9" -> "X#X#{15236476731743367432}.ce83f097b510e48ce3d42aa5df1bb3be_5" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot index 1ed9325a1..2256b418e 100644 --- a/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/constructors/temp_object.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_1" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" ; -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_2" [label="2: Exit temp_object::assign_temp_div0 \n NULLIFY(&x); [line 29, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 29, column 1]\n " color=yellow style=filled] +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_2" [label="2: Exit temp_object::assign_temp_div0 \n " color=yellow style=filled] -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" [label="3: Return Stmt \n _=*&x:temp_object::X [line 28, column 10]\n n$1=_fun_temp_object::X::div(&x:temp_object::X&) [line 28, column 10]\n *&return:int=n$1 [line 28, column 3]\n _=*&x:temp_object::X [line 28, column 16]\n n$3=_fun_temp_object::X::~X(&x:temp_object::X*) injected [line 28, column 16]\n EXIT_SCOPE(_,_,n$1,n$3,x); [line 28, column 16]\n APPLY_ABSTRACTION; [line 28, column 16]\n " shape="box"] +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" [label="3: Return Stmt \n _=*&x:temp_object::X [line 28, column 10]\n n$1=_fun_temp_object::X::div(&x:temp_object::X&) [line 28, column 10]\n *&return:int=n$1 [line 28, column 3]\n _=*&x:temp_object::X [line 28, column 16]\n n$3=_fun_temp_object::X::~X(&x:temp_object::X*) injected [line 28, column 16]\n " shape="box"] "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_2" ; -"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:temp_object::X); [line 27, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const ); [line 27, column 9]\n n$9=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const *,0:int,1:int) [line 27, column 9]\n n$10=_fun_temp_object::X::X(&x:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const &) [line 27, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const [line 27, column 15]\n n$7=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const *) injected [line 27, column 15]\n EXIT_SCOPE(_,n$7,n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 27, column 15]\n " shape="box"] +"assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:temp_object::X); [line 27, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const ); [line 27, column 9]\n n$9=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const *,0:int,1:int) [line 27, column 9]\n n$10=_fun_temp_object::X::X(&x:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const &) [line 27, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const [line 27, column 15]\n n$7=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$5:temp_object::X const *) injected [line 27, column 15]\n " shape="box"] "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_4" -> "assign_temp_div0#temp_object#6618523570396537240.fa2055065ca23850cee50c855993cd3a_3" ; @@ -22,7 +22,7 @@ digraph cfg { "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_2" [label="2: Exit temp_object::div \n " color=yellow style=filled] -"div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_3" [label="3: Return Stmt \n n$0=*&f:int [line 19, column 29]\n *&return:int=(1 / n$0) [line 19, column 18]\n NULLIFY(&f); [line 19, column 18]\n EXIT_SCOPE(n$0,f); [line 19, column 18]\n APPLY_ABSTRACTION; [line 19, column 18]\n " shape="box"] +"div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_3" [label="3: Return Stmt \n n$0=*&f:int [line 19, column 29]\n *&return:int=(1 / n$0) [line 19, column 18]\n " shape="box"] "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_3" -> "div#temp_object#8235742009211935218.2061ea7bd543a21042cf00f2dbeefd91_2" ; @@ -30,10 +30,10 @@ digraph cfg { "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_1" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" ; -"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_2" [label="2: Exit temp_object::getX \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 24, column 40]\n " color=yellow style=filled] +"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_2" [label="2: Exit temp_object::getX \n " color=yellow style=filled] -"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" [label="3: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 24, column 24]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const ); [line 24, column 31]\n n$5=*&a:int [line 24, column 33]\n n$6=*&b:int [line 24, column 36]\n n$7=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *,n$5:int,n$6:int) [line 24, column 31]\n n$8=_fun_temp_object::X::X(n$0:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const &) [line 24, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const [line 24, column 37]\n n$3=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *) injected [line 24, column 37]\n NULLIFY(&a); [line 24, column 37]\n NULLIFY(&b); [line 24, column 37]\n NULLIFY(&__return_param); [line 24, column 37]\n EXIT_SCOPE(_,n$0,n$3,n$5,n$6,n$7,n$8,a,b,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 24, column 37]\n APPLY_ABSTRACTION; [line 24, column 37]\n " shape="box"] +"getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" [label="3: Return Stmt \n n$0=*&__return_param:temp_object::X* [line 24, column 24]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const ); [line 24, column 31]\n n$5=*&a:int [line 24, column 33]\n n$6=*&b:int [line 24, column 36]\n n$7=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *,n$5:int,n$6:int) [line 24, column 31]\n n$8=_fun_temp_object::X::X(n$0:temp_object::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const &) [line 24, column 31]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const [line 24, column 37]\n n$3=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:temp_object::X const *) injected [line 24, column 37]\n " shape="box"] "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_3" -> "getX#temp_object(class temp_object::X)#4720444219866178245.c6d7bacbd2aa751dffef569ff17890e7_2" ; @@ -41,10 +41,10 @@ digraph cfg { "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_1" -> "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" ; -"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_2" [label="2: Exit temp_object::getX_field_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 37, column 51]\n " color=yellow style=filled] +"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_2" [label="2: Exit temp_object::getX_field_div0 \n " color=yellow style=filled] -"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 37, column 36]\n n$5=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 37, column 36]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 37, column 36]\n n$7=_fun_temp_object::div(n$6:int) [line 37, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 37, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 37, column 48]\n *&return:int=n$7 [line 37, column 25]\n EXIT_SCOPE(_,n$2,n$5,n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 37, column 25]\n APPLY_ABSTRACTION; [line 37, column 25]\n " shape="box"] +"getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 37, column 36]\n n$5=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 37, column 36]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 37, column 36]\n n$7=_fun_temp_object::div(n$6:int) [line 37, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 37, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 37, column 48]\n *&return:int=n$7 [line 37, column 25]\n " shape="box"] "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_3" -> "getX_field_div0#temp_object#12698122843139253036.854c4a3940ca05110785248e1303db49_2" ; @@ -52,10 +52,10 @@ digraph cfg { "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_1" -> "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" ; -"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_2" [label="2: Exit temp_object::getX_field_div1 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 43, column 51]\n " color=yellow style=filled] +"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_2" [label="2: Exit temp_object::getX_field_div1 \n " color=yellow style=filled] -"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 43, column 36]\n n$5=_fun_temp_object::getX(1:int,0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 43, column 36]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 43, column 36]\n n$7=_fun_temp_object::div(n$6:int) [line 43, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 43, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 43, column 48]\n *&return:int=n$7 [line 43, column 25]\n EXIT_SCOPE(_,n$2,n$5,n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 43, column 25]\n APPLY_ABSTRACTION; [line 43, column 25]\n " shape="box"] +"getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 43, column 36]\n n$5=_fun_temp_object::getX(1:int,0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 43, column 36]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 43, column 36]\n n$7=_fun_temp_object::div(n$6:int) [line 43, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 43, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 43, column 48]\n *&return:int=n$7 [line 43, column 25]\n " shape="box"] "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_3" -> "getX_field_div1#temp_object#11953596240866039963.ee557e5aaabf95f2c8b1284adfc7249e_2" ; @@ -63,10 +63,10 @@ digraph cfg { "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_1" -> "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" ; -"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_2" [label="2: Exit temp_object::getX_method_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 39, column 51]\n " color=yellow style=filled] +"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_2" [label="2: Exit temp_object::getX_method_div0 \n " color=yellow style=filled] -"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 39, column 33]\n n$5=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 39, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 33]\n n$7=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 39, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 39, column 48]\n *&return:int=n$7 [line 39, column 26]\n EXIT_SCOPE(_,_,n$2,n$5,n$7,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 39, column 26]\n APPLY_ABSTRACTION; [line 39, column 26]\n " shape="box"] +"getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 39, column 33]\n n$5=_fun_temp_object::getX(0:int,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) assign_last [line 39, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 33]\n n$7=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 39, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 39, column 48]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 39, column 48]\n *&return:int=n$7 [line 39, column 26]\n " shape="box"] "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_3" -> "getX_method_div0#temp_object#10654710522454889600.9c743f651914acdd07ad2c70becfd89c_2" ; @@ -74,10 +74,10 @@ digraph cfg { "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_1" -> "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" ; -"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_2" [label="2: Exit temp_object::temp_field2_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 33, column 46]\n " color=yellow style=filled] +"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_2" [label="2: Exit temp_object::temp_field2_div0 \n " color=yellow style=filled] -"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 33, column 37]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int) [line 33, column 37]\n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 33, column 37]\n n$6=_fun_temp_object::div(n$5:int) [line 33, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 33, column 43]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 33, column 43]\n *&return:int=n$6 [line 33, column 26]\n EXIT_SCOPE(_,n$2,n$4,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 33, column 26]\n APPLY_ABSTRACTION; [line 33, column 26]\n " shape="box"] +"temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 33, column 37]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int) [line 33, column 37]\n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 33, column 37]\n n$6=_fun_temp_object::div(n$5:int) [line 33, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 33, column 43]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 33, column 43]\n *&return:int=n$6 [line 33, column 26]\n " shape="box"] "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_3" -> "temp_field2_div0#temp_object#17763200808338657027.dd874be310bbf8e78129b073d73ad49f_2" ; @@ -85,10 +85,10 @@ digraph cfg { "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_1" -> "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" ; -"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_2" [label="2: Exit temp_object::temp_field_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 31, column 48]\n " color=yellow style=filled] +"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_2" [label="2: Exit temp_object::temp_field_div0 \n " color=yellow style=filled] -"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 31, column 36]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 31, column 36]\n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 31, column 36]\n n$6=_fun_temp_object::div(n$5:int) [line 31, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 31, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 31, column 45]\n *&return:int=n$6 [line 31, column 25]\n EXIT_SCOPE(_,n$2,n$4,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 31, column 25]\n APPLY_ABSTRACTION; [line 31, column 25]\n " shape="box"] +"temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 31, column 36]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 31, column 36]\n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 31, column 36]\n n$6=_fun_temp_object::div(n$5:int) [line 31, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 31, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 31, column 45]\n *&return:int=n$6 [line 31, column 25]\n " shape="box"] "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_3" -> "temp_field_div0#temp_object#15412040659245592666.f5d0fb2d0c8f868e114b6379ad654aef_2" ; @@ -96,10 +96,10 @@ digraph cfg { "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_1" -> "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" ; -"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_2" [label="2: Exit temp_object::temp_field_div1 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 41, column 48]\n " color=yellow style=filled] +"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_2" [label="2: Exit temp_object::temp_field_div1 \n " color=yellow style=filled] -"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 41, column 36]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,1:int,0:int) [line 41, column 36]\n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 41, column 36]\n n$6=_fun_temp_object::div(n$5:int) [line 41, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 41, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 41, column 45]\n *&return:int=n$6 [line 41, column 25]\n EXIT_SCOPE(_,n$2,n$4,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 41, column 25]\n APPLY_ABSTRACTION; [line 41, column 25]\n " shape="box"] +"temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 41, column 36]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,1:int,0:int) [line 41, column 36]\n n$5=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 41, column 36]\n n$6=_fun_temp_object::div(n$5:int) [line 41, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 41, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 41, column 45]\n *&return:int=n$6 [line 41, column 25]\n " shape="box"] "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_3" -> "temp_field_div1#temp_object#14919979518945721169.463c8bf1b85b2fefc9473e70e135e02d_2" ; @@ -107,10 +107,10 @@ digraph cfg { "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_1" -> "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" ; -"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_2" [label="2: Exit temp_object::temp_method_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 48]\n " color=yellow style=filled] +"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_2" [label="2: Exit temp_object::temp_method_div0 \n " color=yellow style=filled] -"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 35, column 33]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 35, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 33]\n n$6=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 35, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 35, column 45]\n *&return:int=n$6 [line 35, column 26]\n EXIT_SCOPE(_,_,n$2,n$4,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 26]\n APPLY_ABSTRACTION; [line 35, column 26]\n " shape="box"] +"temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X); [line 35, column 33]\n n$4=_fun_temp_object::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*,0:int,1:int) [line 35, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 33]\n n$6=_fun_temp_object::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X&) [line 35, column 33]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X [line 35, column 45]\n n$2=_fun_temp_object::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:temp_object::X*) injected [line 35, column 45]\n *&return:int=n$6 [line 35, column 26]\n " shape="box"] "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_3" -> "temp_method_div0#temp_object#17009651611825801298.b27a48cdb872e8bc72f1181813e5d666_2" ; @@ -121,7 +121,7 @@ digraph cfg { "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_2" [label="2: Exit temp_object::X::div \n " color=yellow style=filled] -"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" [label="3: Return Stmt \n n$0=*&this:temp_object::X* [line 16, column 26]\n n$1=*n$0.f:int [line 16, column 26]\n *&return:int=(1 / n$1) [line 16, column 15]\n NULLIFY(&this); [line 16, column 15]\n EXIT_SCOPE(n$0,n$1,this); [line 16, column 15]\n APPLY_ABSTRACTION; [line 16, column 15]\n " shape="box"] +"div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" [label="3: Return Stmt \n n$0=*&this:temp_object::X* [line 16, column 26]\n n$1=*n$0.f:int [line 16, column 26]\n *&return:int=(1 / n$1) [line 16, column 15]\n " shape="box"] "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_3" -> "div#X#temp_object#(12460299690567563818).008eb806654973dcd60bef3460e7ab63_2" ; @@ -132,7 +132,7 @@ digraph cfg { "X#X#temp_object#{5376484276992466061}.a1cfaf9ee9d8c713d3d1751acbb77f32_2" [label="2: Exit temp_object::X::X \n " color=yellow style=filled] -"X#X#temp_object#{5376484276992466061}.a1cfaf9ee9d8c713d3d1751acbb77f32_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:temp_object::X* [line 14, column 19]\n n$1=*&x:temp_object::X const & [line 14, column 23]\n n$2=*n$1.f:int [line 14, column 23]\n *n$0.f:int=n$2 [line 14, column 19]\n NULLIFY(&x); [line 14, column 19]\n NULLIFY(&this); [line 14, column 19]\n EXIT_SCOPE(n$0,n$1,n$2,x,this); [line 14, column 19]\n APPLY_ABSTRACTION; [line 14, column 19]\n " shape="box"] +"X#X#temp_object#{5376484276992466061}.a1cfaf9ee9d8c713d3d1751acbb77f32_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:temp_object::X* [line 14, column 19]\n n$1=*&x:temp_object::X const & [line 14, column 23]\n n$2=*n$1.f:int [line 14, column 23]\n *n$0.f:int=n$2 [line 14, column 19]\n " shape="box"] "X#X#temp_object#{5376484276992466061}.a1cfaf9ee9d8c713d3d1751acbb77f32_3" -> "X#X#temp_object#{5376484276992466061}.a1cfaf9ee9d8c713d3d1751acbb77f32_2" ; @@ -143,7 +143,7 @@ digraph cfg { "X#X#temp_object#{8598480124712426466}.7071c692af425a15518693ebe50ba781_2" [label="2: Exit temp_object::X::X \n " color=yellow style=filled] -"X#X#temp_object#{8598480124712426466}.7071c692af425a15518693ebe50ba781_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:temp_object::X* [line 12, column 21]\n n$1=*&a:int [line 12, column 25]\n *n$0.f:int=n$1 [line 12, column 21]\n NULLIFY(&a); [line 12, column 21]\n NULLIFY(&this); [line 12, column 21]\n EXIT_SCOPE(n$0,n$1,a,this); [line 12, column 21]\n APPLY_ABSTRACTION; [line 12, column 21]\n " shape="box"] +"X#X#temp_object#{8598480124712426466}.7071c692af425a15518693ebe50ba781_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:temp_object::X* [line 12, column 21]\n n$1=*&a:int [line 12, column 25]\n *n$0.f:int=n$1 [line 12, column 21]\n " shape="box"] "X#X#temp_object#{8598480124712426466}.7071c692af425a15518693ebe50ba781_3" -> "X#X#temp_object#{8598480124712426466}.7071c692af425a15518693ebe50ba781_2" ; @@ -154,7 +154,7 @@ digraph cfg { "X#X#temp_object#{9561113765655638015}.59d66724d587fdb6aca1a26e1f705f23_2" [label="2: Exit temp_object::X::X \n " color=yellow style=filled] -"X#X#temp_object#{9561113765655638015}.59d66724d587fdb6aca1a26e1f705f23_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:temp_object::X* [line 11, column 14]\n n$1=*&a:int [line 11, column 18]\n *n$0.f:int=n$1 [line 11, column 14]\n NULLIFY(&a); [line 11, column 14]\n NULLIFY(&this); [line 11, column 14]\n EXIT_SCOPE(n$0,n$1,a,this); [line 11, column 14]\n APPLY_ABSTRACTION; [line 11, column 14]\n " shape="box"] +"X#X#temp_object#{9561113765655638015}.59d66724d587fdb6aca1a26e1f705f23_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:temp_object::X* [line 11, column 14]\n n$1=*&a:int [line 11, column 18]\n *n$0.f:int=n$1 [line 11, column 14]\n " shape="box"] "X#X#temp_object#{9561113765655638015}.59d66724d587fdb6aca1a26e1f705f23_3" -> "X#X#temp_object#{9561113765655638015}.59d66724d587fdb6aca1a26e1f705f23_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot index ed0f3455b..2997ebdcf 100644 --- a/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/exceptions/Exceptions.cpp.dot @@ -4,27 +4,27 @@ digraph cfg { "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_1" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" ; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_2" [label="2: Exit FN_deref_null_after_catch_bad \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 53, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$6); [line 53, column 1]\n " color=yellow style=filled] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_2" [label="2: Exit FN_deref_null_after_catch_bad \n " color=yellow style=filled] -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" [label="3: Return Stmt \n n$0=*&i:int* [line 52, column 11]\n n$1=*n$0:int [line 52, column 10]\n *&return:int=n$1 [line 52, column 3]\n NULLIFY(&i); [line 52, column 3]\n EXIT_SCOPE(n$0,n$1,i); [line 52, column 3]\n APPLY_ABSTRACTION; [line 52, column 3]\n " shape="box"] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" [label="3: Return Stmt \n n$0=*&i:int* [line 52, column 11]\n n$1=*n$0:int [line 52, column 10]\n *&return:int=n$1 [line 52, column 3]\n " shape="box"] "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_2" ; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const [line 48, column 37]\n n$4=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *) injected virtual [line 48, column 37]\n EXIT_SCOPE(_,n$4,0$?%__sil_tmpSIL_materialize_temp__n$2); [line 48, column 37]\n APPLY_ABSTRACTION; [line 48, column 37]\n " shape="box"] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const [line 48, column 37]\n n$4=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *) injected virtual [line 48, column 37]\n " shape="box"] "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" ; "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_7" [color="red" ]; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" [label="5: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ); [line 48, column 11]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"error\":char const *) [line 48, column 11]\n n$8=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 48, column 11]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error) [line 48, column 5]\n EXIT_SCOPE(n$7,n$8,n$9); [line 48, column 5]\n " shape="box"] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" [label="5: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ); [line 48, column 11]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"error\":char const *) [line 48, column 11]\n n$8=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 48, column 11]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error) [line 48, column 5]\n " shape="box"] "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_4" ; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" [label="6: BinaryOperatorStmt: Assign \n n$10=*&i:int* [line 47, column 6]\n *n$10:int=2 [line 47, column 5]\n EXIT_SCOPE(n$10); [line 47, column 5]\n " shape="box"] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" [label="6: BinaryOperatorStmt: Assign \n n$10=*&i:int* [line 47, column 6]\n *n$10:int=2 [line 47, column 5]\n " shape="box"] "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_6" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_5" ; -"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_7" [label="7: BinaryOperatorStmt: Assign \n *&i:int*=null [line 50, column 5]\n APPLY_ABSTRACTION; [line 50, column 5]\n " shape="box"] +"FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_7" [label="7: BinaryOperatorStmt: Assign \n *&i:int*=null [line 50, column 5]\n " shape="box"] "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_7" -> "FN_deref_null_after_catch_bad#4627123003703707696.43441e3badf1bb571cbe770f9d51a51c_3" ; @@ -32,23 +32,23 @@ digraph cfg { "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_1" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_7" ; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" [label="2: Exit FN_deref_null_in_catch_bad \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 43, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$4); [line 43, column 1]\n " color=yellow style=filled] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" [label="2: Exit FN_deref_null_in_catch_bad \n " color=yellow style=filled] -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_3" [label="3: Return Stmt \n *&return:int=0 [line 42, column 3]\n NULLIFY(&i); [line 42, column 3]\n EXIT_SCOPE(i); [line 42, column 3]\n APPLY_ABSTRACTION; [line 42, column 3]\n " shape="box"] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_3" [label="3: Return Stmt \n *&return:int=0 [line 42, column 3]\n " shape="box"] "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_3" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" ; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const [line 38, column 37]\n n$2=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const *) injected virtual [line 38, column 37]\n EXIT_SCOPE(_,n$2,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 38, column 37]\n " shape="box"] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const [line 38, column 37]\n n$2=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const *) injected virtual [line 38, column 37]\n " shape="box"] "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_3" ; "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_6" [color="red" ]; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_5" [label="5: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const ); [line 38, column 11]\n n$5=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const *,\"error\":char const *) [line 38, column 11]\n n$6=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const &) [line 38, column 11]\n n$7=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error) [line 38, column 5]\n EXIT_SCOPE(n$5,n$6,n$7); [line 38, column 5]\n " shape="box"] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_5" [label="5: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const ); [line 38, column 11]\n n$5=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const *,\"error\":char const *) [line 38, column 11]\n n$6=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const &) [line 38, column 11]\n n$7=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error) [line 38, column 5]\n " shape="box"] "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_5" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_4" ; -"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_6" [label="6: Return Stmt \n n$8=*&i:int* [line 40, column 13]\n n$9=*n$8:int [line 40, column 12]\n *&return:int=n$9 [line 40, column 5]\n NULLIFY(&i); [line 40, column 5]\n EXIT_SCOPE(n$8,n$9,i); [line 40, column 5]\n APPLY_ABSTRACTION; [line 40, column 5]\n " shape="box"] +"FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_6" [label="6: Return Stmt \n n$8=*&i:int* [line 40, column 13]\n n$9=*n$8:int [line 40, column 12]\n *&return:int=n$9 [line 40, column 5]\n " shape="box"] "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_6" -> "FN_deref_null_in_catch_bad#9297890526029657977.c83eec7c9ab8ce2e38ddbc08f8c3dfeb_2" ; @@ -60,10 +60,10 @@ digraph cfg { "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_1" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_14" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" [label="2: Exit FN_multiple_catches_bad \n NULLIFY(&0$?%__sil_tmp__temp_construct_n$5); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$13); [line 70, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$9); [line 70, column 1]\n " color=yellow style=filled] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" [label="2: Exit FN_multiple_catches_bad \n " color=yellow style=filled] -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_3" [label="3: Return Stmt \n *&return:int=0 [line 69, column 3]\n NULLIFY(&i); [line 69, column 3]\n NULLIFY(&j); [line 69, column 3]\n EXIT_SCOPE(i,j); [line 69, column 3]\n APPLY_ABSTRACTION; [line 69, column 3]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_3" [label="3: Return Stmt \n *&return:int=0 [line 69, column 3]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_3" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" ; @@ -73,35 +73,35 @@ digraph cfg { "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_3" ; "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_12" [color="red" ]; "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_11" [color="red" ]; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_5" [label="5: Prune (true branch, if) \n n$0=*&b:_Bool [line 59, column 9]\n PRUNE(n$0, true); [line 59, column 9]\n NULLIFY(&b); [line 59, column 9]\n EXIT_SCOPE(n$0,b); [line 59, column 9]\n " shape="invhouse"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_5" [label="5: Prune (true branch, if) \n n$0=*&b:_Bool [line 59, column 9]\n PRUNE(n$0, true); [line 59, column 9]\n " shape="invhouse"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_5" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_8" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_6" [label="6: Prune (false branch, if) \n n$0=*&b:_Bool [line 59, column 9]\n PRUNE(!n$0, false); [line 59, column 9]\n NULLIFY(&b); [line 59, column 9]\n EXIT_SCOPE(n$0,b); [line 59, column 9]\n " shape="invhouse"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_6" [label="6: Prune (false branch, if) \n n$0=*&b:_Bool [line 59, column 9]\n PRUNE(!n$0, false); [line 59, column 9]\n " shape="invhouse"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_6" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_10" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_7" [label="7: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const [line 60, column 38]\n n$3=_fun_std::length_error::~length_error(&0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const *) injected virtual [line 60, column 38]\n EXIT_SCOPE(_,n$3,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 60, column 38]\n APPLY_ABSTRACTION; [line 60, column 38]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_7" [label="7: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const [line 60, column 38]\n n$3=_fun_std::length_error::~length_error(&0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const *) injected virtual [line 60, column 38]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_7" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_8" [label="8: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const ); [line 60, column 13]\n n$6=_fun_std::length_error::length_error(&0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const *,\"error\":char const *) [line 60, column 13]\n n$7=_fun_std::length_error::length_error(&0$?%__sil_tmp__temp_construct_n$5:std::length_error*,&0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const &) [line 60, column 13]\n n$8=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$5:std::length_error) [line 60, column 7]\n EXIT_SCOPE(n$6,n$7,n$8); [line 60, column 7]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_8" [label="8: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const ); [line 60, column 13]\n n$6=_fun_std::length_error::length_error(&0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const *,\"error\":char const *) [line 60, column 13]\n n$7=_fun_std::length_error::length_error(&0$?%__sil_tmp__temp_construct_n$5:std::length_error*,&0$?%__sil_tmpSIL_materialize_temp__n$1:std::length_error const &) [line 60, column 13]\n n$8=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$5:std::length_error) [line 60, column 7]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_8" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_7" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_9" [label="9: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const [line 62, column 37]\n n$11=_fun_std::range_error::~range_error(&0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const *) injected virtual [line 62, column 37]\n EXIT_SCOPE(_,n$11,0$?%__sil_tmpSIL_materialize_temp__n$9); [line 62, column 37]\n APPLY_ABSTRACTION; [line 62, column 37]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_9" [label="9: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const [line 62, column 37]\n n$11=_fun_std::range_error::~range_error(&0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const *) injected virtual [line 62, column 37]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_9" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_4" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_10" [label="10: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const ); [line 62, column 13]\n n$14=_fun_std::range_error::range_error(&0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const *,\"error\":char const *) [line 62, column 13]\n n$15=_fun_std::range_error::range_error(&0$?%__sil_tmp__temp_construct_n$13:std::range_error*,&0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const &) [line 62, column 13]\n n$16=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$13:std::range_error) [line 62, column 7]\n EXIT_SCOPE(n$14,n$15,n$16); [line 62, column 7]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_10" [label="10: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const ); [line 62, column 13]\n n$14=_fun_std::range_error::range_error(&0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const *,\"error\":char const *) [line 62, column 13]\n n$15=_fun_std::range_error::range_error(&0$?%__sil_tmp__temp_construct_n$13:std::range_error*,&0$?%__sil_tmpSIL_materialize_temp__n$9:std::range_error const &) [line 62, column 13]\n n$16=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$13:std::range_error) [line 62, column 7]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_10" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_9" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_11" [label="11: Return Stmt \n n$18=*&i:int* [line 65, column 13]\n n$19=*n$18:int [line 65, column 12]\n *&return:int=n$19 [line 65, column 5]\n NULLIFY(&i); [line 65, column 5]\n NULLIFY(&j); [line 65, column 5]\n EXIT_SCOPE(n$18,n$19,i,j); [line 65, column 5]\n APPLY_ABSTRACTION; [line 65, column 5]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_11" [label="11: Return Stmt \n n$18=*&i:int* [line 65, column 13]\n n$19=*n$18:int [line 65, column 12]\n *&return:int=n$19 [line 65, column 5]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_11" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" ; -"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_12" [label="12: Return Stmt \n n$20=*&j:int* [line 67, column 13]\n n$21=*n$20:int [line 67, column 12]\n *&return:int=n$21 [line 67, column 5]\n NULLIFY(&i); [line 67, column 5]\n NULLIFY(&j); [line 67, column 5]\n EXIT_SCOPE(n$20,n$21,i,j); [line 67, column 5]\n APPLY_ABSTRACTION; [line 67, column 5]\n " shape="box"] +"FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_12" [label="12: Return Stmt \n n$20=*&j:int* [line 67, column 13]\n n$21=*n$20:int [line 67, column 12]\n *&return:int=n$21 [line 67, column 5]\n " shape="box"] "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_12" -> "FN_multiple_catches_bad#4595182522053295670.680a793e449c2d7439ff6441ca69fa98_2" ; @@ -118,14 +118,14 @@ digraph cfg { "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_1" -> "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_4" ; -"basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_2" [label="2: Exit basic_throw_ok \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 27, column 64]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$4); [line 27, column 64]\n " color=yellow style=filled] +"basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_2" [label="2: Exit basic_throw_ok \n " color=yellow style=filled] -"basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_3" [label="3: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const [line 27, column 61]\n n$2=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const *) injected virtual [line 27, column 61]\n EXIT_SCOPE(_,n$2,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 27, column 61]\n APPLY_ABSTRACTION; [line 27, column 61]\n " shape="box"] +"basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_3" [label="3: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const [line 27, column 61]\n n$2=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const *) injected virtual [line 27, column 61]\n " shape="box"] "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_3" -> "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_2" ; -"basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_4" [label="4: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const ); [line 27, column 31]\n n$5=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const *,\"throwing!\":char const *) [line 27, column 31]\n n$6=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const &) [line 27, column 31]\n n$7=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error) [line 27, column 25]\n EXIT_SCOPE(n$5,n$6,n$7); [line 27, column 25]\n " shape="box"] +"basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_4" [label="4: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const ); [line 27, column 31]\n n$5=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const *,\"throwing!\":char const *) [line 27, column 31]\n n$6=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$0:std::runtime_error const &) [line 27, column 31]\n n$7=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$4:std::runtime_error) [line 27, column 25]\n " shape="box"] "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_4" -> "basic_throw_ok#10529188890980782893.c9e1b8dd080b2621cfca65612331859d_3" ; @@ -136,7 +136,7 @@ digraph cfg { "call_deref_with_null#4611966425999531792.6346543307e9a799421a89e451b917c2_2" [label="2: Exit call_deref_with_null \n " color=yellow style=filled] -"call_deref_with_null#4611966425999531792.6346543307e9a799421a89e451b917c2_3" [label="3: Call _fun_deref_null \n n$0=_fun_deref_null(null:int*) [line 25, column 30]\n EXIT_SCOPE(n$0); [line 25, column 30]\n APPLY_ABSTRACTION; [line 25, column 30]\n " shape="box"] +"call_deref_with_null#4611966425999531792.6346543307e9a799421a89e451b917c2_3" [label="3: Call _fun_deref_null \n n$0=_fun_deref_null(null:int*) [line 25, column 30]\n " shape="box"] "call_deref_with_null#4611966425999531792.6346543307e9a799421a89e451b917c2_3" -> "call_deref_with_null#4611966425999531792.6346543307e9a799421a89e451b917c2_2" ; @@ -144,18 +144,18 @@ digraph cfg { "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_1" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_6" ; -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_2" [label="2: Exit dead_deref_null_after_throw_ok \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 33, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$6); [line 33, column 1]\n " color=yellow style=filled] +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_2" [label="2: Exit dead_deref_null_after_throw_ok \n " color=yellow style=filled] -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" [label="3: Return Stmt \n n$0=*&i:int* [line 32, column 11]\n n$1=*n$0:int [line 32, column 10]\n *&return:int=n$1 [line 32, column 3]\n NULLIFY(&i); [line 32, column 3]\n EXIT_SCOPE(n$0,n$1,i); [line 32, column 3]\n APPLY_ABSTRACTION; [line 32, column 3]\n " shape="box"] +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" [label="3: Return Stmt \n n$0=*&i:int* [line 32, column 11]\n n$1=*n$0:int [line 32, column 10]\n *&return:int=n$1 [line 32, column 3]\n " shape="box"] "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_2" ; -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const [line 31, column 39]\n n$4=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *) injected virtual [line 31, column 39]\n EXIT_SCOPE(_,n$4,0$?%__sil_tmpSIL_materialize_temp__n$2); [line 31, column 39]\n " shape="box"] +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const [line 31, column 39]\n n$4=_fun_std::runtime_error::~runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *) injected virtual [line 31, column 39]\n " shape="box"] "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_3" ; -"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" [label="5: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ); [line 31, column 9]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"throwing!\":char const *) [line 31, column 9]\n n$8=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 31, column 9]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error) [line 31, column 3]\n EXIT_SCOPE(n$7,n$8,n$9); [line 31, column 3]\n " shape="box"] +"dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" [label="5: ObjCCPPThrow \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const ); [line 31, column 9]\n n$7=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const *,\"throwing!\":char const *) [line 31, column 9]\n n$8=_fun_std::runtime_error::runtime_error(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error*,&0$?%__sil_tmpSIL_materialize_temp__n$2:std::runtime_error const &) [line 31, column 9]\n n$9=_fun___infer_objc_cpp_throw(&0$?%__sil_tmp__temp_construct_n$6:std::runtime_error) [line 31, column 3]\n " shape="box"] "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_5" -> "dead_deref_null_after_throw_ok#12025371096822526715.42d41c040f3a321bb94f60bf7b55d001_4" ; @@ -170,7 +170,7 @@ digraph cfg { "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_2" [label="2: Exit deref \n " color=yellow style=filled] -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_3" [label="3: Return Stmt \n n$0=*&p:int* [line 15, column 11]\n n$1=*n$0:int [line 15, column 10]\n *&return:int=n$1 [line 15, column 3]\n NULLIFY(&p); [line 15, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_3" [label="3: Return Stmt \n n$0=*&p:int* [line 15, column 11]\n n$1=*n$0:int [line 15, column 10]\n *&return:int=n$1 [line 15, column 3]\n " shape="box"] "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_3" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_2" ; @@ -183,15 +183,15 @@ 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, if) \n PRUNE((n$2 == null), true); [line 12, column 7]\n EXIT_SCOPE(n$2); [line 12, column 7]\n " shape="invhouse"] +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" [label="6: Prune (true branch, if) \n PRUNE((n$2 == null), true); [line 12, column 7]\n " shape="invhouse"] "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_6" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$2 == null), false); [line 12, column 7]\n EXIT_SCOPE(n$2); [line 12, column 7]\n APPLY_ABSTRACTION; [line 12, column 7]\n " shape="invhouse"] +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$2 == null), false); [line 12, column 7]\n " shape="invhouse"] "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_7" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" ; -"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" [label="8: ObjCCPPThrow \n n$3=_fun___infer_objc_cpp_throw(\"Null pointer!\":char const *) [line 13, column 5]\n EXIT_SCOPE(n$3); [line 13, column 5]\n APPLY_ABSTRACTION; [line 13, column 5]\n " shape="box"] +"deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" [label="8: ObjCCPPThrow \n n$3=_fun___infer_objc_cpp_throw(\"Null pointer!\":char const *) [line 13, column 5]\n " shape="box"] "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_8" -> "deref#13506892413034678690.824465c4193ad2288eb512b1083edab3_4" ; @@ -202,7 +202,7 @@ digraph cfg { "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_2" [label="2: Exit deref_null \n " color=yellow style=filled] -"deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_3" [label="3: Return Stmt \n n$0=*&p:int* [line 20, column 13]\n n$1=*n$0:int [line 20, column 12]\n *&return:int=n$1 [line 20, column 5]\n NULLIFY(&p); [line 20, column 5]\n EXIT_SCOPE(n$0,n$1,p); [line 20, column 5]\n APPLY_ABSTRACTION; [line 20, column 5]\n " shape="box"] +"deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_3" [label="3: Return Stmt \n n$0=*&p:int* [line 20, column 13]\n n$1=*n$0:int [line 20, column 12]\n *&return:int=n$1 [line 20, column 5]\n " shape="box"] "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_3" -> "deref_null#11536394632240553702.ea4eed042da22ab7ceb619ec1b7f73bb_2" ; @@ -213,11 +213,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=_fun_deref(null:int*) [line 74, column 12]\n *&return:int=n$0 [line 74, column 5]\n EXIT_SCOPE(n$0); [line 74, column 5]\n APPLY_ABSTRACTION; [line 74, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n n$0=_fun_deref(null:int*) [line 74, column 12]\n *&return:int=n$0 [line 74, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Return Stmt \n *&return:int=-1 [line 76, column 5]\n APPLY_ABSTRACTION; [line 76, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Return Stmt \n *&return:int=-1 [line 76, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/exceptions/noexception.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/exceptions/noexception.cpp.dot index 8f0ca69d3..b35a913ed 100644 --- a/infer/tests/codetoanalyze/cpp/shared/exceptions/noexception.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/exceptions/noexception.cpp.dot @@ -14,7 +14,7 @@ digraph cfg { "noexcept_in_no_throw_is_true#15307552983521714545.46bb87de4bb49540d73e5bbaf21122b3_2" [label="2: Exit noexcept_in_no_throw_is_true \n " color=yellow style=filled] -"noexcept_in_no_throw_is_true#15307552983521714545.46bb87de4bb49540d73e5bbaf21122b3_3" [label="3: Return Stmt \n *&return:int=1 [line 12, column 38]\n APPLY_ABSTRACTION; [line 12, column 38]\n " shape="box"] +"noexcept_in_no_throw_is_true#15307552983521714545.46bb87de4bb49540d73e5bbaf21122b3_3" [label="3: Return Stmt \n *&return:int=1 [line 12, column 38]\n " shape="box"] "noexcept_in_no_throw_is_true#15307552983521714545.46bb87de4bb49540d73e5bbaf21122b3_3" -> "noexcept_in_no_throw_is_true#15307552983521714545.46bb87de4bb49540d73e5bbaf21122b3_2" ; @@ -25,7 +25,7 @@ digraph cfg { "noexcept_in_throw1_is_false#16721048902546389084.3ea3c1e2a52bf4050d645442d93bc7d9_2" [label="2: Exit noexcept_in_throw1_is_false \n " color=yellow style=filled] -"noexcept_in_throw1_is_false#16721048902546389084.3ea3c1e2a52bf4050d645442d93bc7d9_3" [label="3: Return Stmt \n *&return:int=0 [line 14, column 37]\n APPLY_ABSTRACTION; [line 14, column 37]\n " shape="box"] +"noexcept_in_throw1_is_false#16721048902546389084.3ea3c1e2a52bf4050d645442d93bc7d9_3" [label="3: Return Stmt \n *&return:int=0 [line 14, column 37]\n " shape="box"] "noexcept_in_throw1_is_false#16721048902546389084.3ea3c1e2a52bf4050d645442d93bc7d9_3" -> "noexcept_in_throw1_is_false#16721048902546389084.3ea3c1e2a52bf4050d645442d93bc7d9_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot index 6be2ff15a..c2da2cb14 100644 --- a/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/lambda/lambda1.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_1" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" ; -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_2" [label="2: Exit bar \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 14, column 1]\n NULLIFY(&func); [line 14, column 1]\n " color=yellow style=filled] +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_2" [label="2: Exit bar \n " color=yellow style=filled] -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" [label="3: Return Stmt \n n$1=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::operator()(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15&) [line 13, column 14]\n *&return:int=(7 / n$1) [line 13, column 3]\n _=*&func:bar::lambda_shared_lambda_lambda1.cpp:9:15 [line 13, column 19]\n n$3=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::~(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15*) injected [line 13, column 19]\n EXIT_SCOPE(_,n$1,n$3,func); [line 13, column 19]\n APPLY_ABSTRACTION; [line 13, column 19]\n " shape="box"] +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" [label="3: Return Stmt \n n$1=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::operator()(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15&) [line 13, column 14]\n *&return:int=(7 / n$1) [line 13, column 3]\n _=*&func:bar::lambda_shared_lambda_lambda1.cpp:9:15 [line 13, column 19]\n n$3=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::~(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15*) injected [line 13, column 19]\n " shape="box"] "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_2" ; -"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" [label="4: DeclStmt \n VARIABLE_DECLARED(func:bar::lambda_shared_lambda_lambda1.cpp:9:15); [line 9, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15); [line 9, column 15]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15=(_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::operator()) [line 9, column 15]\n n$9=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15*,&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15&) [line 9, column 15]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15 [line 12, column 3]\n n$7=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::~(&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15*) injected [line 12, column 3]\n EXIT_SCOPE(_,n$7,n$9,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 12, column 3]\n " shape="box"] +"bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" [label="4: DeclStmt \n VARIABLE_DECLARED(func:bar::lambda_shared_lambda_lambda1.cpp:9:15); [line 9, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15); [line 9, column 15]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15=(_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::operator()) [line 9, column 15]\n n$9=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::(&func:bar::lambda_shared_lambda_lambda1.cpp:9:15*,&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15&) [line 9, column 15]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15 [line 12, column 3]\n n$7=_fun_bar::lambda_shared_lambda_lambda1.cpp:9:15::~(&0$?%__sil_tmpSIL_materialize_temp__n$5:bar::lambda_shared_lambda_lambda1.cpp:9:15*) injected [line 12, column 3]\n " shape="box"] "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_4" -> "bar#13629960763458822780.27859d4aca4c920a20241f1b78082005_3" ; @@ -19,18 +19,18 @@ digraph cfg { "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_1" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_6" ; -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_2" [label="2: Exit capture_by_ref \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 38, column 1]\n " color=yellow style=filled] +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_2" [label="2: Exit capture_by_ref \n " color=yellow style=filled] -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" [label="3: Return Stmt \n n$0=*&x:int [line 37, column 10]\n *&return:int=n$0 [line 37, column 3]\n NULLIFY(&x); [line 37, column 3]\n EXIT_SCOPE(n$0,x); [line 37, column 3]\n APPLY_ABSTRACTION; [line 37, column 3]\n " shape="box"] +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" [label="3: Return Stmt \n n$0=*&x:int [line 37, column 10]\n *&return:int=n$0 [line 37, column 3]\n " shape="box"] "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_2" ; -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3 [line 36, column 19]\n n$3=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::~(&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3*) injected [line 36, column 19]\n EXIT_SCOPE(_,n$3,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 36, column 19]\n " shape="box"] +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3 [line 36, column 19]\n n$3=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::~(&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3*) injected [line 36, column 19]\n " shape="box"] "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_3" ; -"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" [label="5: Call _fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator() \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3); [line 36, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3=(_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator(),&x) [line 36, column 3]\n n$6=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3&) [line 36, column 3]\n EXIT_SCOPE(n$6); [line 36, column 3]\n " shape="box"] +"capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" [label="5: Call _fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator() \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3); [line 36, column 3]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3=(_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator(),&x) [line 36, column 3]\n n$6=_fun_capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$1:capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3&) [line 36, column 3]\n " shape="box"] "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_5" -> "capture_by_ref#4375601249296069049.1d794578c048d96b25fb1e90dbaa8225_4" ; @@ -42,18 +42,18 @@ digraph cfg { "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_1" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" [label="2: Exit foo \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 20, column 1]\n NULLIFY(&unused); [line 20, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$12); [line 20, column 1]\n NULLIFY(&y); [line 20, column 1]\n " color=yellow style=filled] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" [label="2: Exit foo \n " color=yellow style=filled] -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" [label="3: Return Stmt \n n$1=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::operator()(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12&,3:int) [line 19, column 19]\n *&return:int=(5 / (4 - n$1)) [line 19, column 3]\n _=*&y:foo::lambda_shared_lambda_lambda1.cpp:18:12 [line 19, column 23]\n n$3=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::~(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12*) injected [line 19, column 23]\n _=*&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17 [line 19, column 23]\n n$5=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::~(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17*) injected [line 19, column 23]\n EXIT_SCOPE(_,_,n$1,n$3,n$5,y,unused); [line 19, column 23]\n APPLY_ABSTRACTION; [line 19, column 23]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" [label="3: Return Stmt \n n$1=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::operator()(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12&,3:int) [line 19, column 19]\n *&return:int=(5 / (4 - n$1)) [line 19, column 3]\n _=*&y:foo::lambda_shared_lambda_lambda1.cpp:18:12 [line 19, column 23]\n n$3=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::~(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12*) injected [line 19, column 23]\n _=*&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17 [line 19, column 23]\n n$5=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::~(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17*) injected [line 19, column 23]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_2" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:foo::lambda_shared_lambda_lambda1.cpp:18:12); [line 18, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12); [line 18, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12=(_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::operator()) [line 18, column 12]\n n$11=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12&) [line 18, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12 [line 18, column 36]\n n$9=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12*) injected [line 18, column 36]\n EXIT_SCOPE(_,n$9,n$11,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 18, column 36]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:foo::lambda_shared_lambda_lambda1.cpp:18:12); [line 18, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12); [line 18, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12=(_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::operator()) [line 18, column 12]\n n$11=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::(&y:foo::lambda_shared_lambda_lambda1.cpp:18:12*,&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12&) [line 18, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12 [line 18, column 36]\n n$9=_fun_foo::lambda_shared_lambda_lambda1.cpp:18:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$7:foo::lambda_shared_lambda_lambda1.cpp:18:12*) injected [line 18, column 36]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_3" ; -"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(unused:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 17]\n *&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17=(_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::operator()) [line 17, column 17]\n n$16=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17*,&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17&) [line 17, column 17]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17 [line 17, column 38]\n n$14=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::~(&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17*) injected [line 17, column 38]\n EXIT_SCOPE(_,n$14,n$16,0$?%__sil_tmpSIL_materialize_temp__n$12); [line 17, column 38]\n " shape="box"] +"foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(unused:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17); [line 17, column 17]\n *&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17=(_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::operator()) [line 17, column 17]\n n$16=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::(&unused:foo::lambda_shared_lambda_lambda1.cpp:17:17*,&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17&) [line 17, column 17]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17 [line 17, column 38]\n n$14=_fun_foo::lambda_shared_lambda_lambda1.cpp:17:17::~(&0$?%__sil_tmpSIL_materialize_temp__n$12:foo::lambda_shared_lambda_lambda1.cpp:17:17*) injected [line 17, column 38]\n " shape="box"] "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_5" -> "foo#972162870672026475.86d7db357d6a36081d09067fb38ce85e_4" ; @@ -61,14 +61,14 @@ digraph cfg { "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_1" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" ; -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_2" [label="2: Exit fooOK \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$5); [line 26, column 1]\n NULLIFY(&y); [line 26, column 1]\n " color=yellow style=filled] +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_2" [label="2: Exit fooOK \n " color=yellow style=filled] -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" [label="3: Return Stmt \n n$1=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator()(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&,3:int) [line 25, column 19]\n *&return:int=(5 / (4 - n$1)) [line 25, column 3]\n _=*&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 [line 25, column 23]\n n$3=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::~(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*) injected [line 25, column 23]\n EXIT_SCOPE(_,n$1,n$3,y); [line 25, column 23]\n APPLY_ABSTRACTION; [line 25, column 23]\n " shape="box"] +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" [label="3: Return Stmt \n n$1=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator()(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&,3:int) [line 25, column 19]\n *&return:int=(5 / (4 - n$1)) [line 25, column 3]\n _=*&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 [line 25, column 23]\n n$3=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::~(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*) injected [line 25, column 23]\n " shape="box"] "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_2" ; -"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12); [line 24, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12); [line 24, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12=(_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator()) [line 24, column 12]\n n$9=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*,&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&) [line 24, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 [line 24, column 36]\n n$7=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*) injected [line 24, column 36]\n EXIT_SCOPE(_,n$7,n$9,0$?%__sil_tmpSIL_materialize_temp__n$5); [line 24, column 36]\n " shape="box"] +"fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12); [line 24, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12); [line 24, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12=(_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator()) [line 24, column 12]\n n$9=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::(&y:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*,&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12&) [line 24, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12 [line 24, column 36]\n n$7=_fun_fooOK::lambda_shared_lambda_lambda1.cpp:24:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$5:fooOK::lambda_shared_lambda_lambda1.cpp:24:12*) injected [line 24, column 36]\n " shape="box"] "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_4" -> "fooOK#5521302935427608539.9c36ec052efdd50972817d895666852a_3" ; @@ -76,14 +76,14 @@ digraph cfg { "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_1" -> "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_3" ; -"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_2" [label="2: Exit init_capture1 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 42, column 1]\n " color=yellow style=filled] +"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_2" [label="2: Exit init_capture1 \n " color=yellow style=filled] "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_3" [label="3: DeclStmt \n VARIABLE_DECLARED(i:int); [line 41, column 10]\n *&i:int=0 [line 41, column 10]\n " shape="box"] "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_3" -> "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_4" ; -"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_4" [label="4: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10); [line 41, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10=(_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator(),&i) [line 41, column 10]\n n$5=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10&) [line 41, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10 [line 41, column 34]\n n$2=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10*) injected [line 41, column 34]\n *&return:int=n$5 [line 41, column 3]\n NULLIFY(&i); [line 41, column 3]\n EXIT_SCOPE(_,n$2,n$5,i,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_4" [label="4: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10); [line 41, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10=(_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator(),&i) [line 41, column 10]\n n$5=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10&) [line 41, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10 [line 41, column 34]\n n$2=_fun_init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture1::lambda_shared_lambda_lambda1.cpp:41:10*) injected [line 41, column 34]\n *&return:int=n$5 [line 41, column 3]\n " shape="box"] "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_4" -> "init_capture1#11582985675627962568.58b9ce334267f411dc5e1c70bd53eb81_2" ; @@ -91,7 +91,7 @@ digraph cfg { "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_1" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_7" ; -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_2" [label="2: Exit init_capture2 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 47, column 1]\n " color=yellow style=filled] +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_2" [label="2: Exit init_capture2 \n " color=yellow style=filled] "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 46, column 10]\n *&c:int=3 [line 46, column 10]\n " shape="box"] @@ -102,11 +102,11 @@ digraph cfg { "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_4" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_3" ; -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 46, column 10]\n n$5=*&i:int [line 46, column 15]\n *&a:int=n$5 [line 46, column 10]\n NULLIFY(&i); [line 46, column 10]\n EXIT_SCOPE(n$5,i); [line 46, column 10]\n " shape="box"] +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 46, column 10]\n n$5=*&i:int [line 46, column 15]\n *&a:int=n$5 [line 46, column 10]\n " shape="box"] "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_5" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_4" ; -"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_6" [label="6: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10); [line 46, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10=(_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator(),&a,&b,&c) [line 46, column 10]\n n$6=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10&) [line 46, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10 [line 46, column 56]\n n$2=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10*) injected [line 46, column 56]\n *&return:int=n$6 [line 46, column 3]\n NULLIFY(&a); [line 46, column 3]\n NULLIFY(&b); [line 46, column 3]\n NULLIFY(&c); [line 46, column 3]\n EXIT_SCOPE(_,n$2,n$6,a,b,0$?%__sil_tmpSIL_materialize_temp__n$0,c); [line 46, column 3]\n APPLY_ABSTRACTION; [line 46, column 3]\n " shape="box"] +"init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_6" [label="6: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10); [line 46, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10=(_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator(),&a,&b,&c) [line 46, column 10]\n n$6=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10&) [line 46, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10 [line 46, column 56]\n n$2=_fun_init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:init_capture2::lambda_shared_lambda_lambda1.cpp:46:10*) injected [line 46, column 56]\n *&return:int=n$6 [line 46, column 3]\n " shape="box"] "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_6" -> "init_capture2#11582143449720942167.039b5039af3b7807e4b00950523a9f3a_2" ; @@ -118,10 +118,10 @@ digraph cfg { "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_1" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_5" ; -"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_2" [label="2: Exit normal_capture \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 32, column 1]\n " color=yellow style=filled] +"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_2" [label="2: Exit normal_capture \n " color=yellow style=filled] -"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10); [line 31, column 10]\n n$6=*&x:int [line 31, column 10]\n n$5=*&y:int [line 31, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10=(_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator(),(n$6 &x:int),(n$5 &y:int)) [line 31, column 10]\n n$7=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10&) [line 31, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10 [line 31, column 37]\n n$2=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10*) injected [line 31, column 37]\n *&return:int=n$7 [line 31, column 3]\n NULLIFY(&y); [line 31, column 3]\n NULLIFY(&x); [line 31, column 3]\n EXIT_SCOPE(_,n$2,n$5,n$6,n$7,y,0$?%__sil_tmpSIL_materialize_temp__n$0,x); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10); [line 31, column 10]\n n$6=*&x:int [line 31, column 10]\n n$5=*&y:int [line 31, column 10]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10=(_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator(),(n$6 &x:int),(n$5 &y:int)) [line 31, column 10]\n n$7=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator()(&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10&) [line 31, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10 [line 31, column 37]\n n$2=_fun_normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::~(&0$?%__sil_tmpSIL_materialize_temp__n$0:normal_capture::lambda_shared_lambda_lambda1.cpp:31:10*) injected [line 31, column 37]\n *&return:int=n$7 [line 31, column 3]\n " shape="box"] "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_3" -> "normal_capture#5533029764254319855.11493b249dddd657790695e287170b84_2" ; @@ -137,22 +137,22 @@ digraph cfg { "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_1" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_2" [label="2: Exit struct_capture \n NULLIFY(&f); [line 79, column 1]\n NULLIFY(&x); [line 79, column 1]\n NULLIFY(&y); [line 79, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$9); [line 79, column 1]\n " color=yellow style=filled] +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_2" [label="2: Exit struct_capture \n " color=yellow style=filled] -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" [label="3: Return Stmt \n n$1=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator()(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12&) [line 78, column 10]\n *&return:int=n$1 [line 78, column 3]\n _=*&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 78, column 12]\n n$3=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::~(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*) injected [line 78, column 12]\n _=*&y:SomeStruct [line 78, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&y:SomeStruct*) injected [line 78, column 12]\n _=*&x:SomeStruct [line 78, column 12]\n n$7=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 78, column 12]\n EXIT_SCOPE(_,_,_,n$1,n$3,n$5,n$7,y,x,f); [line 78, column 12]\n APPLY_ABSTRACTION; [line 78, column 12]\n " shape="box"] +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" [label="3: Return Stmt \n n$1=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator()(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12&) [line 78, column 10]\n *&return:int=n$1 [line 78, column 3]\n _=*&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 78, column 12]\n n$3=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::~(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*) injected [line 78, column 12]\n _=*&y:SomeStruct [line 78, column 12]\n n$5=_fun_SomeStruct::~SomeStruct(&y:SomeStruct*) injected [line 78, column 12]\n _=*&x:SomeStruct [line 78, column 12]\n n$7=_fun_SomeStruct::~SomeStruct(&x:SomeStruct*) injected [line 78, column 12]\n " shape="box"] "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_2" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12); [line 77, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12); [line 77, column 12]\n n$14=*&x:SomeStruct [line 77, column 12]\n n$13=*&y:SomeStruct [line 77, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12=(_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator(),(n$14 &x:SomeStruct),(n$13 &y:SomeStruct)) [line 77, column 12]\n n$15=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*,&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12&) [line 77, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 77, column 41]\n n$11=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*) injected [line 77, column 41]\n EXIT_SCOPE(_,n$11,n$13,n$14,n$15,0$?%__sil_tmpSIL_materialize_temp__n$9); [line 77, column 41]\n " shape="box"] +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12); [line 77, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12); [line 77, column 12]\n n$14=*&x:SomeStruct [line 77, column 12]\n n$13=*&y:SomeStruct [line 77, column 12]\n *&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12=(_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator(),(n$14 &x:SomeStruct),(n$13 &y:SomeStruct)) [line 77, column 12]\n n$15=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::(&f:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*,&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12&) [line 77, column 12]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 77, column 41]\n n$11=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::~(&0$?%__sil_tmpSIL_materialize_temp__n$9:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*) injected [line 77, column 41]\n " shape="box"] "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_3" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:SomeStruct); [line 76, column 3]\n n$16=_fun_SomeStruct::SomeStruct(&y:SomeStruct*) [line 76, column 14]\n EXIT_SCOPE(n$16); [line 76, column 14]\n " shape="box"] +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" [label="5: DeclStmt \n VARIABLE_DECLARED(y:SomeStruct); [line 76, column 3]\n n$16=_fun_SomeStruct::SomeStruct(&y:SomeStruct*) [line 76, column 14]\n " shape="box"] "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_4" ; -"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 75, column 3]\n n$17=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 75, column 14]\n EXIT_SCOPE(n$17); [line 75, column 14]\n " shape="box"] +"struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:SomeStruct); [line 75, column 3]\n n$17=_fun_SomeStruct::SomeStruct(&x:SomeStruct*) [line 75, column 14]\n " shape="box"] "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_6" -> "struct_capture#7773507847510274281.f3db763dc0b20b24ec397f7802254c90_5" ; @@ -160,14 +160,14 @@ digraph cfg { "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_1" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" ; -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_2" [label="2: Exit Capture::capture_this_explicit \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 52, column 3]\n NULLIFY(&lambda); [line 52, column 3]\n " color=yellow style=filled] +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_2" [label="2: Exit Capture::capture_this_explicit \n " color=yellow style=filled] -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" [label="3: Destruction(Scope) \n _=*&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 [line 52, column 3]\n n$1=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::~(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*) injected [line 52, column 3]\n EXIT_SCOPE(_,n$1,lambda); [line 52, column 3]\n APPLY_ABSTRACTION; [line 52, column 3]\n " shape="box"] +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" [label="3: Destruction(Scope) \n _=*&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 [line 52, column 3]\n n$1=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::~(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*) injected [line 52, column 3]\n " shape="box"] "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_2" ; -"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19); [line 51, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19); [line 51, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19=(_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::operator(),&this) [line 51, column 19]\n n$7=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19&) [line 51, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 [line 51, column 43]\n n$5=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::~(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*) injected [line 51, column 43]\n NULLIFY(&this); [line 51, column 43]\n EXIT_SCOPE(_,n$5,n$7,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 51, column 43]\n " shape="box"] +"capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19); [line 51, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19); [line 51, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19=(_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::operator(),&this) [line 51, column 19]\n n$7=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::(&lambda:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19&) [line 51, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19 [line 51, column 43]\n n$5=_fun_Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::~(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19*) injected [line 51, column 43]\n " shape="box"] "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_4" -> "capture_this_explicit#Capture#(13194085360619722149).2dba35a78268b10ad413414cc832a8f0_3" ; @@ -175,14 +175,14 @@ digraph cfg { "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_1" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" ; -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_2" [label="2: Exit Capture::capture_this_with_auto \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 66, column 3]\n NULLIFY(&lambda); [line 66, column 3]\n " color=yellow style=filled] +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_2" [label="2: Exit Capture::capture_this_with_auto \n " color=yellow style=filled] -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" [label="3: Destruction(Scope) \n _=*&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 [line 66, column 3]\n n$1=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::~(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*) injected [line 66, column 3]\n EXIT_SCOPE(_,n$1,lambda); [line 66, column 3]\n APPLY_ABSTRACTION; [line 66, column 3]\n " shape="box"] +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" [label="3: Destruction(Scope) \n _=*&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 [line 66, column 3]\n n$1=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::~(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*) injected [line 66, column 3]\n " shape="box"] "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_2" ; -"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19); [line 65, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19); [line 65, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19=(_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::operator(),&this) [line 65, column 19]\n n$7=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19&) [line 65, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 [line 65, column 40]\n n$5=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::~(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*) injected [line 65, column 40]\n NULLIFY(&this); [line 65, column 40]\n EXIT_SCOPE(_,n$5,n$7,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 65, column 40]\n " shape="box"] +"capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19); [line 65, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19); [line 65, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19=(_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::operator(),&this) [line 65, column 19]\n n$7=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::(&lambda:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19&) [line 65, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19 [line 65, column 40]\n n$5=_fun_Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::~(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19*) injected [line 65, column 40]\n " shape="box"] "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_4" -> "capture_this_with_auto#Capture#(15696525048884093218).38be242109186a45cc282c38962c68e2_3" ; @@ -190,14 +190,14 @@ digraph cfg { "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_1" -> "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" ; -"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_2" [label="2: Exit Capture::capture_star_this \n NULLIFY(&lambda); [line 58, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 58, column 3]\n " color=yellow style=filled] +"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_2" [label="2: Exit Capture::capture_star_this \n " color=yellow style=filled] -"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" [label="3: Destruction(Scope) \n _=*&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19 [line 58, column 3]\n n$1=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::~(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*) injected [line 58, column 3]\n EXIT_SCOPE(_,n$1,lambda); [line 58, column 3]\n APPLY_ABSTRACTION; [line 58, column 3]\n " shape="box"] +"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" [label="3: Destruction(Scope) \n _=*&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19 [line 58, column 3]\n n$1=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::~(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*) injected [line 58, column 3]\n " shape="box"] "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" -> "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_2" ; -"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19); [line 55, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19); [line 55, column 19]\n n$7=*&this:Capture* [line 55, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19=(_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::operator(),(n$7 &this:Capture*)) [line 55, column 19]\n n$8=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19&) [line 55, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19 [line 57, column 5]\n n$5=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::~(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*) injected [line 57, column 5]\n NULLIFY(&this); [line 57, column 5]\n EXIT_SCOPE(_,n$5,n$7,n$8,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 57, column 5]\n " shape="box"] +"capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19); [line 55, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19); [line 55, column 19]\n n$7=*&this:Capture* [line 55, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19=(_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::operator(),(n$7 &this:Capture*)) [line 55, column 19]\n n$8=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::(&lambda:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19&) [line 55, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19 [line 57, column 5]\n n$5=_fun_Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19::~(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19*) injected [line 57, column 5]\n " shape="box"] "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_4" -> "capture_star_this#Capture#(2506493005619132138).63fd6aa2a7efbd48dc1a62c0c2bd2161_3" ; @@ -205,14 +205,14 @@ digraph cfg { "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_1" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" ; -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_2" [label="2: Exit Capture::capture_this_with_equal \n NULLIFY(&lambda); [line 62, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 62, column 3]\n " color=yellow style=filled] +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_2" [label="2: Exit Capture::capture_this_with_equal \n " color=yellow style=filled] -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" [label="3: Destruction(Scope) \n _=*&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 [line 62, column 3]\n n$1=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::~(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*) injected [line 62, column 3]\n EXIT_SCOPE(_,n$1,lambda); [line 62, column 3]\n APPLY_ABSTRACTION; [line 62, column 3]\n " shape="box"] +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" [label="3: Destruction(Scope) \n _=*&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 [line 62, column 3]\n n$1=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::~(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*) injected [line 62, column 3]\n " shape="box"] "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_2" ; -"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19); [line 61, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19); [line 61, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19=(_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::operator(),&this) [line 61, column 19]\n n$7=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19&) [line 61, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 [line 61, column 40]\n n$5=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::~(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*) injected [line 61, column 40]\n NULLIFY(&this); [line 61, column 40]\n EXIT_SCOPE(_,n$5,n$7,0$?%__sil_tmpSIL_materialize_temp__n$3,this); [line 61, column 40]\n " shape="box"] +"capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19); [line 61, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19); [line 61, column 19]\n *&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19=(_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::operator(),&this) [line 61, column 19]\n n$7=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::(&lambda:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*,&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19&) [line 61, column 19]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19 [line 61, column 40]\n n$5=_fun_Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::~(&0$?%__sil_tmpSIL_materialize_temp__n$3:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19*) injected [line 61, column 40]\n " shape="box"] "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_4" -> "capture_this_with_equal#Capture#(805776379555510952).ecd73e9a4e2bef0d060a242b61508f10_3" ; @@ -237,7 +237,7 @@ digraph cfg { "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_2" [label="2: Exit SomeStruct::SomeStruct \n " color=yellow style=filled] -"SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_3" [label="3: Constructor Init \n n$1=*&this:SomeStruct* [line 69, column 8]\n n$2=*&__param_0:SomeStruct const & [line 69, column 8]\n n$3=*n$2.f:int [line 69, column 8]\n *n$1.f:int=n$3 [line 69, column 8]\n NULLIFY(&this); [line 69, column 8]\n NULLIFY(&__param_0); [line 69, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 69, column 8]\n APPLY_ABSTRACTION; [line 69, column 8]\n " shape="box"] +"SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_3" [label="3: Constructor Init \n n$1=*&this:SomeStruct* [line 69, column 8]\n n$2=*&__param_0:SomeStruct const & [line 69, column 8]\n n$3=*n$2.f:int [line 69, column 8]\n *n$1.f:int=n$3 [line 69, column 8]\n " shape="box"] "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_3" -> "SomeStruct#SomeStruct#{11805166137496297040|constexpr}.1073d62b309830aceab7dd0d11fb9801_2" ; @@ -255,7 +255,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:17:17#foo#(10761403337571939980).fc34b2fdd4414d044515387308a2caa2_2" [label="2: Exit foo::lambda_shared_lambda_lambda1.cpp:17:17::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:17:17#foo#(10761403337571939980).fc34b2fdd4414d044515387308a2caa2_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 17, column 24]\n APPLY_ABSTRACTION; [line 17, column 24]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:17:17#foo#(10761403337571939980).fc34b2fdd4414d044515387308a2caa2_3" [label="3: Return Stmt \n *&return:int=(1 / 0) [line 17, column 24]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:17:17#foo#(10761403337571939980).fc34b2fdd4414d044515387308a2caa2_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:17:17#foo#(10761403337571939980).fc34b2fdd4414d044515387308a2caa2_2" ; @@ -273,7 +273,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_2" [label="2: Exit foo::lambda_shared_lambda_lambda1.cpp:18:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_3" [label="3: Return Stmt \n n$0=*&i:int [line 18, column 31]\n *&i:int=(n$0 + 1) [line 18, column 31]\n n$1=*&i:int [line 18, column 31]\n *&return:int=n$1 [line 18, column 24]\n NULLIFY(&i); [line 18, column 24]\n EXIT_SCOPE(n$0,n$1,i); [line 18, column 24]\n APPLY_ABSTRACTION; [line 18, column 24]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_3" [label="3: Return Stmt \n n$0=*&i:int [line 18, column 31]\n *&i:int=(n$0 + 1) [line 18, column 31]\n n$1=*&i:int [line 18, column 31]\n *&return:int=n$1 [line 18, column 24]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:18:12#foo#(8701050879076719020).0d4a964c0bde8f0dc1ee0d35ffa2f29c_2" ; @@ -291,7 +291,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_2" [label="2: Exit fooOK::lambda_shared_lambda_lambda1.cpp:24:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_3" [label="3: Return Stmt \n n$0=*&i:int [line 24, column 31]\n *&i:int=(n$0 + 1) [line 24, column 31]\n *&return:int=n$0 [line 24, column 24]\n NULLIFY(&i); [line 24, column 24]\n EXIT_SCOPE(n$0,i); [line 24, column 24]\n APPLY_ABSTRACTION; [line 24, column 24]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_3" [label="3: Return Stmt \n n$0=*&i:int [line 24, column 31]\n *&i:int=(n$0 + 1) [line 24, column 31]\n *&return:int=n$0 [line 24, column 24]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:24:12#fooOK#(3436637400147523223).b3368025c545000668e9fb87b5c89aa4_2" ; @@ -309,7 +309,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_2" [label="2: Exit normal_capture::lambda_shared_lambda_lambda1.cpp:31:10::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_3" [label="3: Return Stmt \n n$0=*&x:int [line 31, column 28]\n n$1=*&y:int [line 31, column 32]\n *&return:int=(n$0 + n$1) [line 31, column 21]\n NULLIFY(&y); [line 31, column 21]\n NULLIFY(&x); [line 31, column 21]\n EXIT_SCOPE(n$0,n$1,y,x); [line 31, column 21]\n APPLY_ABSTRACTION; [line 31, column 21]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_3" [label="3: Return Stmt \n n$0=*&x:int [line 31, column 28]\n n$1=*&y:int [line 31, column 32]\n *&return:int=(n$0 + n$1) [line 31, column 21]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:31:10#normal_capture#(3336792892144266867).563aa24976a73c4ea364dbb5afa3f73f_2" ; @@ -320,7 +320,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:36:3#capture_by_ref#(17277454583786497390).328aa336808e9a777a5cd630eb1ef54f_2" [label="2: Exit capture_by_ref::lambda_shared_lambda_lambda1.cpp:36:3::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:36:3#capture_by_ref#(17277454583786497390).328aa336808e9a777a5cd630eb1ef54f_3" [label="3: UnaryOperator \n n$0=*&x:int [line 36, column 12]\n *&x:int=(n$0 + 1) [line 36, column 12]\n NULLIFY(&x); [line 36, column 12]\n EXIT_SCOPE(n$0,x); [line 36, column 12]\n APPLY_ABSTRACTION; [line 36, column 12]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:36:3#capture_by_ref#(17277454583786497390).328aa336808e9a777a5cd630eb1ef54f_3" [label="3: UnaryOperator \n n$0=*&x:int [line 36, column 12]\n *&x:int=(n$0 + 1) [line 36, column 12]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:36:3#capture_by_ref#(17277454583786497390).328aa336808e9a777a5cd630eb1ef54f_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:36:3#capture_by_ref#(17277454583786497390).328aa336808e9a777a5cd630eb1ef54f_2" ; @@ -331,7 +331,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_2" [label="2: Exit init_capture1::lambda_shared_lambda_lambda1.cpp:41:10::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_3" [label="3: Return Stmt \n n$0=*&i:int [line 41, column 29]\n *&return:int=n$0 [line 41, column 22]\n NULLIFY(&i); [line 41, column 22]\n EXIT_SCOPE(n$0,i); [line 41, column 22]\n APPLY_ABSTRACTION; [line 41, column 22]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_3" [label="3: Return Stmt \n n$0=*&i:int [line 41, column 29]\n *&return:int=n$0 [line 41, column 22]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:41:10#init_capture1#(11958159405823124536).c1401fcf3820489850f4deb3dab109ac_2" ; @@ -342,7 +342,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_2" [label="2: Exit init_capture2::lambda_shared_lambda_lambda1.cpp:46:10::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_3" [label="3: Return Stmt \n n$0=*&a:int [line 46, column 43]\n n$1=*&b:int [line 46, column 47]\n n$2=*&c:int [line 46, column 51]\n *&return:int=((n$0 + n$1) + n$2) [line 46, column 36]\n NULLIFY(&a); [line 46, column 36]\n NULLIFY(&b); [line 46, column 36]\n NULLIFY(&c); [line 46, column 36]\n EXIT_SCOPE(n$0,n$1,n$2,a,b,c); [line 46, column 36]\n APPLY_ABSTRACTION; [line 46, column 36]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_3" [label="3: Return Stmt \n n$0=*&a:int [line 46, column 43]\n n$1=*&b:int [line 46, column 47]\n n$2=*&c:int [line 46, column 51]\n *&return:int=((n$0 + n$1) + n$2) [line 46, column 36]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:46:10#init_capture2#(10943089228143620310).415a6350451062f52188b6cc908fbf46_2" ; @@ -353,7 +353,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_2" [label="2: Exit Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 51, column 37]\n *&return:Capture*=n$0 [line 51, column 30]\n NULLIFY(&this); [line 51, column 30]\n EXIT_SCOPE(n$0,this); [line 51, column 30]\n APPLY_ABSTRACTION; [line 51, column 30]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 51, column 37]\n *&return:Capture*=n$0 [line 51, column 30]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#(1084455887557995828.1d62aec1dfb3de86dac2a9a51e124083_2" ; @@ -364,7 +364,7 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_2" [label="2: Exit Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19* [line 51, column 19]\n n$2=*&__param_0:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19& [line 51, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 51, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 51, column 19]\n NULLIFY(&this); [line 51, column 19]\n NULLIFY(&__param_0); [line 51, column 19]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 51, column 19]\n APPLY_ABSTRACTION; [line 51, column 19]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19* [line 51, column 19]\n n$2=*&__param_0:Capture::capture_this_explicit::lambda_shared_lambda_lambda1.cpp:51:19& [line 51, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 51, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 51, column 19]\n " shape="box"] "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_3" -> "#lambda_shared_lambda_lambda1.cpp:51:19#capture_this_explicit#Capture#{15581681824770184595|constexp.7bc69d386faff7f8ffc9dc392a5988cf_2" ; @@ -382,7 +382,7 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_2" [label="2: Exit Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19* [line 55, column 19]\n n$2=*&__param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19& [line 55, column 19]\n n$3=_fun_Capture::Capture(n$1.__anon_field_0:Capture*,n$2.__anon_field_0:Capture&) [line 55, column 19]\n NULLIFY(&this); [line 55, column 19]\n NULLIFY(&__param_0); [line 55, column 19]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 55, column 19]\n APPLY_ABSTRACTION; [line 55, column 19]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19* [line 55, column 19]\n n$2=*&__param_0:Capture::capture_star_this::lambda_shared_lambda_lambda1.cpp:55:19& [line 55, column 19]\n n$3=_fun_Capture::Capture(n$1.__anon_field_0:Capture*,n$2.__anon_field_0:Capture&) [line 55, column 19]\n " shape="box"] "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_3" -> "#lambda_shared_lambda_lambda1.cpp:55:19#capture_star_this#Capture#{9456129203468966420|constexpr}.524c805f606049237b74db978143df13_2" ; @@ -393,7 +393,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_2" [label="2: Exit Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 61, column 34]\n *&return:Capture*=n$0 [line 61, column 27]\n NULLIFY(&this); [line 61, column 27]\n EXIT_SCOPE(n$0,this); [line 61, column 27]\n APPLY_ABSTRACTION; [line 61, column 27]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 61, column 34]\n *&return:Capture*=n$0 [line 61, column 27]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#(91082432562742530.b72f197de8f4f60c1d815523b52f3221_2" ; @@ -404,7 +404,7 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_2" [label="2: Exit Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19* [line 61, column 19]\n n$2=*&__param_0:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19& [line 61, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 61, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 61, column 19]\n NULLIFY(&this); [line 61, column 19]\n NULLIFY(&__param_0); [line 61, column 19]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 61, column 19]\n APPLY_ABSTRACTION; [line 61, column 19]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19* [line 61, column 19]\n n$2=*&__param_0:Capture::capture_this_with_equal::lambda_shared_lambda_lambda1.cpp:61:19& [line 61, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 61, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 61, column 19]\n " shape="box"] "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_3" -> "#lambda_shared_lambda_lambda1.cpp:61:19#capture_this_with_equal#Capture#{16013381636753347826|conste.5c764d68be3baa1f6ef1128e1dbea59f_2" ; @@ -415,7 +415,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_2" [label="2: Exit Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 65, column 34]\n *&return:Capture*=n$0 [line 65, column 27]\n NULLIFY(&this); [line 65, column 27]\n EXIT_SCOPE(n$0,this); [line 65, column 27]\n APPLY_ABSTRACTION; [line 65, column 27]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_3" [label="3: Return Stmt \n n$0=*&this:Capture* [line 65, column 34]\n *&return:Capture*=n$0 [line 65, column 27]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#(476955214552649307.449a23f73c844f26ba0d7a54aef5727e_2" ; @@ -426,7 +426,7 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_2" [label="2: Exit Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19* [line 65, column 19]\n n$2=*&__param_0:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19& [line 65, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 65, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 65, column 19]\n NULLIFY(&this); [line 65, column 19]\n NULLIFY(&__param_0); [line 65, column 19]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 65, column 19]\n APPLY_ABSTRACTION; [line 65, column 19]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" [label="3: Constructor Init \n n$1=*&this:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19* [line 65, column 19]\n n$2=*&__param_0:Capture::capture_this_with_auto::lambda_shared_lambda_lambda1.cpp:65:19& [line 65, column 19]\n n$3=*n$2.__anon_field_0:Capture* [line 65, column 19]\n *n$1.__anon_field_0:Capture*=n$3 [line 65, column 19]\n " shape="box"] "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_3" -> "#lambda_shared_lambda_lambda1.cpp:65:19#capture_this_with_auto#Capture#{10854495330849287568|constex.920289afd6e5ecdf220f6692ec06788a_2" ; @@ -437,7 +437,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_2" [label="2: Exit struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 77, column 30]\n n$1=*&y.f:int [line 77, column 36]\n *&return:int=(n$0 + n$1) [line 77, column 23]\n NULLIFY(&y); [line 77, column 23]\n NULLIFY(&x); [line 77, column 23]\n EXIT_SCOPE(n$0,n$1,y,x); [line 77, column 23]\n APPLY_ABSTRACTION; [line 77, column 23]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 77, column 30]\n n$1=*&y.f:int [line 77, column 36]\n *&return:int=(n$0 + n$1) [line 77, column 23]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(3957024350029978205).24bdda6ed01a44c4f20e0211a02e4440_2" ; @@ -448,11 +448,11 @@ digraph cfg { "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_2" [label="2: Exit struct_capture::lambda_shared_lambda_lambda1.cpp:77:12:: \n " color=yellow style=filled] -"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" [label="3: Constructor Init \n n$1=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n n$2=*&__param_0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12& [line 77, column 12]\n n$3=_fun_SomeStruct::SomeStruct(n$1.__anon_field_1:SomeStruct*,n$2.__anon_field_1:SomeStruct&) [line 77, column 12]\n NULLIFY(&this); [line 77, column 12]\n NULLIFY(&__param_0); [line 77, column 12]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 77, column 12]\n APPLY_ABSTRACTION; [line 77, column 12]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" [label="3: Constructor Init \n n$1=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n n$2=*&__param_0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12& [line 77, column 12]\n n$3=_fun_SomeStruct::SomeStruct(n$1.__anon_field_1:SomeStruct*,n$2.__anon_field_1:SomeStruct&) [line 77, column 12]\n " shape="box"] "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_2" ; -"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_4" [label="4: Constructor Init \n n$4=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n n$5=*&__param_0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12& [line 77, column 12]\n n$6=_fun_SomeStruct::SomeStruct(n$4.__anon_field_0:SomeStruct*,n$5.__anon_field_0:SomeStruct&) [line 77, column 12]\n EXIT_SCOPE(n$4,n$5,n$6); [line 77, column 12]\n " shape="box"] +"#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_4" [label="4: Constructor Init \n n$4=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n n$5=*&__param_0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12& [line 77, column 12]\n n$6=_fun_SomeStruct::SomeStruct(n$4.__anon_field_0:SomeStruct*,n$5.__anon_field_0:SomeStruct&) [line 77, column 12]\n " shape="box"] "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_4" -> "#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#{11897634387038574730|constexpr}.496c30dbc77f6f3561a71876edb6137e_3" ; @@ -463,7 +463,7 @@ digraph cfg { "__infer_inner_destructor_~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(138105074354565016.e6c800e9d586d901864d79972d303d01_2" [label="2: Exit struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::__infer_inner_destructor_~ \n " color=yellow style=filled] -"__infer_inner_destructor_~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(138105074354565016.e6c800e9d586d901864d79972d303d01_3" [label="3: Destruction(fields) \n n$0=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n _=*n$0.__anon_field_1:SomeStruct [line 77, column 12]\n n$4=_fun_SomeStruct::~SomeStruct(n$0.__anon_field_1:SomeStruct*) injected [line 77, column 12]\n _=*n$0.__anon_field_0:SomeStruct [line 77, column 12]\n n$2=_fun_SomeStruct::~SomeStruct(n$0.__anon_field_0:SomeStruct*) injected [line 77, column 12]\n NULLIFY(&this); [line 77, column 12]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,this); [line 77, column 12]\n APPLY_ABSTRACTION; [line 77, column 12]\n " shape="box"] +"__infer_inner_destructor_~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(138105074354565016.e6c800e9d586d901864d79972d303d01_3" [label="3: Destruction(fields) \n n$0=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n _=*n$0.__anon_field_1:SomeStruct [line 77, column 12]\n n$4=_fun_SomeStruct::~SomeStruct(n$0.__anon_field_1:SomeStruct*) injected [line 77, column 12]\n _=*n$0.__anon_field_0:SomeStruct [line 77, column 12]\n n$2=_fun_SomeStruct::~SomeStruct(n$0.__anon_field_0:SomeStruct*) injected [line 77, column 12]\n " shape="box"] "__infer_inner_destructor_~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(138105074354565016.e6c800e9d586d901864d79972d303d01_3" -> "__infer_inner_destructor_~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(138105074354565016.e6c800e9d586d901864d79972d303d01_2" ; @@ -474,7 +474,7 @@ digraph cfg { "~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(13810507435456501647).7325714c5315daf013352ff960c1611b_2" [label="2: Exit struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::~ \n " color=yellow style=filled] -"~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(13810507435456501647).7325714c5315daf013352ff960c1611b_3" [label="3: Destruction(virtual base) \n n$0=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n _=*n$0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 77, column 12]\n n$2=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::__infer_inner_destructor_~(n$0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*) injected [line 77, column 12]\n NULLIFY(&this); [line 77, column 12]\n EXIT_SCOPE(_,n$0,n$2,this); [line 77, column 12]\n APPLY_ABSTRACTION; [line 77, column 12]\n " shape="box"] +"~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(13810507435456501647).7325714c5315daf013352ff960c1611b_3" [label="3: Destruction(virtual base) \n n$0=*&this:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12* [line 77, column 12]\n _=*n$0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12 [line 77, column 12]\n n$2=_fun_struct_capture::lambda_shared_lambda_lambda1.cpp:77:12::__infer_inner_destructor_~(n$0:struct_capture::lambda_shared_lambda_lambda1.cpp:77:12*) injected [line 77, column 12]\n " shape="box"] "~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(13810507435456501647).7325714c5315daf013352ff960c1611b_3" -> "~#lambda_shared_lambda_lambda1.cpp:77:12#struct_capture#(13810507435456501647).7325714c5315daf013352ff960c1611b_2" ; @@ -485,7 +485,7 @@ digraph cfg { "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_2" [label="2: Exit bar::lambda_shared_lambda_lambda1.cpp:9:15::operator() \n " color=yellow style=filled] -"operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" [label="3: Return Stmt \n n$0=*&i:int [line 11, column 12]\n *&return:int=n$0 [line 11, column 5]\n NULLIFY(&i); [line 11, column 5]\n EXIT_SCOPE(n$0,i); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="box"] +"operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" [label="3: Return Stmt \n n$0=*&i:int [line 11, column 12]\n *&return:int=n$0 [line 11, column 5]\n " shape="box"] "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_3" -> "operator()#lambda_shared_lambda_lambda1.cpp:9:15#bar#(7708532531154088338).ffe36bb5dd46814f3461661fb80e3e06_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot index ae5557f69..06ba81c39 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/byvals.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_2" [label="2: Exit pass_by_val::decltype_by_ref \n " color=yellow style=filled] -"decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 38, column 58]\n n$1=*n$0.x:int [line 38, column 58]\n n$2=*&p:pass_by_val::PlainStruct& [line 38, column 66]\n n$3=*n$2.y:int* [line 38, column 65]\n n$4=*n$3:int [line 38, column 64]\n *&return:int=(n$1 + n$4) [line 38, column 51]\n NULLIFY(&p); [line 38, column 51]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,p); [line 38, column 51]\n APPLY_ABSTRACTION; [line 38, column 51]\n " shape="box"] +"decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 38, column 58]\n n$1=*n$0.x:int [line 38, column 58]\n n$2=*&p:pass_by_val::PlainStruct& [line 38, column 66]\n n$3=*n$2.y:int* [line 38, column 65]\n n$4=*n$3:int [line 38, column 64]\n *&return:int=(n$1 + n$4) [line 38, column 51]\n " shape="box"] "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_3" -> "decltype_by_ref#pass_by_val#7827598625585178144.8fa35b5b24f764bae803ce1f6e468516_2" ; @@ -18,7 +18,7 @@ digraph cfg { "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_2" [label="2: Exit pass_by_val::decltype_by_val \n " color=yellow style=filled] -"decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 36, column 56]\n n$1=*n$0.x:int [line 36, column 56]\n n$2=*&p:pass_by_val::PlainStruct& [line 36, column 64]\n n$3=*n$2.y:int* [line 36, column 63]\n n$4=*n$3:int [line 36, column 62]\n *&return:int=(n$1 + n$4) [line 36, column 49]\n NULLIFY(&p); [line 36, column 49]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,p); [line 36, column 49]\n APPLY_ABSTRACTION; [line 36, column 49]\n " shape="box"] +"decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 36, column 56]\n n$1=*n$0.x:int [line 36, column 56]\n n$2=*&p:pass_by_val::PlainStruct& [line 36, column 64]\n n$3=*n$2.y:int* [line 36, column 63]\n n$4=*n$3:int [line 36, column 62]\n *&return:int=(n$1 + n$4) [line 36, column 49]\n " shape="box"] "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_3" -> "decltype_by_val#pass_by_val#14279156289723785232.72f90cb8cd80d6281316dd4fe0c3453c_2" ; @@ -29,7 +29,7 @@ digraph cfg { "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_2" [label="2: Exit pass_by_val::dependent_by_ref \n " color=yellow style=filled] -"dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct const & [line 48, column 65]\n n$1=*n$0.x:int [line 48, column 65]\n n$2=*&p:pass_by_val::PlainStruct const & [line 48, column 73]\n n$3=*n$2.y:int* [line 48, column 72]\n n$4=*n$3:int [line 48, column 71]\n *&return:int=(n$1 + n$4) [line 48, column 58]\n NULLIFY(&p); [line 48, column 58]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,p); [line 48, column 58]\n APPLY_ABSTRACTION; [line 48, column 58]\n " shape="box"] +"dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct const & [line 48, column 65]\n n$1=*n$0.x:int [line 48, column 65]\n n$2=*&p:pass_by_val::PlainStruct const & [line 48, column 73]\n n$3=*n$2.y:int* [line 48, column 72]\n n$4=*n$3:int [line 48, column 71]\n *&return:int=(n$1 + n$4) [line 48, column 58]\n " shape="box"] "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_3" -> "dependent_by_ref#pass_by_val#15143379324942623593.5ccf1ab5c879a0bcfec55b566c6a60db_2" ; @@ -40,7 +40,7 @@ digraph cfg { "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_2" [label="2: Exit pass_by_val::dependent_by_val \n " color=yellow style=filled] -"dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 47, column 58]\n n$1=*n$0.x:int [line 47, column 58]\n n$2=*&p:pass_by_val::PlainStruct& [line 47, column 66]\n n$3=*n$2.y:int* [line 47, column 65]\n n$4=*n$3:int [line 47, column 64]\n *&return:int=(n$1 + n$4) [line 47, column 51]\n NULLIFY(&p); [line 47, column 51]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,p); [line 47, column 51]\n APPLY_ABSTRACTION; [line 47, column 51]\n " shape="box"] +"dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 47, column 58]\n n$1=*n$0.x:int [line 47, column 58]\n n$2=*&p:pass_by_val::PlainStruct& [line 47, column 66]\n n$3=*n$2.y:int* [line 47, column 65]\n n$4=*n$3:int [line 47, column 64]\n *&return:int=(n$1 + n$4) [line 47, column 51]\n " shape="box"] "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_3" -> "dependent_by_val#pass_by_val#16173371529174507122.c006229ea6b255a1298dc7d547bac014_2" ; @@ -51,7 +51,7 @@ digraph cfg { "dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_2" [label="2: Exit __infer_globals_initializer_pass_by_val::dummy_struct \n " color=yellow style=filled] -"dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$pass_by_val::dummy_struct:pass_by_val::PlainStruct); [line 15, column 1]\n *&#GB$pass_by_val::dummy_struct.x:int=0 [line 15, column 25]\n *&#GB$pass_by_val::dummy_struct.y:int*=null [line 15, column 25]\n APPLY_ABSTRACTION; [line 15, column 25]\n " shape="box"] +"dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$pass_by_val::dummy_struct:pass_by_val::PlainStruct); [line 15, column 1]\n *&#GB$pass_by_val::dummy_struct.x:int=0 [line 15, column 25]\n *&#GB$pass_by_val::dummy_struct.y:int*=null [line 15, column 25]\n " shape="box"] "dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_3" -> "dummy_struct#__infer_globals_initializer_pass_by_val.24fe54080733cebf362d2b34e691bb44_2" ; @@ -62,7 +62,7 @@ digraph cfg { "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_2" [label="2: Exit std::forward \n " color=yellow style=filled] -"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2313, column 31]\n *&return:int&=n$0 [line 2313, column 5]\n NULLIFY(&__t); [line 2313, column 5]\n EXIT_SCOPE(n$0,__t); [line 2313, column 5]\n APPLY_ABSTRACTION; [line 2313, column 5]\n " shape="box"] +"forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2313, column 31]\n *&return:int&=n$0 [line 2313, column 5]\n " shape="box"] "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_3" -> "forward#std#5548362574050729124.664bf3a19e8401f31df778b67554bdae_2" ; @@ -73,7 +73,7 @@ digraph cfg { "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_2" [label="2: Exit std::forward \n " color=yellow style=filled] -"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2313, column 31]\n *&return:int&=n$0 [line 2313, column 5]\n NULLIFY(&__t); [line 2313, column 5]\n EXIT_SCOPE(n$0,__t); [line 2313, column 5]\n APPLY_ABSTRACTION; [line 2313, column 5]\n " shape="box"] +"forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" [label="3: Return Stmt \n n$0=*&__t:int& [line 2313, column 31]\n *&return:int&=n$0 [line 2313, column 5]\n " shape="box"] "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_3" -> "forward#std#2714018779968350623.5a6c534312c02b38db42a98e7dfe7983_2" ; @@ -81,10 +81,10 @@ digraph cfg { "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_1" -> "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_3" ; -"make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_2" [label="2: Exit pass_by_val::make_id \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 60, column 1]\n " color=yellow style=filled] +"make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_2" [label="2: Exit pass_by_val::make_id \n " color=yellow style=filled] -"make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 59, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 59, column 10]\n n$5=*&args:int& [line 59, column 35]\n n$6=_fun_std::forward(n$5:int&) [line 59, column 16]\n n$7=*n$6:int [line 59, column 16]\n n$8=*&args:int& [line 59, column 35]\n n$9=_fun_std::forward(n$8:int&) [line 59, column 16]\n n$10=*&args:int& [line 59, column 35]\n n$11=_fun_std::forward(n$10:int&) [line 59, column 16]\n n$12=_fun_pass_by_val::Id::Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*,n$7:int,n$9:int&,n$11:int&) [line 59, column 10]\n n$13=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 59, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id [line 59, column 43]\n n$3=_fun_pass_by_val::Id::~Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) injected [line 59, column 43]\n NULLIFY(&args); [line 59, column 43]\n NULLIFY(&__return_param); [line 59, column 43]\n NULLIFY(&args); [line 59, column 43]\n NULLIFY(&args); [line 59, column 43]\n EXIT_SCOPE(_,n$0,n$3,n$5,n$6,n$7,n$8,n$9,n$10,n$11,n$12,n$13,args,__return_param,args,args,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 59, column 43]\n APPLY_ABSTRACTION; [line 59, column 43]\n " shape="box"] +"make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 59, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 59, column 10]\n n$5=*&args:int& [line 59, column 35]\n n$6=_fun_std::forward(n$5:int&) [line 59, column 16]\n n$7=*n$6:int [line 59, column 16]\n n$8=*&args:int& [line 59, column 35]\n n$9=_fun_std::forward(n$8:int&) [line 59, column 16]\n n$10=*&args:int& [line 59, column 35]\n n$11=_fun_std::forward(n$10:int&) [line 59, column 16]\n n$12=_fun_pass_by_val::Id::Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*,n$7:int,n$9:int&,n$11:int&) [line 59, column 10]\n n$13=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 59, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id [line 59, column 43]\n n$3=_fun_pass_by_val::Id::~Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) injected [line 59, column 43]\n " shape="box"] "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_3" -> "make_id#pass_by_val(class pass_by_val::Id)#6647322778693099135.704a07df7f1fd4912e21bd274744a5e0_2" ; @@ -92,10 +92,10 @@ digraph cfg { "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_1" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_5" ; -"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_2" [label="2: Exit pass_by_val::perfect_forwarding_by_ref \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 65, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 65, column 1]\n NULLIFY(&b); [line 65, column 1]\n NULLIFY(&a); [line 65, column 1]\n " color=yellow style=filled] +"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_2" [label="2: Exit pass_by_val::perfect_forwarding_by_ref \n " color=yellow style=filled] -"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 64, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 64, column 10]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int); [line 64, column 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=2 [line 64, column 29]\n n$7=_fun_pass_by_val::make_id(&a:int&,&b:int&,&0$?%__sil_tmpSIL_materialize_temp__n$2:int&,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) assign_last [line 64, column 10]\n n$8=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 64, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id [line 64, column 30]\n n$4=_fun_pass_by_val::Id::~Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) injected [line 64, column 30]\n NULLIFY(&__return_param); [line 64, column 30]\n EXIT_SCOPE(_,n$0,n$4,n$7,n$8,a,__return_param,b,0$?%__sil_tmpSIL_materialize_temp__n$2,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 64, column 30]\n APPLY_ABSTRACTION; [line 64, column 30]\n " shape="box"] +"perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_3" [label="3: Return Stmt \n n$0=*&__return_param:pass_by_val::Id* [line 64, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id); [line 64, column 10]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int); [line 64, column 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=2 [line 64, column 29]\n n$7=_fun_pass_by_val::make_id(&a:int&,&b:int&,&0$?%__sil_tmpSIL_materialize_temp__n$2:int&,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) assign_last [line 64, column 10]\n n$8=_fun_pass_by_val::Id::Id(n$0:pass_by_val::Id*,&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id&) [line 64, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id [line 64, column 30]\n n$4=_fun_pass_by_val::Id::~Id(&0$?%__sil_tmpSIL_materialize_temp__n$1:pass_by_val::Id*) injected [line 64, column 30]\n " shape="box"] "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_3" -> "perfect_forwarding_by_ref#pass_by_val(class pass_by_val::Id)#7578991627406493712.4a78b0c805a8de47693f8c723da2ec49_2" ; @@ -114,7 +114,7 @@ digraph cfg { "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_2" [label="2: Exit pass_by_val::plain_struct_by_ref \n " color=yellow style=filled] -"plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_3" [label="3: Return Stmt \n n$0=*&lref:pass_by_val::PlainStruct& [line 21, column 10]\n n$1=*n$0.x:int [line 21, column 10]\n n$2=*&rref:pass_by_val::PlainStruct& [line 21, column 19]\n n$3=*n$2.x:int [line 21, column 19]\n n$4=*&ptr:pass_by_val::PlainStruct* [line 21, column 28]\n n$5=*n$4.x:int [line 21, column 28]\n *&return:int=((n$1 + n$3) + n$5) [line 21, column 3]\n NULLIFY(&ptr); [line 21, column 3]\n NULLIFY(&rref); [line 21, column 3]\n NULLIFY(&lref); [line 21, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,ptr,rref,lref); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_3" [label="3: Return Stmt \n n$0=*&lref:pass_by_val::PlainStruct& [line 21, column 10]\n n$1=*n$0.x:int [line 21, column 10]\n n$2=*&rref:pass_by_val::PlainStruct& [line 21, column 19]\n n$3=*n$2.x:int [line 21, column 19]\n n$4=*&ptr:pass_by_val::PlainStruct* [line 21, column 28]\n n$5=*n$4.x:int [line 21, column 28]\n *&return:int=((n$1 + n$3) + n$5) [line 21, column 3]\n " shape="box"] "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_3" -> "plain_struct_by_ref#pass_by_val(class pass_by_val::PlainStruct)#2657428317109106311.ebb1ec27d296c7f7c7c76440cd2435a6_2" ; @@ -125,7 +125,7 @@ digraph cfg { "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_2" [label="2: Exit pass_by_val::plain_struct_by_val \n " color=yellow style=filled] -"plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 17, column 49]\n n$1=*n$0.x:int [line 17, column 49]\n n$2=*&p:pass_by_val::PlainStruct& [line 17, column 57]\n n$3=*n$2.y:int* [line 17, column 56]\n n$4=*n$3:int [line 17, column 55]\n *&return:int=(n$1 + n$4) [line 17, column 42]\n NULLIFY(&p); [line 17, column 42]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,p); [line 17, column 42]\n APPLY_ABSTRACTION; [line 17, column 42]\n " shape="box"] +"plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_3" [label="3: Return Stmt \n n$0=*&p:pass_by_val::PlainStruct& [line 17, column 49]\n n$1=*n$0.x:int [line 17, column 49]\n n$2=*&p:pass_by_val::PlainStruct& [line 17, column 57]\n n$3=*n$2.y:int* [line 17, column 56]\n n$4=*n$3:int [line 17, column 55]\n *&return:int=(n$1 + n$4) [line 17, column 42]\n " shape="box"] "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_3" -> "plain_struct_by_val#pass_by_val#7415219466606029544.eb0e0bdde375e8d1716470ec792b2450_2" ; @@ -136,7 +136,7 @@ digraph cfg { "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_2" [label="2: Exit pass_by_val::to_double \n " color=yellow style=filled] -"to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_3" [label="3: Return Stmt \n n$0=*&x:int [line 50, column 34]\n *&return:double=n$0 [line 50, column 27]\n NULLIFY(&x); [line 50, column 27]\n EXIT_SCOPE(n$0,x); [line 50, column 27]\n APPLY_ABSTRACTION; [line 50, column 27]\n " shape="box"] +"to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_3" [label="3: Return Stmt \n n$0=*&x:int [line 50, column 34]\n *&return:double=n$0 [line 50, column 27]\n " shape="box"] "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_3" -> "to_double#pass_by_val#15152319343034292227.aa9254ca74e20265f2daa2c4c321444a_2" ; @@ -147,7 +147,7 @@ digraph cfg { "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_2" [label="2: Exit pass_by_val::tricky_dependent_by_val \n " color=yellow style=filled] -"tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_3" [label="3: Return Stmt \n n$0=*&t:double [line 55, column 62]\n *&return:double=n$0 [line 55, column 55]\n NULLIFY(&t); [line 55, column 55]\n EXIT_SCOPE(n$0,t); [line 55, column 55]\n APPLY_ABSTRACTION; [line 55, column 55]\n " shape="box"] +"tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_3" [label="3: Return Stmt \n n$0=*&t:double [line 55, column 62]\n *&return:double=n$0 [line 55, column 55]\n " shape="box"] "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_3" -> "tricky_dependent_by_val#pass_by_val#11704838728234311959.2c9738321ba9545daa75926f2565403e_2" ; @@ -158,7 +158,7 @@ digraph cfg { "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_2" [label="2: Exit pass_by_val::type_alias_by_ref \n " color=yellow style=filled] -"type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_3" [label="3: Return Stmt \n n$0=*&p1:pass_by_val::PlainStruct* [line 33, column 10]\n n$1=*n$0.x:int [line 33, column 10]\n n$2=*&p2:pass_by_val::PlainStruct const * [line 33, column 18]\n n$3=*n$2.x:int [line 33, column 18]\n *&return:int=(n$1 + n$3) [line 33, column 3]\n NULLIFY(&p2); [line 33, column 3]\n NULLIFY(&p1); [line 33, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,p2,p1); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_3" [label="3: Return Stmt \n n$0=*&p1:pass_by_val::PlainStruct* [line 33, column 10]\n n$1=*n$0.x:int [line 33, column 10]\n n$2=*&p2:pass_by_val::PlainStruct const * [line 33, column 18]\n n$3=*n$2.x:int [line 33, column 18]\n *&return:int=(n$1 + n$3) [line 33, column 3]\n " shape="box"] "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_3" -> "type_alias_by_ref#pass_by_val(class pass_by_val::PlainStruct,class pass_by_val::PlainStruct)#1261506.a3dda6b37896a0f836342db8df5fffd2_2" ; @@ -166,10 +166,10 @@ digraph cfg { "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_1" -> "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" ; -"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_2" [label="2: Exit pass_by_val::type_alias_by_val \n NULLIFY(&0$?%__sil_tmp__temp_construct_n$4); [line 31, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$0); [line 31, column 1]\n " color=yellow style=filled] +"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_2" [label="2: Exit pass_by_val::type_alias_by_val \n " color=yellow style=filled] -"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" [label="3: Return Stmt \n n$1=*&p1:pass_by_val::PlainStruct& [line 30, column 30]\n n$2=_fun_pass_by_val::PlainStruct::PlainStruct(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct*,n$1:pass_by_val::PlainStruct&) [line 30, column 30]\n n$3=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct) [line 30, column 10]\n n$5=*&p2:pass_by_val::PlainStruct& [line 30, column 56]\n n$6=_fun_pass_by_val::PlainStruct::PlainStruct(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct*,n$5:pass_by_val::PlainStruct&) [line 30, column 56]\n n$7=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct) [line 30, column 36]\n *&return:int=(n$3 + n$7) [line 30, column 3]\n NULLIFY(&p2); [line 30, column 3]\n NULLIFY(&p1); [line 30, column 3]\n EXIT_SCOPE(n$1,n$2,n$3,n$5,n$6,n$7,p2,p1); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" [label="3: Return Stmt \n n$1=*&p1:pass_by_val::PlainStruct& [line 30, column 30]\n n$2=_fun_pass_by_val::PlainStruct::PlainStruct(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct*,n$1:pass_by_val::PlainStruct&) [line 30, column 30]\n n$3=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$0:pass_by_val::PlainStruct) [line 30, column 10]\n n$5=*&p2:pass_by_val::PlainStruct& [line 30, column 56]\n n$6=_fun_pass_by_val::PlainStruct::PlainStruct(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct*,n$5:pass_by_val::PlainStruct&) [line 30, column 56]\n n$7=_fun_pass_by_val::plain_struct_by_val(&0$?%__sil_tmp__temp_construct_n$4:pass_by_val::PlainStruct) [line 30, column 36]\n *&return:int=(n$3 + n$7) [line 30, column 3]\n " shape="box"] "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_3" -> "type_alias_by_val#pass_by_val#9273827923998572097.425db1bd7e6b48116fa99ed40b0b6415_2" ; @@ -194,11 +194,11 @@ digraph cfg { "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_2" [label="2: Exit pass_by_val::PlainStruct::PlainStruct \n " color=yellow style=filled] -"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" [label="3: Constructor Init \n n$1=*&this:pass_by_val::PlainStruct* [line 11, column 8]\n n$2=*&__param_0:pass_by_val::PlainStruct const & [line 11, column 8]\n n$3=*n$2.y:int* [line 11, column 8]\n *n$1.y:int*=n$3 [line 11, column 8]\n NULLIFY(&this); [line 11, column 8]\n NULLIFY(&__param_0); [line 11, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 11, column 8]\n APPLY_ABSTRACTION; [line 11, column 8]\n " shape="box"] +"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" [label="3: Constructor Init \n n$1=*&this:pass_by_val::PlainStruct* [line 11, column 8]\n n$2=*&__param_0:pass_by_val::PlainStruct const & [line 11, column 8]\n n$3=*n$2.y:int* [line 11, column 8]\n *n$1.y:int*=n$3 [line 11, column 8]\n " shape="box"] "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_2" ; -"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" [label="4: Constructor Init \n n$4=*&this:pass_by_val::PlainStruct* [line 11, column 8]\n n$5=*&__param_0:pass_by_val::PlainStruct const & [line 11, column 8]\n n$6=*n$5.x:int [line 11, column 8]\n *n$4.x:int=n$6 [line 11, column 8]\n EXIT_SCOPE(n$4,n$5,n$6); [line 11, column 8]\n " shape="box"] +"PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" [label="4: Constructor Init \n n$4=*&this:pass_by_val::PlainStruct* [line 11, column 8]\n n$5=*&__param_0:pass_by_val::PlainStruct const & [line 11, column 8]\n n$6=*n$5.x:int [line 11, column 8]\n *n$4.x:int=n$6 [line 11, column 8]\n " shape="box"] "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_4" -> "PlainStruct#PlainStruct#pass_by_val#{2553093086388184854|constexpr}.e295b1e7e1c5b638011ce60f4cd77a28_3" ; 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 e44f04707..0850b048c 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/conversion_operator.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_1" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" [label="2: Exit conversion_operator::branch_div0 \n NULLIFY(&x); [line 39, column 1]\n " color=yellow style=filled] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" [label="2: Exit conversion_operator::branch_div0 \n " color=yellow style=filled] -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 38, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 38, column 10]\n *&return:int=n$1 [line 38, column 3]\n _=*&x:conversion_operator::X [line 38, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 38, column 10]\n EXIT_SCOPE(_,_,n$1,n$3,x); [line 38, column 10]\n APPLY_ABSTRACTION; [line 38, column 10]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 38, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 38, column 10]\n *&return:int=n$1 [line 38, column 3]\n _=*&x:conversion_operator::X [line 38, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 38, column 10]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" ; @@ -15,28 +15,28 @@ digraph cfg { "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_3" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 34, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 34, column 7]\n EXIT_SCOPE(_); [line 34, column 7]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 34, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 34, column 7]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" ; "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" [label="6: Prune (true branch, if) \n PRUNE(n$6, true); [line 34, column 7]\n EXIT_SCOPE(n$6); [line 34, column 7]\n " shape="invhouse"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" [label="6: Prune (true branch, if) \n PRUNE(n$6, true); [line 34, column 7]\n " shape="invhouse"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_6" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" [label="7: Prune (false branch, if) \n PRUNE(!n$6, false); [line 34, column 7]\n EXIT_SCOPE(n$6); [line 34, column 7]\n " shape="invhouse"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" [label="7: Prune (false branch, if) \n PRUNE(!n$6, false); [line 34, column 7]\n " shape="invhouse"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_7" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_4" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" [label="8: Return Stmt \n n$7=*&v:int [line 36, column 16]\n *&return:int=(1 / n$7) [line 36, column 5]\n _=*&x:conversion_operator::X [line 36, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 36, column 16]\n NULLIFY(&v); [line 36, column 16]\n EXIT_SCOPE(_,n$7,n$9,v,x); [line 36, column 16]\n APPLY_ABSTRACTION; [line 36, column 16]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" [label="8: Return Stmt \n n$7=*&v:int [line 36, column 16]\n *&return:int=(1 / n$7) [line 36, column 5]\n _=*&x:conversion_operator::X [line 36, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 36, column 16]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_2" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 35, column 5]\n _=*&x:conversion_operator::X [line 35, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 35, column 13]\n *&v:int=n$12 [line 35, column 5]\n EXIT_SCOPE(_,n$12); [line 35, column 5]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 35, column 5]\n _=*&x:conversion_operator::X [line 35, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 35, column 13]\n *&v:int=n$12 [line 35, column 5]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_9" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_8" ; -"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:conversion_operator::X); [line 33, column 3]\n n$15=_fun_conversion_operator::X::X(&x:conversion_operator::X*,0:int,1:_Bool) [line 33, column 5]\n EXIT_SCOPE(n$15); [line 33, column 5]\n " shape="box"] +"branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:conversion_operator::X); [line 33, column 3]\n n$15=_fun_conversion_operator::X::X(&x:conversion_operator::X*,0:int,1:_Bool) [line 33, column 5]\n " shape="box"] "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_10" -> "branch_div0#conversion_operator#6762751670974669482.0ad6ec49c1dc8988836c6e44e9d2b402_5" ; @@ -44,10 +44,10 @@ digraph cfg { "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_1" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" [label="2: Exit conversion_operator::branch_div1 \n NULLIFY(&x); [line 68, column 1]\n " color=yellow style=filled] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" [label="2: Exit conversion_operator::branch_div1 \n " color=yellow style=filled] -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 67, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 67, column 10]\n *&return:int=n$1 [line 67, column 3]\n _=*&x:conversion_operator::X [line 67, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 67, column 10]\n EXIT_SCOPE(_,_,n$1,n$3,x); [line 67, column 10]\n APPLY_ABSTRACTION; [line 67, column 10]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 67, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 67, column 10]\n *&return:int=n$1 [line 67, column 3]\n _=*&x:conversion_operator::X [line 67, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 67, column 10]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" ; @@ -55,28 +55,28 @@ digraph cfg { "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_3" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 63, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 63, column 7]\n EXIT_SCOPE(_); [line 63, column 7]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 63, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 63, column 7]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" ; "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" [label="6: Prune (true branch, if) \n PRUNE(n$6, true); [line 63, column 7]\n EXIT_SCOPE(n$6); [line 63, column 7]\n " shape="invhouse"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" [label="6: Prune (true branch, if) \n PRUNE(n$6, true); [line 63, column 7]\n " shape="invhouse"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_6" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$6, false); [line 63, column 7]\n EXIT_SCOPE(n$6); [line 63, column 7]\n " shape="invhouse"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$6, false); [line 63, column 7]\n " shape="invhouse"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_7" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_4" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" [label="8: Return Stmt \n n$7=*&v:int [line 65, column 16]\n *&return:int=(1 / n$7) [line 65, column 5]\n _=*&x:conversion_operator::X [line 65, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 65, column 16]\n NULLIFY(&v); [line 65, column 16]\n EXIT_SCOPE(_,n$7,n$9,x,v); [line 65, column 16]\n APPLY_ABSTRACTION; [line 65, column 16]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" [label="8: Return Stmt \n n$7=*&v:int [line 65, column 16]\n *&return:int=(1 / n$7) [line 65, column 5]\n _=*&x:conversion_operator::X [line 65, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 65, column 16]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_2" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 64, column 5]\n _=*&x:conversion_operator::X [line 64, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 64, column 13]\n *&v:int=n$12 [line 64, column 5]\n EXIT_SCOPE(_,n$12); [line 64, column 5]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 64, column 5]\n _=*&x:conversion_operator::X [line 64, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 64, column 13]\n *&v:int=n$12 [line 64, column 5]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_9" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_8" ; -"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:conversion_operator::X); [line 62, column 3]\n n$15=_fun_conversion_operator::X::X(&x:conversion_operator::X*,1:int,1:_Bool) [line 62, column 5]\n EXIT_SCOPE(n$15); [line 62, column 5]\n " shape="box"] +"branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:conversion_operator::X); [line 62, column 3]\n n$15=_fun_conversion_operator::X::X(&x:conversion_operator::X*,1:int,1:_Bool) [line 62, column 5]\n " shape="box"] "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_10" -> "branch_div1#conversion_operator#6025807300888085665.f3ee34cea9ff5d10407119d4b377adc2_5" ; @@ -84,10 +84,10 @@ digraph cfg { "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_1" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" [label="2: Exit conversion_operator::branch_no_div \n NULLIFY(&x); [line 59, column 1]\n " color=yellow style=filled] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" [label="2: Exit conversion_operator::branch_no_div \n " color=yellow style=filled] -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 58, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 58, column 10]\n *&return:int=n$1 [line 58, column 3]\n _=*&x:conversion_operator::X [line 58, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 58, column 10]\n EXIT_SCOPE(_,_,n$1,n$3,x); [line 58, column 10]\n APPLY_ABSTRACTION; [line 58, column 10]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" [label="3: Return Stmt \n _=*&x:conversion_operator::X [line 58, column 10]\n n$1=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 58, column 10]\n *&return:int=n$1 [line 58, column 3]\n _=*&x:conversion_operator::X [line 58, column 10]\n n$3=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 58, column 10]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" ; @@ -95,28 +95,28 @@ digraph cfg { "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_3" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 54, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 54, column 7]\n EXIT_SCOPE(_); [line 54, column 7]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n _=*&x:conversion_operator::X [line 54, column 7]\n n$6=_fun_conversion_operator::X::operator_bool(&x:conversion_operator::X&) [line 54, column 7]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" ; "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" [label="6: Prune (true branch, if) \n PRUNE(n$6, true); [line 54, column 7]\n EXIT_SCOPE(n$6); [line 54, column 7]\n " shape="invhouse"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" [label="6: Prune (true branch, if) \n PRUNE(n$6, true); [line 54, column 7]\n " shape="invhouse"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_6" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" [label="7: Prune (false branch, if) \n PRUNE(!n$6, false); [line 54, column 7]\n EXIT_SCOPE(n$6); [line 54, column 7]\n " shape="invhouse"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" [label="7: Prune (false branch, if) \n PRUNE(!n$6, false); [line 54, column 7]\n " shape="invhouse"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_7" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_4" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" [label="8: Return Stmt \n n$7=*&v:int [line 56, column 16]\n *&return:int=(1 / n$7) [line 56, column 5]\n _=*&x:conversion_operator::X [line 56, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 56, column 16]\n NULLIFY(&v); [line 56, column 16]\n EXIT_SCOPE(_,n$7,n$9,v,x); [line 56, column 16]\n APPLY_ABSTRACTION; [line 56, column 16]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" [label="8: Return Stmt \n n$7=*&v:int [line 56, column 16]\n *&return:int=(1 / n$7) [line 56, column 5]\n _=*&x:conversion_operator::X [line 56, column 16]\n n$9=_fun_conversion_operator::X::~X(&x:conversion_operator::X*) injected [line 56, column 16]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_2" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 55, column 5]\n _=*&x:conversion_operator::X [line 55, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 55, column 13]\n *&v:int=n$12 [line 55, column 5]\n EXIT_SCOPE(_,n$12); [line 55, column 5]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 55, column 5]\n _=*&x:conversion_operator::X [line 55, column 13]\n n$12=_fun_conversion_operator::X::operator_int(&x:conversion_operator::X&) [line 55, column 13]\n *&v:int=n$12 [line 55, column 5]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_9" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_8" ; -"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:conversion_operator::X); [line 53, column 3]\n n$15=_fun_conversion_operator::X::X(&x:conversion_operator::X*,0:int,0:_Bool) [line 53, column 5]\n EXIT_SCOPE(n$15); [line 53, column 5]\n " shape="box"] +"branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:conversion_operator::X); [line 53, column 3]\n n$15=_fun_conversion_operator::X::X(&x:conversion_operator::X*,0:int,0:_Bool) [line 53, column 5]\n " shape="box"] "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_10" -> "branch_no_div#conversion_operator#18429458682592639842.4c7cf0cc20989fd2ea431840e11b2521_5" ; @@ -124,10 +124,10 @@ digraph cfg { "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_1" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" [label="2: Exit conversion_operator::y_branch_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$14); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$23); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$13); [line 50, column 1]\n NULLIFY(&y); [line 50, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$22); [line 50, column 1]\n " color=yellow style=filled] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" [label="2: Exit conversion_operator::y_branch_div0 \n " color=yellow style=filled] -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X); [line 49, column 10]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const ); [line 49, column 13]\n _=*&y:conversion_operator::Y [line 49, column 13]\n n$9=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X*) assign_last [line 49, column 13]\n n$10=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const &) [line 49, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 10]\n n$12=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X&) [line 49, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const [line 49, column 13]\n n$3=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *) injected [line 49, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 13]\n n$5=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X*) injected [line 49, column 13]\n *&return:int=n$12 [line 49, column 3]\n EXIT_SCOPE(_,_,_,_,n$3,n$5,n$9,n$10,n$12,y,0$?%__sil_tmpSIL_materialize_temp__n$0,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, column 3]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X); [line 49, column 10]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const ); [line 49, column 13]\n _=*&y:conversion_operator::Y [line 49, column 13]\n n$9=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X*) assign_last [line 49, column 13]\n n$10=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const &) [line 49, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 10]\n n$12=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X&) [line 49, column 10]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const [line 49, column 13]\n n$3=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *) injected [line 49, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X [line 49, column 13]\n n$5=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:conversion_operator::X*) injected [line 49, column 13]\n *&return:int=n$12 [line 49, column 3]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" ; @@ -135,24 +135,24 @@ digraph cfg { "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_4" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_3" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X); [line 45, column 7]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X const ); [line 45, column 10]\n _=*&y:conversion_operator::Y [line 45, column 10]\n n$17=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X*) assign_last [line 45, column 10]\n n$18=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X const &) [line 45, column 7]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X [line 45, column 7]\n n$20=_fun_conversion_operator::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X&) [line 45, column 7]\n EXIT_SCOPE(_,_,n$17,n$18,0$?%__sil_tmpSIL_materialize_temp__n$13,0$?%__sil_tmpSIL_materialize_temp__n$14); [line 45, column 7]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_5" [label="5: Call _fun_conversion_operator::X::operator_bool \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X); [line 45, column 7]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X const ); [line 45, column 10]\n _=*&y:conversion_operator::Y [line 45, column 10]\n n$17=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X*) assign_last [line 45, column 10]\n n$18=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$14:conversion_operator::X const &) [line 45, column 7]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X [line 45, column 7]\n n$20=_fun_conversion_operator::X::operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$13:conversion_operator::X&) [line 45, column 7]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_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, if) \n PRUNE(n$20, true); [line 45, column 7]\n EXIT_SCOPE(n$20); [line 45, column 7]\n " shape="invhouse"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_6" [label="6: Prune (true branch, if) \n PRUNE(n$20, true); [line 45, 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, if) \n PRUNE(!n$20, false); [line 45, column 7]\n EXIT_SCOPE(n$20); [line 45, column 7]\n " shape="invhouse"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" [label="7: Prune (false branch, if) \n PRUNE(!n$20, false); [line 45, column 7]\n " shape="invhouse"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_7" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_4" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" [label="8: Return Stmt \n n$21=*&v:int [line 47, column 16]\n *&return:int=(1 / n$21) [line 47, column 5]\n NULLIFY(&v); [line 47, column 5]\n EXIT_SCOPE(n$21,v); [line 47, column 5]\n APPLY_ABSTRACTION; [line 47, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" [label="8: Return Stmt \n n$21=*&v:int [line 47, column 16]\n *&return:int=(1 / n$21) [line 47, column 5]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_2" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 46, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X); [line 46, column 13]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const ); [line 46, column 16]\n _=*&y:conversion_operator::Y [line 46, column 16]\n n$31=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X*) assign_last [line 46, column 16]\n n$32=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const &) [line 46, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X [line 46, column 13]\n n$34=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X&) [line 46, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const [line 46, column 16]\n n$25=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const *) injected [line 46, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X [line 46, column 16]\n n$27=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X*) injected [line 46, column 16]\n *&v:int=n$34 [line 46, column 5]\n EXIT_SCOPE(_,_,_,_,n$25,n$27,n$31,n$32,n$34,0$?%__sil_tmpSIL_materialize_temp__n$22,y,0$?%__sil_tmpSIL_materialize_temp__n$23); [line 46, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" [label="9: DeclStmt \n VARIABLE_DECLARED(v:int); [line 46, column 5]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X); [line 46, column 13]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const ); [line 46, column 16]\n _=*&y:conversion_operator::Y [line 46, column 16]\n n$31=_fun_conversion_operator::Y::operator_X(&y:conversion_operator::Y&,&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X*) assign_last [line 46, column 16]\n n$32=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const &) [line 46, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X [line 46, column 13]\n n$34=_fun_conversion_operator::X::operator_int(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X&) [line 46, column 13]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const [line 46, column 16]\n n$25=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$23:conversion_operator::X const *) injected [line 46, column 16]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X [line 46, column 16]\n n$27=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$22:conversion_operator::X*) injected [line 46, column 16]\n *&v:int=n$34 [line 46, column 5]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_9" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_8" ; @@ -164,7 +164,7 @@ digraph cfg { "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_10" ; -"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" [label="12: DeclStmt \n VARIABLE_DECLARED(y:conversion_operator::Y); [line 42, column 3]\n n$37=_fun_conversion_operator::Y::Y(&y:conversion_operator::Y*) [line 42, column 5]\n EXIT_SCOPE(n$37); [line 42, column 5]\n " shape="box"] +"y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" [label="12: DeclStmt \n VARIABLE_DECLARED(y:conversion_operator::Y); [line 42, column 3]\n n$37=_fun_conversion_operator::Y::Y(&y:conversion_operator::Y*) [line 42, column 5]\n " shape="box"] "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_12" -> "y_branch_div0#conversion_operator#7606471872775172252.4a93f184f35976e9e7dc6663bc4d47a2_11" ; @@ -175,7 +175,7 @@ digraph cfg { "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_2" [label="2: Exit conversion_operator::X::operator_int \n " color=yellow style=filled] -"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 11, column 27]\n n$1=*n$0.f_:int [line 11, column 27]\n *&return:int=n$1 [line 11, column 20]\n NULLIFY(&this); [line 11, column 20]\n EXIT_SCOPE(n$0,n$1,this); [line 11, column 20]\n APPLY_ABSTRACTION; [line 11, column 20]\n " shape="box"] +"operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 11, column 27]\n n$1=*n$0.f_:int [line 11, column 27]\n *&return:int=n$1 [line 11, column 20]\n " shape="box"] "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_3" -> "operator_int#X#conversion_operator#(11584960464019118495).bbe1ab264905e56e75a1b45ae475ffe0_2" ; @@ -186,7 +186,7 @@ digraph cfg { "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_2" [label="2: Exit conversion_operator::X::operator_bool \n " color=yellow style=filled] -"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 12, column 28]\n n$1=*n$0.b_:_Bool [line 12, column 28]\n *&return:_Bool=n$1 [line 12, column 21]\n NULLIFY(&this); [line 12, column 21]\n EXIT_SCOPE(n$0,n$1,this); [line 12, column 21]\n APPLY_ABSTRACTION; [line 12, column 21]\n " shape="box"] +"operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" [label="3: Return Stmt \n n$0=*&this:conversion_operator::X* [line 12, column 28]\n n$1=*n$0.b_:_Bool [line 12, column 28]\n *&return:_Bool=n$1 [line 12, column 21]\n " shape="box"] "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_3" -> "operator_bool#X#conversion_operator#(8462049473072140514).68eca81e12b5c1864b348d6f60158ae6_2" ; @@ -197,11 +197,11 @@ digraph cfg { "X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_2" [label="2: Exit conversion_operator::X::X \n " color=yellow style=filled] -"X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:conversion_operator::X* [line 21, column 5]\n n$1=*&x:conversion_operator::X const & [line 21, column 10]\n n$2=*n$1.b_:_Bool [line 21, column 10]\n *n$0.b_:_Bool=n$2 [line 21, column 5]\n NULLIFY(&x); [line 21, column 5]\n NULLIFY(&this); [line 21, column 5]\n EXIT_SCOPE(n$0,n$1,n$2,x,this); [line 21, column 5]\n APPLY_ABSTRACTION; [line 21, column 5]\n " shape="box"] +"X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:conversion_operator::X* [line 21, column 5]\n n$1=*&x:conversion_operator::X const & [line 21, column 10]\n n$2=*n$1.b_:_Bool [line 21, column 10]\n *n$0.b_:_Bool=n$2 [line 21, column 5]\n " shape="box"] "X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_3" -> "X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_2" ; -"X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&this:conversion_operator::X* [line 20, column 5]\n n$4=*&x:conversion_operator::X const & [line 20, column 10]\n n$5=*n$4.f_:int [line 20, column 10]\n *n$3.f_:int=n$5 [line 20, column 5]\n EXIT_SCOPE(n$3,n$4,n$5); [line 20, column 5]\n " shape="box"] +"X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&this:conversion_operator::X* [line 20, column 5]\n n$4=*&x:conversion_operator::X const & [line 20, column 10]\n n$5=*n$4.f_:int [line 20, column 10]\n *n$3.f_:int=n$5 [line 20, column 5]\n " shape="box"] "X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_4" -> "X#X#conversion_operator#{10042806963993343440}.3443e3517905e53c0b3c27c57963d3c9_3" ; @@ -212,11 +212,11 @@ digraph cfg { "X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_2" [label="2: Exit conversion_operator::X::X \n " color=yellow style=filled] -"X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:conversion_operator::X* [line 17, column 5]\n n$1=*&b:_Bool [line 17, column 10]\n *n$0.b_:_Bool=n$1 [line 17, column 5]\n NULLIFY(&b); [line 17, column 5]\n NULLIFY(&this); [line 17, column 5]\n EXIT_SCOPE(n$0,n$1,b,this); [line 17, column 5]\n APPLY_ABSTRACTION; [line 17, column 5]\n " shape="box"] +"X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:conversion_operator::X* [line 17, column 5]\n n$1=*&b:_Bool [line 17, column 10]\n *n$0.b_:_Bool=n$1 [line 17, column 5]\n " shape="box"] "X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_3" -> "X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_2" ; -"X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:conversion_operator::X* [line 16, column 5]\n n$3=*&f:int [line 16, column 10]\n *n$2.f_:int=n$3 [line 16, column 5]\n NULLIFY(&f); [line 16, column 5]\n EXIT_SCOPE(n$2,n$3,f); [line 16, column 5]\n " shape="box"] +"X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:conversion_operator::X* [line 16, column 5]\n n$3=*&f:int [line 16, column 10]\n *n$2.f_:int=n$3 [line 16, column 5]\n " shape="box"] "X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_4" -> "X#X#conversion_operator#{3369558305026158368}.bef059c92c6377f62516e101c1177cad_3" ; @@ -224,10 +224,10 @@ digraph cfg { "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_1" -> "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" ; -"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_2" [label="2: Exit conversion_operator::Y::operator_X \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 27, column 34]\n " color=yellow style=filled] +"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_2" [label="2: Exit conversion_operator::Y::operator_X \n " color=yellow style=filled] -"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" [label="3: Return Stmt \n n$0=*&__return_param:conversion_operator::X* [line 27, column 18]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const ); [line 27, column 25]\n n$5=*&this:conversion_operator::Y* [line 27, column 27]\n n$6=*n$5.f:int [line 27, column 27]\n n$7=*&this:conversion_operator::Y* [line 27, column 30]\n n$8=*n$7.b:int [line 27, column 30]\n n$9=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *,n$6:int,n$8:_Bool) [line 27, column 25]\n n$10=_fun_conversion_operator::X::X(n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const &) [line 27, column 25]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const [line 27, column 31]\n n$3=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *) injected [line 27, column 31]\n NULLIFY(&__return_param); [line 27, column 31]\n NULLIFY(&this); [line 27, column 31]\n EXIT_SCOPE(_,n$0,n$3,n$5,n$6,n$7,n$8,n$9,n$10,__return_param,0$?%__sil_tmpSIL_materialize_temp__n$1,this); [line 27, column 31]\n APPLY_ABSTRACTION; [line 27, column 31]\n " shape="box"] +"operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" [label="3: Return Stmt \n n$0=*&__return_param:conversion_operator::X* [line 27, column 18]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const ); [line 27, column 25]\n n$5=*&this:conversion_operator::Y* [line 27, column 27]\n n$6=*n$5.f:int [line 27, column 27]\n n$7=*&this:conversion_operator::Y* [line 27, column 30]\n n$8=*n$7.b:int [line 27, column 30]\n n$9=_fun_conversion_operator::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *,n$6:int,n$8:_Bool) [line 27, column 25]\n n$10=_fun_conversion_operator::X::X(n$0:conversion_operator::X*,&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const &) [line 27, column 25]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const [line 27, column 31]\n n$3=_fun_conversion_operator::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$1:conversion_operator::X const *) injected [line 27, column 31]\n " shape="box"] "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_3" -> "operator_X#Y#conversion_operator(class conversion_operator::X)#(9875474444891926125).86894a9a1bdbf53dc3721d092420d60c_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/default_parameters.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/default_parameters.cpp.dot index 20d00cadc..f8f811a68 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/default_parameters.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/default_parameters.cpp.dot @@ -7,15 +7,15 @@ digraph cfg { "call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_2" [label="2: Exit call_method_with_default_parameters \n " color=yellow style=filled] -"call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_3" [label="3: Call _fun_A::fun_default \n n$0=*&a_ptr:A* [line 18, column 3]\n _=*n$0:A [line 18, column 3]\n n$2=_fun_A::fun_default(n$0:A*,1:int,10:int,20:int) [line 18, column 3]\n NULLIFY(&a_ptr); [line 18, column 3]\n EXIT_SCOPE(_,n$0,n$2,a_ptr); [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] +"call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_3" [label="3: Call _fun_A::fun_default \n n$0=*&a_ptr:A* [line 18, column 3]\n _=*n$0:A [line 18, column 3]\n n$2=_fun_A::fun_default(n$0:A*,1:int,10:int,20:int) [line 18, column 3]\n " shape="box"] "call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_3" -> "call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_2" ; -"call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_4" [label="4: Call _fun_A::fun_default \n n$3=*&a_ptr:A* [line 17, column 3]\n _=*n$3:A [line 17, column 3]\n n$5=_fun_A::fun_default(n$3:A*,1:int,2:int,20:int) [line 17, column 3]\n EXIT_SCOPE(_,n$3,n$5); [line 17, column 3]\n " shape="box"] +"call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_4" [label="4: Call _fun_A::fun_default \n n$3=*&a_ptr:A* [line 17, column 3]\n _=*n$3:A [line 17, column 3]\n n$5=_fun_A::fun_default(n$3:A*,1:int,2:int,20:int) [line 17, column 3]\n " shape="box"] "call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_4" -> "call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_3" ; -"call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_5" [label="5: Call _fun_A::fun_default \n n$6=*&a_ptr:A* [line 16, column 3]\n _=*n$6:A [line 16, column 3]\n n$8=_fun_A::fun_default(n$6:A*,1:int,2:int,3:int) [line 16, column 3]\n EXIT_SCOPE(_,n$6,n$8); [line 16, column 3]\n " shape="box"] +"call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_5" [label="5: Call _fun_A::fun_default \n n$6=*&a_ptr:A* [line 16, column 3]\n _=*n$6:A [line 16, column 3]\n n$8=_fun_A::fun_default(n$6:A*,1:int,2:int,3:int) [line 16, column 3]\n " shape="box"] "call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_5" -> "call_method_with_default_parameters#7436997991634263214.eaaed1a0020d12e677ebd0f9049f2e4a_4" ; @@ -26,7 +26,7 @@ digraph cfg { "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_2" [label="2: Exit A::fun_default \n " color=yellow style=filled] -"fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_3" [label="3: Return Stmt \n n$0=*&a:int [line 11, column 59]\n n$1=*&b:int [line 11, column 63]\n n$2=*&c:int [line 11, column 67]\n *&return:int=((n$0 + n$1) + n$2) [line 11, column 52]\n NULLIFY(&a); [line 11, column 52]\n NULLIFY(&c); [line 11, column 52]\n NULLIFY(&b); [line 11, column 52]\n EXIT_SCOPE(n$0,n$1,n$2,a,c,b); [line 11, column 52]\n APPLY_ABSTRACTION; [line 11, column 52]\n " shape="box"] +"fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_3" [label="3: Return Stmt \n n$0=*&a:int [line 11, column 59]\n n$1=*&b:int [line 11, column 63]\n n$2=*&c:int [line 11, column 67]\n *&return:int=((n$0 + n$1) + n$2) [line 11, column 52]\n " shape="box"] "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_3" -> "fun_default#A#(5743605731228394805).32785ab130b2379c4e3e1b8b23953e73_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot index 24ae50098..9be674159 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/dereference_this.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call _fun_A::method \n n$0=*&a_ptr:A* [line 23, column 3]\n _=*n$0:A [line 23, column 3]\n n$2=_fun_A::method(n$0:A*) [line 23, column 3]\n NULLIFY(&a_ptr); [line 23, column 3]\n EXIT_SCOPE(_,n$0,n$2,a_ptr); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call _fun_A::method \n n$0=*&a_ptr:A* [line 23, column 3]\n _=*n$0:A [line 23, column 3]\n n$2=_fun_A::method(n$0:A*) [line 23, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; @@ -18,7 +18,7 @@ digraph cfg { "init#A#(11888841587519675340).79bf6a1702f6a90708acc2d560532750_2" [label="2: Exit A::init \n " color=yellow style=filled] -"init#A#(11888841587519675340).79bf6a1702f6a90708acc2d560532750_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:A* [line 12, column 24]\n n$1=*&val:int [line 12, column 32]\n *n$0.field:int=n$1 [line 12, column 24]\n NULLIFY(&val); [line 12, column 24]\n NULLIFY(&this); [line 12, column 24]\n EXIT_SCOPE(n$0,n$1,val,this); [line 12, column 24]\n APPLY_ABSTRACTION; [line 12, column 24]\n " shape="box"] +"init#A#(11888841587519675340).79bf6a1702f6a90708acc2d560532750_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:A* [line 12, column 24]\n n$1=*&val:int [line 12, column 32]\n *n$0.field:int=n$1 [line 12, column 24]\n " shape="box"] "init#A#(11888841587519675340).79bf6a1702f6a90708acc2d560532750_3" -> "init#A#(11888841587519675340).79bf6a1702f6a90708acc2d560532750_2" ; @@ -29,11 +29,11 @@ digraph cfg { "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_2" [label="2: Exit A::method \n " color=yellow style=filled] -"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" [label="3: Return Stmt \n n$0=*&this:A* [line 18, column 10]\n n$1=*n$0.field:int [line 18, column 10]\n *&return:int=n$1 [line 18, column 3]\n NULLIFY(&this); [line 18, column 3]\n EXIT_SCOPE(n$0,n$1,this); [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] +"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" [label="3: Return Stmt \n n$0=*&this:A* [line 18, column 10]\n n$1=*n$0.field:int [line 18, column 10]\n *&return:int=n$1 [line 18, column 3]\n " shape="box"] "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_2" ; -"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" [label="4: Call _fun_A::init \n n$2=*&this:A* [line 17, column 3]\n _=*n$2:A [line 17, column 3]\n n$4=_fun_A::init(n$2:A*,10:int) [line 17, column 3]\n EXIT_SCOPE(_,n$2,n$4); [line 17, column 3]\n " shape="box"] +"method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" [label="4: Call _fun_A::init \n n$2=*&this:A* [line 17, column 3]\n _=*n$2:A [line 17, column 3]\n n$4=_fun_A::init(n$2:A*,10:int) [line 17, column 3]\n " shape="box"] "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_4" -> "method#A#(5340410962252776012).be8cb65bc6e38d687825fbc80265a66c_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot index 85f431376..d9f4e8439 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/inline_method.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "test_call#15378839304774239070.15b3496769d2a65d506975ce94efc03a_2" [label="2: Exit test_call \n " color=yellow style=filled] -"test_call#15378839304774239070.15b3496769d2a65d506975ce94efc03a_3" [label="3: Call _fun_A::AIn::fun \n n$0=*&a_ptr:A* [line 24, column 3]\n n$1=*n$0.in:A::AIn* [line 24, column 3]\n _=*n$1:A::AIn [line 24, column 3]\n n$3=_fun_A::AIn::fun(n$1:A::AIn*) [line 24, column 3]\n NULLIFY(&a_ptr); [line 24, column 3]\n EXIT_SCOPE(_,n$0,n$1,n$3,a_ptr); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"test_call#15378839304774239070.15b3496769d2a65d506975ce94efc03a_3" [label="3: Call _fun_A::AIn::fun \n n$0=*&a_ptr:A* [line 24, column 3]\n n$1=*n$0.in:A::AIn* [line 24, column 3]\n _=*n$1:A::AIn [line 24, column 3]\n n$3=_fun_A::AIn::fun(n$1:A::AIn*) [line 24, column 3]\n " shape="box"] "test_call#15378839304774239070.15b3496769d2a65d506975ce94efc03a_3" -> "test_call#15378839304774239070.15b3496769d2a65d506975ce94efc03a_2" ; -"test_call#15378839304774239070.15b3496769d2a65d506975ce94efc03a_4" [label="4: Call _fun_A::fun \n n$4=*&a_ptr:A* [line 23, column 3]\n _=*n$4:A [line 23, column 3]\n n$6=_fun_A::fun(n$4:A*) [line 23, column 3]\n EXIT_SCOPE(_,n$4,n$6); [line 23, column 3]\n " shape="box"] +"test_call#15378839304774239070.15b3496769d2a65d506975ce94efc03a_4" [label="4: Call _fun_A::fun \n n$4=*&a_ptr:A* [line 23, column 3]\n _=*n$4:A [line 23, column 3]\n n$6=_fun_A::fun(n$4:A*) [line 23, column 3]\n " shape="box"] "test_call#15378839304774239070.15b3496769d2a65d506975ce94efc03a_4" -> "test_call#15378839304774239070.15b3496769d2a65d506975ce94efc03a_3" ; @@ -22,7 +22,7 @@ digraph cfg { "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_2" [label="2: Exit A::fun \n " color=yellow style=filled] -"fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_3" [label="3: Return Stmt \n n$0=*&c:int [line 17, column 12]\n *&return:int=(n$0 + 1) [line 17, column 5]\n NULLIFY(&c); [line 17, column 5]\n EXIT_SCOPE(n$0,c); [line 17, column 5]\n APPLY_ABSTRACTION; [line 17, column 5]\n " shape="box"] +"fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_3" [label="3: Return Stmt \n n$0=*&c:int [line 17, column 12]\n *&return:int=(n$0 + 1) [line 17, column 5]\n " shape="box"] "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_3" -> "fun#A#(6769533171018954461).6e614e38165b38606d6bb10131a47562_2" ; @@ -37,7 +37,7 @@ digraph cfg { "fun#AIn#A#(17528145322324410262).de07a32bd66fbc8be90423f331f88c1d_2" [label="2: Exit A::AIn::fun \n " color=yellow style=filled] -"fun#AIn#A#(17528145322324410262).de07a32bd66fbc8be90423f331f88c1d_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 17]\n APPLY_ABSTRACTION; [line 11, column 17]\n " shape="box"] +"fun#AIn#A#(17528145322324410262).de07a32bd66fbc8be90423f331f88c1d_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 17]\n " shape="box"] "fun#AIn#A#(17528145322324410262).de07a32bd66fbc8be90423f331f88c1d_3" -> "fun#AIn#A#(17528145322324410262).de07a32bd66fbc8be90423f331f88c1d_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/overloading.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/overloading.cpp.dot index 2d3f0e1b9..c330e387f 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/overloading.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/overloading.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call _fun_A::fun \n n$0=*&a_ptr:A* [line 22, column 3]\n _=*n$0:A [line 22, column 3]\n n$2=_fun_A::fun(n$0:A*,1:int,2:int,3:int) [line 22, column 3]\n NULLIFY(&a_ptr); [line 22, column 3]\n EXIT_SCOPE(_,n$0,n$2,a_ptr); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call _fun_A::fun \n n$0=*&a_ptr:A* [line 22, column 3]\n _=*n$0:A [line 22, column 3]\n n$2=_fun_A::fun(n$0:A*,1:int,2:int,3:int) [line 22, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: Call _fun_A::fun \n n$3=*&a_ptr:A* [line 21, column 3]\n _=*n$3:A [line 21, column 3]\n n$5=_fun_A::fun(n$3:A*,1:int,2:int) [line 21, column 3]\n EXIT_SCOPE(_,n$3,n$5); [line 21, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: Call _fun_A::fun \n n$3=*&a_ptr:A* [line 21, column 3]\n _=*n$3:A [line 21, column 3]\n n$5=_fun_A::fun(n$3:A*,1:int,2:int) [line 21, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; @@ -22,7 +22,7 @@ digraph cfg { "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_2" [label="2: Exit A::fun \n " color=yellow style=filled] -"fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_3" [label="3: Return Stmt \n n$0=*&a:int [line 14, column 42]\n n$1=*&b:int [line 14, column 46]\n n$2=*&c:int [line 14, column 50]\n *&return:int=((n$0 + n$1) + n$2) [line 14, column 35]\n NULLIFY(&a); [line 14, column 35]\n NULLIFY(&c); [line 14, column 35]\n NULLIFY(&b); [line 14, column 35]\n EXIT_SCOPE(n$0,n$1,n$2,a,c,b); [line 14, column 35]\n APPLY_ABSTRACTION; [line 14, column 35]\n " shape="box"] +"fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_3" [label="3: Return Stmt \n n$0=*&a:int [line 14, column 42]\n n$1=*&b:int [line 14, column 46]\n n$2=*&c:int [line 14, column 50]\n *&return:int=((n$0 + n$1) + n$2) [line 14, column 35]\n " shape="box"] "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_3" -> "fun#A#(11837362180710022838).bd816a84384ccf9d60cef41667a13288_2" ; @@ -33,7 +33,7 @@ digraph cfg { "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_2" [label="2: Exit A::fun \n " color=yellow style=filled] -"fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 35]\n n$1=*&b:int [line 16, column 39]\n *&return:int=(n$0 - n$1) [line 16, column 28]\n NULLIFY(&a); [line 16, column 28]\n NULLIFY(&b); [line 16, column 28]\n EXIT_SCOPE(n$0,n$1,a,b); [line 16, column 28]\n APPLY_ABSTRACTION; [line 16, column 28]\n " shape="box"] +"fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 35]\n n$1=*&b:int [line 16, column 39]\n *&return:int=(n$0 - n$1) [line 16, column 28]\n " shape="box"] "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_3" -> "fun#A#(8182299831707963163).ce97257c1f3f892cff78d992a175b48a_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot index 0d08bcf51..c28883cc4 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/return_struct.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_1" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" ; -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" [label="2: Exit test \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 22, column 1]\n NULLIFY(&x); [line 22, column 1]\n " color=yellow style=filled] +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" [label="2: Exit test \n " color=yellow style=filled] -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 21, column 14]\n *&return:int=(1 / n$0) [line 21, column 3]\n _=*&x:X [line 21, column 16]\n n$2=_fun_X::~X(&x:X*) injected [line 21, column 16]\n EXIT_SCOPE(_,n$0,n$2,x); [line 21, column 16]\n APPLY_ABSTRACTION; [line 21, column 16]\n " shape="box"] +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 21, column 14]\n *&return:int=(1 / n$0) [line 21, column 3]\n _=*&x:X [line 21, column 16]\n n$2=_fun_X::~X(&x:X*) injected [line 21, column 16]\n " shape="box"] "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_2" ; -"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:X); [line 20, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:X); [line 20, column 9]\n n$8=*&a:A* [line 20, column 9]\n _=*n$8:A [line 20, column 9]\n n$11=_fun_A::get(n$8:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) assign_last [line 20, column 9]\n n$12=_fun_X::X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:X&) [line 20, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:X [line 20, column 17]\n n$6=_fun_X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) injected [line 20, column 17]\n NULLIFY(&a); [line 20, column 17]\n EXIT_SCOPE(_,_,n$6,n$8,n$11,n$12,a,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 20, column 17]\n " shape="box"] +"test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:X); [line 20, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:X); [line 20, column 9]\n n$8=*&a:A* [line 20, column 9]\n _=*n$8:A [line 20, column 9]\n n$11=_fun_A::get(n$8:A*,1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) assign_last [line 20, column 9]\n n$12=_fun_X::X(&x:X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:X&) [line 20, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:X [line 20, column 17]\n n$6=_fun_X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:X*) injected [line 20, column 17]\n " shape="box"] "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_4" -> "test(class A)#14183353284361723530.f22d37fbaacc66a7efb8fb240415be10_3" ; @@ -19,14 +19,14 @@ digraph cfg { "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_1" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" ; -"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_2" [label="2: Exit A::get \n NULLIFY(&x); [line 16, column 3]\n " color=yellow style=filled] +"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_2" [label="2: Exit A::get \n " color=yellow style=filled] -"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 15, column 5]\n n$1=_fun_X::X(n$0:X*,&x:X&) [line 15, column 12]\n _=*&x:X [line 15, column 12]\n n$3=_fun_X::~X(&x:X*) injected [line 15, column 12]\n NULLIFY(&__return_param); [line 15, column 12]\n EXIT_SCOPE(_,n$0,n$1,n$3,x,__return_param); [line 15, column 12]\n APPLY_ABSTRACTION; [line 15, column 12]\n " shape="box"] +"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" [label="3: Return Stmt \n n$0=*&__return_param:X* [line 15, column 5]\n n$1=_fun_X::X(n$0:X*,&x:X&) [line 15, column 12]\n _=*&x:X [line 15, column 12]\n n$3=_fun_X::~X(&x:X*) injected [line 15, column 12]\n " shape="box"] "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_2" ; -"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:X); [line 14, column 5]\n n$5=_fun_X::X(&x:X*) [line 14, column 7]\n EXIT_SCOPE(n$5); [line 14, column 7]\n " shape="box"] +"get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:X); [line 14, column 5]\n n$5=_fun_X::X(&x:X*) [line 14, column 7]\n " shape="box"] "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_4" -> "get#A(class X)#(1761444600576643509).0f83d3543d984a8645cb78162580d93f_3" ; @@ -37,7 +37,7 @@ digraph cfg { "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_2" [label="2: Exit X::X \n " color=yellow style=filled] -"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" [label="3: Constructor Init \n n$1=*&this:X* [line 8, column 8]\n n$2=*&__param_0:X& [line 8, column 8]\n n$3=*n$2.f:int [line 8, column 8]\n *n$1.f:int=n$3 [line 8, column 8]\n NULLIFY(&this); [line 8, column 8]\n NULLIFY(&__param_0); [line 8, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 8, column 8]\n APPLY_ABSTRACTION; [line 8, column 8]\n " shape="box"] +"X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" [label="3: Constructor Init \n n$1=*&this:X* [line 8, column 8]\n n$2=*&__param_0:X& [line 8, column 8]\n n$3=*n$2.f:int [line 8, column 8]\n *n$1.f:int=n$3 [line 8, column 8]\n " shape="box"] "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_3" -> "X#X#{4662457305382278389|constexpr}.7a0af4be288b205dc1c04f6801938150_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot index b86dd4056..38331b98d 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/static.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "div0_class#4984704850372216251.260ce38d809793fc3e38787f8d1eb4d6_2" [label="2: Exit div0_class \n " color=yellow style=filled] -"div0_class#4984704850372216251.260ce38d809793fc3e38787f8d1eb4d6_3" [label="3: Call _fun_A::fun \n n$1=_fun_A::fun(0:int) [line 15, column 21]\n EXIT_SCOPE(n$1); [line 15, column 21]\n APPLY_ABSTRACTION; [line 15, column 21]\n " shape="box"] +"div0_class#4984704850372216251.260ce38d809793fc3e38787f8d1eb4d6_3" [label="3: Call _fun_A::fun \n n$1=_fun_A::fun(0:int) [line 15, column 21]\n " shape="box"] "div0_class#4984704850372216251.260ce38d809793fc3e38787f8d1eb4d6_3" -> "div0_class#4984704850372216251.260ce38d809793fc3e38787f8d1eb4d6_2" ; @@ -18,7 +18,7 @@ digraph cfg { "div0_instance(class A)#13376949534750090437.fc775825a5031b981817dd20651240b0_2" [label="2: Exit div0_instance \n " color=yellow style=filled] -"div0_instance(class A)#13376949534750090437.fc775825a5031b981817dd20651240b0_3" [label="3: Call _fun_A::fun \n n$0=*&a:A* [line 19, column 3]\n n$2=_fun_A::fun(0:int) [line 19, column 3]\n NULLIFY(&a); [line 19, column 3]\n EXIT_SCOPE(n$0,n$2,a); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"div0_instance(class A)#13376949534750090437.fc775825a5031b981817dd20651240b0_3" [label="3: Call _fun_A::fun \n n$0=*&a:A* [line 19, column 3]\n n$2=_fun_A::fun(0:int) [line 19, column 3]\n " shape="box"] "div0_instance(class A)#13376949534750090437.fc775825a5031b981817dd20651240b0_3" -> "div0_instance(class A)#13376949534750090437.fc775825a5031b981817dd20651240b0_2" ; @@ -29,7 +29,7 @@ digraph cfg { "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_2" [label="2: Exit A::fun \n " color=yellow style=filled] -"fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_3" [label="3: Return Stmt \n n$0=*&a:int [line 13, column 32]\n *&return:int=(1 / n$0) [line 13, column 21]\n NULLIFY(&a); [line 13, column 21]\n EXIT_SCOPE(n$0,a); [line 13, column 21]\n APPLY_ABSTRACTION; [line 13, column 21]\n " shape="box"] +"fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_3" [label="3: Return Stmt \n n$0=*&a:int [line 13, column 32]\n *&return:int=(1 / n$0) [line 13, column 21]\n " shape="box"] "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_3" -> "fun#A#(6769534270530582672).0ab578f4190d39d2c1b23c6d46a310c6_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot index eb2bb4275..c2699ff01 100644 --- a/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/methods/virtual_methods.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_2" [label="2: Exit call_virtual_destructor \n " color=yellow style=filled] -"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" [label="3: Call delete \n n$0=*&trgl:Polygon* [line 70, column 10]\n n$1=_fun___delete(n$0:Polygon*) [line 70, column 3]\n NULLIFY(&trgl); [line 70, column 3]\n EXIT_SCOPE(n$0,n$1,trgl); [line 70, column 3]\n APPLY_ABSTRACTION; [line 70, column 3]\n " shape="box"] +"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" [label="3: Call delete \n n$0=*&trgl:Polygon* [line 70, column 10]\n n$1=_fun___delete(n$0:Polygon*) [line 70, column 3]\n " shape="box"] "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_2" ; -"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" [label="4: DeclStmt \n VARIABLE_DECLARED(trgl:Polygon*); [line 69, column 3]\n n$2=_fun___new(sizeof(t=Triangle):unsigned long) [line 69, column 19]\n n$3=_fun_Triangle::Triangle(n$2:Triangle*) [line 69, column 23]\n *&trgl:Triangle*=n$2 [line 69, column 3]\n EXIT_SCOPE(n$2,n$3); [line 69, column 3]\n " shape="box"] +"call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" [label="4: DeclStmt \n VARIABLE_DECLARED(trgl:Polygon*); [line 69, column 3]\n n$2=_fun___new(sizeof(t=Triangle):unsigned long) [line 69, column 19]\n n$3=_fun_Triangle::Triangle(n$2:Triangle*) [line 69, column 23]\n *&trgl:Triangle*=n$2 [line 69, column 3]\n " shape="box"] "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_4" -> "call_virtual_destructor#6847397116347440235.d267757a410b72cac399f5e3d0ee0f45_3" ; @@ -19,10 +19,10 @@ digraph cfg { "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_1" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" ; -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" [label="2: Exit poly_area \n NULLIFY(&poly); [line 55, column 1]\n " color=yellow style=filled] +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" [label="2: Exit poly_area \n " color=yellow style=filled] -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" [label="3: Return Stmt \n n$0=*&ppoly3:Polygon* [line 54, column 14]\n _=*n$0:Polygon [line 54, column 14]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 54, column 14]\n *&return:int=(1 / n$2) [line 54, column 3]\n _=*&poly:Polygon [line 54, column 27]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 54, column 27]\n NULLIFY(&ppoly3); [line 54, column 27]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,ppoly3,poly); [line 54, column 27]\n APPLY_ABSTRACTION; [line 54, column 27]\n " shape="box"] +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" [label="3: Return Stmt \n n$0=*&ppoly3:Polygon* [line 54, column 14]\n _=*n$0:Polygon [line 54, column 14]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 54, column 14]\n *&return:int=(1 / n$2) [line 54, column 3]\n _=*&poly:Polygon [line 54, column 27]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 54, column 27]\n " shape="box"] "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_2" ; @@ -30,7 +30,7 @@ digraph cfg { "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_3" ; -"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" [label="5: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 52, column 3]\n n$6=_fun_Polygon::Polygon(&poly:Polygon*) [line 52, column 11]\n EXIT_SCOPE(n$6); [line 52, column 11]\n " shape="box"] +"poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" [label="5: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 52, column 3]\n n$6=_fun_Polygon::Polygon(&poly:Polygon*) [line 52, column 11]\n " shape="box"] "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_5" -> "poly_area#4209622570361008343.816833144841084a7fd6071bbff4c354_4" ; @@ -38,14 +38,14 @@ digraph cfg { "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_1" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" ; -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" [label="2: Exit rect_area \n NULLIFY(&rect); [line 41, column 1]\n " color=yellow style=filled] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" [label="2: Exit rect_area \n " color=yellow style=filled] -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" [label="3: Return Stmt \n n$0=*&ppoly1:Polygon* [line 40, column 15]\n _=*n$0:Polygon [line 40, column 15]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 40, column 15]\n *&return:int=(1 / (n$2 - 20)) [line 40, column 3]\n _=*&rect:Rectangle [line 40, column 34]\n n$4=_fun_Rectangle::~Rectangle(&rect:Rectangle*) injected virtual [line 40, column 34]\n NULLIFY(&ppoly1); [line 40, column 34]\n EXIT_SCOPE(_,_,n$0,n$2,n$4,ppoly1,rect); [line 40, column 34]\n APPLY_ABSTRACTION; [line 40, column 34]\n " shape="box"] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" [label="3: Return Stmt \n n$0=*&ppoly1:Polygon* [line 40, column 15]\n _=*n$0:Polygon [line 40, column 15]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 40, column 15]\n *&return:int=(1 / (n$2 - 20)) [line 40, column 3]\n _=*&rect:Rectangle [line 40, column 34]\n n$4=_fun_Rectangle::~Rectangle(&rect:Rectangle*) injected virtual [line 40, column 34]\n " shape="box"] "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_2" ; -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" [label="4: Call _fun_Polygon::set_values \n n$6=*&ppoly1:Polygon* [line 39, column 3]\n _=*n$6:Polygon [line 39, column 3]\n n$8=_fun_Polygon::set_values(n$6:Polygon*,4:int,5:int) [line 39, column 3]\n EXIT_SCOPE(_,n$6,n$8); [line 39, column 3]\n " shape="box"] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" [label="4: Call _fun_Polygon::set_values \n n$6=*&ppoly1:Polygon* [line 39, column 3]\n _=*n$6:Polygon [line 39, column 3]\n n$8=_fun_Polygon::set_values(n$6:Polygon*,4:int,5:int) [line 39, column 3]\n " shape="box"] "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_3" ; @@ -53,7 +53,7 @@ digraph cfg { "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_4" ; -"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" [label="6: DeclStmt \n VARIABLE_DECLARED(rect:Rectangle); [line 37, column 3]\n n$9=_fun_Rectangle::Rectangle(&rect:Rectangle*) [line 37, column 13]\n EXIT_SCOPE(n$9); [line 37, column 13]\n " shape="box"] +"rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" [label="6: DeclStmt \n VARIABLE_DECLARED(rect:Rectangle); [line 37, column 3]\n n$9=_fun_Rectangle::Rectangle(&rect:Rectangle*) [line 37, column 13]\n " shape="box"] "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_6" -> "rect_area#9087317270636867019.dedb17c23e2d96ddd6e1087003e78815_5" ; @@ -61,14 +61,14 @@ digraph cfg { "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_1" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" [label="2: Exit tri_area \n NULLIFY(&trgl); [line 49, column 1]\n NULLIFY(&poly); [line 49, column 1]\n " color=yellow style=filled] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" [label="2: Exit tri_area \n " color=yellow style=filled] -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 48, column 15]\n _=*n$0:Polygon [line 48, column 15]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 48, column 15]\n *&return:int=(1 / (n$2 - 10)) [line 48, column 3]\n _=*&poly:Polygon [line 48, column 34]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 48, column 34]\n _=*&trgl:Triangle [line 48, column 34]\n n$6=_fun_Triangle::~Triangle(&trgl:Triangle*) injected virtual [line 48, column 34]\n NULLIFY(&ppoly2); [line 48, column 34]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,poly,ppoly2,trgl); [line 48, column 34]\n APPLY_ABSTRACTION; [line 48, column 34]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 48, column 15]\n _=*n$0:Polygon [line 48, column 15]\n n$2=_fun_Polygon::area(n$0:Polygon*) virtual [line 48, column 15]\n *&return:int=(1 / (n$2 - 10)) [line 48, column 3]\n _=*&poly:Polygon [line 48, column 34]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 48, column 34]\n _=*&trgl:Triangle [line 48, column 34]\n n$6=_fun_Triangle::~Triangle(&trgl:Triangle*) injected virtual [line 48, column 34]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_2" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" [label="4: Call _fun_Polygon::set_values \n n$8=*&ppoly2:Polygon* [line 47, column 3]\n _=*n$8:Polygon [line 47, column 3]\n n$10=_fun_Polygon::set_values(n$8:Polygon*,4:int,5:int) [line 47, column 3]\n EXIT_SCOPE(_,n$8,n$10); [line 47, column 3]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" [label="4: Call _fun_Polygon::set_values \n n$8=*&ppoly2:Polygon* [line 47, column 3]\n _=*n$8:Polygon [line 47, column 3]\n n$10=_fun_Polygon::set_values(n$8:Polygon*,4:int,5:int) [line 47, column 3]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_3" ; @@ -76,11 +76,11 @@ digraph cfg { "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_4" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" [label="6: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 45, column 3]\n n$11=_fun_Polygon::Polygon(&poly:Polygon*) [line 45, column 11]\n EXIT_SCOPE(n$11); [line 45, column 11]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" [label="6: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 45, column 3]\n n$11=_fun_Polygon::Polygon(&poly:Polygon*) [line 45, column 11]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_5" ; -"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" [label="7: DeclStmt \n VARIABLE_DECLARED(trgl:Triangle); [line 44, column 3]\n n$12=_fun_Triangle::Triangle(&trgl:Triangle*) [line 44, column 12]\n EXIT_SCOPE(n$12); [line 44, column 12]\n " shape="box"] +"tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" [label="7: DeclStmt \n VARIABLE_DECLARED(trgl:Triangle); [line 44, column 3]\n n$12=_fun_Triangle::Triangle(&trgl:Triangle*) [line 44, column 12]\n " shape="box"] "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_7" -> "tri_area#1215149030941579879.cc7663ab4ea89457778545059b70bc38_6" ; @@ -88,14 +88,14 @@ digraph cfg { "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_1" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" [label="2: Exit tri_not_virtual_area \n NULLIFY(&trgl); [line 63, column 1]\n NULLIFY(&poly); [line 63, column 1]\n " color=yellow style=filled] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" [label="2: Exit tri_not_virtual_area \n " color=yellow style=filled] -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 62, column 14]\n _=*n$0:Polygon [line 62, column 14]\n n$2=_fun_Polygon::area(n$0:Polygon*) [line 62, column 14]\n *&return:int=(1 / n$2) [line 62, column 3]\n _=*&poly:Polygon [line 62, column 36]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 62, column 36]\n _=*&trgl:Triangle [line 62, column 36]\n n$6=_fun_Triangle::~Triangle(&trgl:Triangle*) injected virtual [line 62, column 36]\n NULLIFY(&ppoly2); [line 62, column 36]\n EXIT_SCOPE(_,_,_,n$0,n$2,n$4,n$6,poly,trgl,ppoly2); [line 62, column 36]\n APPLY_ABSTRACTION; [line 62, column 36]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" [label="3: Return Stmt \n n$0=*&ppoly2:Polygon* [line 62, column 14]\n _=*n$0:Polygon [line 62, column 14]\n n$2=_fun_Polygon::area(n$0:Polygon*) [line 62, column 14]\n *&return:int=(1 / n$2) [line 62, column 3]\n _=*&poly:Polygon [line 62, column 36]\n n$4=_fun_Polygon::~Polygon(&poly:Polygon*) injected virtual [line 62, column 36]\n _=*&trgl:Triangle [line 62, column 36]\n n$6=_fun_Triangle::~Triangle(&trgl:Triangle*) injected virtual [line 62, column 36]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_2" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" [label="4: Call _fun_Polygon::set_values \n n$8=*&ppoly2:Polygon* [line 61, column 3]\n _=*n$8:Polygon [line 61, column 3]\n n$10=_fun_Polygon::set_values(n$8:Polygon*,4:int,5:int) [line 61, column 3]\n EXIT_SCOPE(_,n$8,n$10); [line 61, column 3]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" [label="4: Call _fun_Polygon::set_values \n n$8=*&ppoly2:Polygon* [line 61, column 3]\n _=*n$8:Polygon [line 61, column 3]\n n$10=_fun_Polygon::set_values(n$8:Polygon*,4:int,5:int) [line 61, column 3]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_3" ; @@ -103,11 +103,11 @@ digraph cfg { "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_5" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_4" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" [label="6: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 59, column 3]\n n$11=_fun_Polygon::Polygon(&poly:Polygon*) [line 59, column 11]\n EXIT_SCOPE(n$11); [line 59, column 11]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" [label="6: DeclStmt \n VARIABLE_DECLARED(poly:Polygon); [line 59, column 3]\n n$11=_fun_Polygon::Polygon(&poly:Polygon*) [line 59, column 11]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_5" ; -"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" [label="7: DeclStmt \n VARIABLE_DECLARED(trgl:Triangle); [line 58, column 3]\n n$12=_fun_Triangle::Triangle(&trgl:Triangle*) [line 58, column 12]\n EXIT_SCOPE(n$12); [line 58, column 12]\n " shape="box"] +"tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" [label="7: DeclStmt \n VARIABLE_DECLARED(trgl:Triangle); [line 58, column 3]\n n$12=_fun_Triangle::Triangle(&trgl:Triangle*) [line 58, column 12]\n " shape="box"] "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_7" -> "tri_not_virtual_area#9435562296359660595.88e7106fc7dcfd34401502a9deb415ac_6" ; @@ -118,7 +118,7 @@ digraph cfg { "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_2" [label="2: Exit Polygon::area \n " color=yellow style=filled] -"area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 24]\n APPLY_ABSTRACTION; [line 18, column 24]\n " shape="box"] +"area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 24]\n " shape="box"] "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_3" -> "area#Polygon#(14534668876010564879).ccccc470b1eafda401273f4b27bbfa9f_2" ; @@ -129,11 +129,11 @@ digraph cfg { "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_2" [label="2: Exit Polygon::set_values \n " color=yellow style=filled] -"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:Polygon* [line 16, column 5]\n n$1=*&b:int [line 16, column 14]\n *n$0.height:int=n$1 [line 16, column 5]\n NULLIFY(&b); [line 16, column 5]\n NULLIFY(&this); [line 16, column 5]\n EXIT_SCOPE(n$0,n$1,b,this); [line 16, column 5]\n APPLY_ABSTRACTION; [line 16, column 5]\n " shape="box"] +"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:Polygon* [line 16, column 5]\n n$1=*&b:int [line 16, column 14]\n *n$0.height:int=n$1 [line 16, column 5]\n " shape="box"] "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" -> "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_2" ; -"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:Polygon* [line 15, column 5]\n n$3=*&a:int [line 15, column 13]\n *n$2.width:int=n$3 [line 15, column 5]\n NULLIFY(&a); [line 15, column 5]\n EXIT_SCOPE(n$2,n$3,a); [line 15, column 5]\n " shape="box"] +"set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:Polygon* [line 15, column 5]\n n$3=*&a:int [line 15, column 13]\n *n$2.width:int=n$3 [line 15, column 5]\n " shape="box"] "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_4" -> "set_values#Polygon#(2698446688876490094).f9216ba6d3085c8bce59aeddec27f348_3" ; @@ -151,7 +151,7 @@ digraph cfg { "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_2" [label="2: Exit Rectangle::area \n " color=yellow style=filled] -"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" [label="3: Return Stmt \n n$0=*&this:Rectangle* [line 24, column 23]\n n$1=*n$0.width:int [line 24, column 23]\n n$2=*&this:Rectangle* [line 24, column 31]\n n$3=*n$2.height:int [line 24, column 31]\n *&return:int=(n$1 * n$3) [line 24, column 16]\n NULLIFY(&this); [line 24, column 16]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,this); [line 24, column 16]\n APPLY_ABSTRACTION; [line 24, column 16]\n " shape="box"] +"area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" [label="3: Return Stmt \n n$0=*&this:Rectangle* [line 24, column 23]\n n$1=*n$0.width:int [line 24, column 23]\n n$2=*&this:Rectangle* [line 24, column 31]\n n$3=*n$2.height:int [line 24, column 31]\n *&return:int=(n$1 * n$3) [line 24, column 16]\n " shape="box"] "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_3" -> "area#Rectangle#(14534668876010564879).9b17971eaa6024f5a21d98d4b495fbd8_2" ; @@ -162,7 +162,7 @@ digraph cfg { "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" [label="2: Exit Rectangle::Rectangle \n " color=yellow style=filled] -"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" [label="3: Constructor Init \n n$1=*&this:Rectangle* [line 21, column 7]\n n$2=_fun_Polygon::Polygon(n$1:Rectangle*) [line 21, column 7]\n NULLIFY(&this); [line 21, column 7]\n EXIT_SCOPE(n$1,n$2,this); [line 21, column 7]\n APPLY_ABSTRACTION; [line 21, column 7]\n " shape="box"] +"Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" [label="3: Constructor Init \n n$1=*&this:Rectangle* [line 21, column 7]\n n$2=_fun_Polygon::Polygon(n$1:Rectangle*) [line 21, column 7]\n " shape="box"] "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_3" -> "Rectangle#Rectangle#{548993796743293985}.386f89cceb4c14e4fc014bcc1ec86f4b_2" ; @@ -173,11 +173,11 @@ digraph cfg { "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_2" [label="2: Exit Triangle::area \n " color=yellow style=filled] -"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" [label="3: Return Stmt \n n$0=*&x:int [line 32, column 12]\n *&return:int=(n$0 - 10) [line 32, column 5]\n NULLIFY(&x); [line 32, column 5]\n EXIT_SCOPE(n$0,x); [line 32, column 5]\n APPLY_ABSTRACTION; [line 32, column 5]\n " shape="box"] +"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" [label="3: Return Stmt \n n$0=*&x:int [line 32, column 12]\n *&return:int=(n$0 - 10) [line 32, column 5]\n " shape="box"] "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_2" ; -"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 31, column 5]\n n$1=*&this:Triangle* [line 31, column 13]\n n$2=*n$1.width:int [line 31, column 13]\n n$3=*&this:Triangle* [line 31, column 21]\n n$4=*n$3.height:int [line 31, column 21]\n *&x:int=(n$2 * n$4) [line 31, column 5]\n NULLIFY(&this); [line 31, column 5]\n EXIT_SCOPE(n$1,n$2,n$3,n$4,this); [line 31, column 5]\n " shape="box"] +"area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 31, column 5]\n n$1=*&this:Triangle* [line 31, column 13]\n n$2=*n$1.width:int [line 31, column 13]\n n$3=*&this:Triangle* [line 31, column 21]\n n$4=*n$3.height:int [line 31, column 21]\n *&x:int=(n$2 * n$4) [line 31, column 5]\n " shape="box"] "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_4" -> "area#Triangle#(14534668876010564879).b2c96bbb8f170e9d12180637dc0d6da3_3" ; @@ -188,7 +188,7 @@ digraph cfg { "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" [label="2: Exit Triangle::Triangle \n " color=yellow style=filled] -"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" [label="3: Constructor Init \n n$1=*&this:Triangle* [line 27, column 7]\n n$2=_fun_Polygon::Polygon(n$1:Triangle*) [line 27, column 7]\n NULLIFY(&this); [line 27, column 7]\n EXIT_SCOPE(n$1,n$2,this); [line 27, column 7]\n APPLY_ABSTRACTION; [line 27, column 7]\n " shape="box"] +"Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" [label="3: Constructor Init \n n$1=*&this:Triangle* [line 27, column 7]\n n$2=_fun_Polygon::Polygon(n$1:Triangle*) [line 27, column 7]\n " shape="box"] "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_3" -> "Triangle#Triangle#{15421032765127472541}.26bfd28d102273793a62fe013a50a7d1_2" ; @@ -199,7 +199,7 @@ digraph cfg { "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_2" [label="2: Exit Triangle::__infer_inner_destructor_~Triangle \n " color=yellow style=filled] -"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" [label="3: Destruction(fields) \n n$0=*&this:Triangle* [line 29, column 15]\n _=*n$0:Triangle [line 29, column 15]\n n$2=_fun_Polygon::__infer_inner_destructor_~Polygon(n$0:Triangle*) injected virtual [line 29, column 15]\n NULLIFY(&this); [line 29, column 15]\n EXIT_SCOPE(_,n$0,n$2,this); [line 29, column 15]\n APPLY_ABSTRACTION; [line 29, column 15]\n " shape="box"] +"__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" [label="3: Destruction(fields) \n n$0=*&this:Triangle* [line 29, column 15]\n _=*n$0:Triangle [line 29, column 15]\n n$2=_fun_Polygon::__infer_inner_destructor_~Polygon(n$0:Triangle*) injected virtual [line 29, column 15]\n " shape="box"] "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_3" -> "__infer_inner_destructor_~Triangle#Triangle#(14073216405110724792).c04c3fa3cd50a3125c149616f3af0105_2" ; @@ -210,7 +210,7 @@ digraph cfg { "~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_2" [label="2: Exit Triangle::~Triangle \n " color=yellow style=filled] -"~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_3" [label="3: Destruction(virtual base) \n n$0=*&this:Triangle* [line 29, column 15]\n _=*n$0:Triangle [line 29, column 15]\n n$2=_fun_Triangle::__infer_inner_destructor_~Triangle(n$0:Triangle*) injected virtual [line 29, column 15]\n NULLIFY(&this); [line 29, column 15]\n EXIT_SCOPE(_,n$0,n$2,this); [line 29, column 15]\n APPLY_ABSTRACTION; [line 29, column 15]\n " shape="box"] +"~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_3" [label="3: Destruction(virtual base) \n n$0=*&this:Triangle* [line 29, column 15]\n _=*n$0:Triangle [line 29, column 15]\n n$2=_fun_Triangle::__infer_inner_destructor_~Triangle(n$0:Triangle*) injected virtual [line 29, column 15]\n " shape="box"] "~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_3" -> "~Triangle#Triangle#(14073216405110724792).8adff4889e6d988a35e49531a9afaad5_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot index f0fa933ae..c0383e75c 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/function.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_2" [label="2: Exit div0_namespace_resolution \n " color=yellow style=filled] -"div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_3" [label="3: Return Stmt \n n$0=_fun_f1::get() [line 22, column 47]\n n$1=_fun_f2::get() [line 22, column 59]\n *&return:int=(1 / (n$0 + n$1)) [line 22, column 35]\n EXIT_SCOPE(n$0,n$1); [line 22, column 35]\n APPLY_ABSTRACTION; [line 22, column 35]\n " shape="box"] +"div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_3" [label="3: Return Stmt \n n$0=_fun_f1::get() [line 22, column 47]\n n$1=_fun_f2::get() [line 22, column 59]\n *&return:int=(1 / (n$0 + n$1)) [line 22, column 35]\n " shape="box"] "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_3" -> "div0_namespace_resolution#14165120127941064123.2433829c6d52c7e69a43e89e30e4c7fc_2" ; @@ -18,7 +18,7 @@ digraph cfg { "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_2" [label="2: Exit div0_using \n " color=yellow style=filled] -"div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_3" [label="3: Return Stmt \n n$0=_fun_f1::get0() [line 19, column 14]\n *&return:int=(1 / n$0) [line 19, column 3]\n EXIT_SCOPE(n$0); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_3" [label="3: Return Stmt \n n$0=_fun_f1::get0() [line 19, column 14]\n *&return:int=(1 / n$0) [line 19, column 3]\n " shape="box"] "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_3" -> "div0_using#4232634229583313075.9331f51b08b546cc4cf3f4b4f22e46ff_2" ; @@ -29,7 +29,7 @@ digraph cfg { "get#f1#11182918362941702717.40a87222281cbcdb639beb16ed92bf79_2" [label="2: Exit f1::get \n " color=yellow style=filled] -"get#f1#11182918362941702717.40a87222281cbcdb639beb16ed92bf79_3" [label="3: Return Stmt \n *&return:int=1 [line 9, column 13]\n APPLY_ABSTRACTION; [line 9, column 13]\n " shape="box"] +"get#f1#11182918362941702717.40a87222281cbcdb639beb16ed92bf79_3" [label="3: Return Stmt \n *&return:int=1 [line 9, column 13]\n " shape="box"] "get#f1#11182918362941702717.40a87222281cbcdb639beb16ed92bf79_3" -> "get#f1#11182918362941702717.40a87222281cbcdb639beb16ed92bf79_2" ; @@ -40,7 +40,7 @@ digraph cfg { "get#f2#4584566886545893232.5a8ac538c5463a04db693a70ff1f379b_2" [label="2: Exit f2::get \n " color=yellow style=filled] -"get#f2#4584566886545893232.5a8ac538c5463a04db693a70ff1f379b_3" [label="3: Return Stmt \n *&return:int=-1 [line 14, column 13]\n APPLY_ABSTRACTION; [line 14, column 13]\n " shape="box"] +"get#f2#4584566886545893232.5a8ac538c5463a04db693a70ff1f379b_3" [label="3: Return Stmt \n *&return:int=-1 [line 14, column 13]\n " shape="box"] "get#f2#4584566886545893232.5a8ac538c5463a04db693a70ff1f379b_3" -> "get#f2#4584566886545893232.5a8ac538c5463a04db693a70ff1f379b_2" ; @@ -51,7 +51,7 @@ digraph cfg { "get0#f1#8249585443771353912.5f8dd295c37fb33ddae3c72efc338f89_2" [label="2: Exit f1::get0 \n " color=yellow style=filled] -"get0#f1#8249585443771353912.5f8dd295c37fb33ddae3c72efc338f89_3" [label="3: Return Stmt \n *&return:int=0 [line 10, column 14]\n APPLY_ABSTRACTION; [line 10, column 14]\n " shape="box"] +"get0#f1#8249585443771353912.5f8dd295c37fb33ddae3c72efc338f89_3" [label="3: Return Stmt \n *&return:int=0 [line 10, column 14]\n " shape="box"] "get0#f1#8249585443771353912.5f8dd295c37fb33ddae3c72efc338f89_3" -> "get0#f1#8249585443771353912.5f8dd295c37fb33ddae3c72efc338f89_2" ; @@ -62,7 +62,7 @@ digraph cfg { "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_2" [label="2: Exit type_alias_div0 \n " color=yellow style=filled] -"type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" [label="3: Return Stmt \n n$0=*&x:int [line 39, column 14]\n *&return:int=(1 / n$0) [line 39, column 3]\n NULLIFY(&x); [line 39, column 3]\n EXIT_SCOPE(n$0,x); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" [label="3: Return Stmt \n n$0=*&x:int [line 39, column 14]\n *&return:int=(1 / n$0) [line 39, column 3]\n " shape="box"] "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_3" -> "type_alias_div0#11064282270104671255.675c026241b82e6430f7456d997b57b4_2" ; @@ -77,7 +77,7 @@ digraph cfg { "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_2" [label="2: Exit using_div0 \n " color=yellow style=filled] -"using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_3" [label="3: Return Stmt \n n$1=_fun_f3::C::ret_zero() [line 33, column 14]\n *&return:int=(1 / n$1) [line 33, column 3]\n EXIT_SCOPE(n$1); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_3" [label="3: Return Stmt \n n$1=_fun_f3::C::ret_zero() [line 33, column 14]\n *&return:int=(1 / n$1) [line 33, column 3]\n " shape="box"] "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_3" -> "using_div0#15267107907897398237.0f32134dc9668df527885e12e16348fe_2" ; @@ -88,7 +88,7 @@ digraph cfg { "ret_zero#C#f3#(14815103288805165028).4dbfdc84a3e84f15300709ed03f3f5c1_2" [label="2: Exit f3::C::ret_zero \n " color=yellow style=filled] -"ret_zero#C#f3#(14815103288805165028).4dbfdc84a3e84f15300709ed03f3f5c1_3" [label="3: Return Stmt \n *&return:int=0 [line 27, column 27]\n APPLY_ABSTRACTION; [line 27, column 27]\n " shape="box"] +"ret_zero#C#f3#(14815103288805165028).4dbfdc84a3e84f15300709ed03f3f5c1_3" [label="3: Return Stmt \n *&return:int=0 [line 27, column 27]\n " shape="box"] "ret_zero#C#f3#(14815103288805165028).4dbfdc84a3e84f15300709ed03f3f5c1_3" -> "ret_zero#C#f3#(14815103288805165028).4dbfdc84a3e84f15300709ed03f3f5c1_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot index 442a1619e..f895ba885 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/global_variable.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_2" [label="2: Exit div0_namepace_res \n " color=yellow style=filled] -"div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_3" [label="3: Return Stmt \n n$0=*&#GB$f1::val:int [line 29, column 15]\n n$1=*&#GB$f2::val:int [line 29, column 25]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 29, column 3]\n EXIT_SCOPE(n$0,n$1); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_3" [label="3: Return Stmt \n n$0=*&#GB$f1::val:int [line 29, column 15]\n n$1=*&#GB$f2::val:int [line 29, column 25]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 29, column 3]\n " shape="box"] "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_3" -> "div0_namepace_res#2404445022135827615.21a14d3c59bb168093c5935b4fa42647_2" ; @@ -26,7 +26,7 @@ digraph cfg { "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_2" [label="2: Exit div0_static_field \n " color=yellow style=filled] -"div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 35, column 15]\n n$1=*&#GB<>$B::v:int [line 35, column 26]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 35, column 3]\n EXIT_SCOPE(n$0,n$1); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 35, column 15]\n n$1=*&#GB<>$B::v:int [line 35, column 26]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 35, column 3]\n " shape="box"] "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_3" -> "div0_static_field#12231470699631142739.dca5ebae856e9b404facab8151fb6246_2" ; @@ -45,7 +45,7 @@ digraph cfg { "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_2" [label="2: Exit div0_static_field_member_access \n " color=yellow style=filled] -"div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 41, column 15]\n n$1=*&#GB<>$B::v:int [line 41, column 26]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 41, column 3]\n EXIT_SCOPE(n$0,n$1); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_3" [label="3: Return Stmt \n n$0=*&#GB<>$f1::A::v:int [line 41, column 15]\n n$1=*&#GB<>$B::v:int [line 41, column 26]\n *&return:int=(1 / ((n$0 + n$1) + 1)) [line 41, column 3]\n " shape="box"] "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_3" -> "div0_static_field_member_access(class f1::A,class C)#8775359855042425857.e5b80b8e0139e41ba35ea98be6addc52_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot index 2608b93bf..e921fe1bd 100644 --- a/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/namespace/namespace.cpp.dot @@ -4,46 +4,46 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_1" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n NULLIFY(&rect1); [line 57, column 1]\n NULLIFY(&rect2); [line 57, column 1]\n NULLIFY(&x); [line 57, column 1]\n " color=yellow style=filled] +"main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 56, column 3]\n APPLY_ABSTRACTION; [line 56, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 56, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$bar::pi:double [line 55, column 7]\n *&j:double=n$0 [line 55, column 3]\n NULLIFY(&j); [line 55, column 3]\n EXIT_SCOPE(n$0,j); [line 55, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$bar::pi:double [line 55, column 7]\n *&j:double=n$0 [line 55, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_bar::value() [line 54, column 7]\n *&i:int=n$1 [line 54, column 3]\n NULLIFY(&i); [line 54, column 3]\n EXIT_SCOPE(n$1,i); [line 54, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_bar::value() [line 54, column 7]\n *&i:int=n$1 [line 54, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$2=_fun_foo::value() [line 53, column 7]\n *&i:int=n$2 [line 53, column 3]\n NULLIFY(&i); [line 53, column 3]\n EXIT_SCOPE(n$2,i); [line 53, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$2=_fun_foo::value() [line 53, column 7]\n *&i:int=n$2 [line 53, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&x.a:int=10 [line 52, column 3]\n EXIT_SCOPE(x); [line 52, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&x.a:int=10 [line 52, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_foo::Rectangle::set_values \n _=*&rect2:foo::Rectangle [line 50, column 3]\n n$4=_fun_foo::Rectangle::set_values(&rect2:foo::Rectangle&,7:int,10:int) [line 50, column 3]\n EXIT_SCOPE(_,n$4,rect2); [line 50, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Call _fun_foo::Rectangle::set_values \n _=*&rect2:foo::Rectangle [line 50, column 3]\n n$4=_fun_foo::Rectangle::set_values(&rect2:foo::Rectangle&,7:int,10:int) [line 50, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(rect2:foo::Rectangle); [line 49, column 3]\n n$5=_fun_foo::Rectangle::Rectangle(&rect2:foo::Rectangle*) [line 49, column 18]\n EXIT_SCOPE(n$5); [line 49, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(rect2:foo::Rectangle); [line 49, column 3]\n n$5=_fun_foo::Rectangle::Rectangle(&rect2:foo::Rectangle*) [line 49, column 18]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Call _fun_bar::Rectangle::set_values \n _=*&rect1:bar::Rectangle [line 47, column 3]\n n$7=_fun_bar::Rectangle::set_values(&rect1:bar::Rectangle&,3:int,4:int) [line 47, column 3]\n EXIT_SCOPE(_,n$7,rect1); [line 47, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: Call _fun_bar::Rectangle::set_values \n _=*&rect1:bar::Rectangle [line 47, column 3]\n n$7=_fun_bar::Rectangle::set_values(&rect1:bar::Rectangle&,3:int,4:int) [line 47, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(rect1:bar::Rectangle); [line 46, column 3]\n n$8=_fun_bar::Rectangle::Rectangle(&rect1:bar::Rectangle*) [line 46, column 18]\n EXIT_SCOPE(n$8); [line 46, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(rect1:bar::Rectangle); [line 46, column 3]\n n$8=_fun_bar::Rectangle::Rectangle(&rect1:bar::Rectangle*) [line 46, column 18]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x:foo::my_record); [line 44, column 3]\n n$9=_fun_foo::my_record::(&x:foo::my_record*) [line 44, column 18]\n EXIT_SCOPE(n$9); [line 44, column 18]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(x:foo::my_record); [line 44, column 3]\n n$9=_fun_foo::my_record::(&x:foo::my_record*) [line 44, column 18]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; @@ -54,7 +54,7 @@ digraph cfg { "pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_2" [label="2: Exit __infer_globals_initializer_bar::pi \n " color=yellow style=filled] -"pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$bar::pi:double const ); [line 27, column 1]\n *&#GB$bar::pi:double=3.1416 [line 27, column 1]\n APPLY_ABSTRACTION; [line 27, column 1]\n " shape="box"] +"pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$bar::pi:double const ); [line 27, column 1]\n *&#GB$bar::pi:double=3.1416 [line 27, column 1]\n " shape="box"] "pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_3" -> "pi#__infer_globals_initializer_bar.1155d696836634e07d40a8f71831e209_2" ; @@ -65,7 +65,7 @@ digraph cfg { "rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_2" [label="2: Exit __infer_globals_initializer_bar::rect \n " color=yellow style=filled] -"rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$bar::rect:bar::Rectangle); [line 30, column 1]\n n$0=_fun_bar::Rectangle::Rectangle(&#GB$bar::rect:bar::Rectangle*) [line 36, column 3]\n EXIT_SCOPE(n$0); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$bar::rect:bar::Rectangle); [line 30, column 1]\n n$0=_fun_bar::Rectangle::Rectangle(&#GB$bar::rect:bar::Rectangle*) [line 36, column 3]\n " shape="box"] "rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_3" -> "rect#__infer_globals_initializer_bar.4a1fbff7dd04d46c33088cc2bed92914_2" ; @@ -76,7 +76,7 @@ digraph cfg { "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_2" [label="2: Exit bar::value \n " color=yellow style=filled] -"value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_3" [label="3: Return Stmt \n n$0=*&#GB$bar::pi:double [line 28, column 29]\n *&return:double=(2 * n$0) [line 28, column 18]\n EXIT_SCOPE(n$0); [line 28, column 18]\n APPLY_ABSTRACTION; [line 28, column 18]\n " shape="box"] +"value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_3" [label="3: Return Stmt \n n$0=*&#GB$bar::pi:double [line 28, column 29]\n *&return:double=(2 * n$0) [line 28, column 18]\n " shape="box"] "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_3" -> "value#bar#16302148298864778751.e55afab5e7523c08687d7e6558d5dad5_2" ; @@ -87,7 +87,7 @@ digraph cfg { "value#foo#118977410660901546.9623db3632a56e3cb17951602d147a29_2" [label="2: Exit foo::value \n " color=yellow style=filled] -"value#foo#118977410660901546.9623db3632a56e3cb17951602d147a29_3" [label="3: Return Stmt \n *&return:int=5 [line 15, column 15]\n APPLY_ABSTRACTION; [line 15, column 15]\n " shape="box"] +"value#foo#118977410660901546.9623db3632a56e3cb17951602d147a29_3" [label="3: Return Stmt \n *&return:int=5 [line 15, column 15]\n " shape="box"] "value#foo#118977410660901546.9623db3632a56e3cb17951602d147a29_3" -> "value#foo#118977410660901546.9623db3632a56e3cb17951602d147a29_2" ; 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 702666433..4a6d4ca61 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 @@ -11,28 +11,28 @@ digraph cfg { "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_3" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 17, column 8]\n *&i:int=10 [line 17, column 8]\n APPLY_ABSTRACTION; [line 17, column 8]\n " shape="box"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 17, column 8]\n *&i:int=10 [line 17, column 8]\n " shape="box"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_4" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_3" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_5" [label="5: UnaryOperator \n n$0=*&i:int [line 17, column 31]\n *&i:int=(n$0 - 1) [line 17, column 31]\n EXIT_SCOPE(n$0); [line 17, column 31]\n APPLY_ABSTRACTION; [line 17, column 31]\n " shape="box"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_5" [label="5: UnaryOperator \n n$0=*&i:int [line 17, column 31]\n *&i:int=(n$0 - 1) [line 17, column 31]\n " shape="box"] "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, for loop) \n n$1=*&x:int [line 17, column 24]\n PRUNE(n$1, true); [line 17, column 24]\n EXIT_SCOPE(n$1); [line 17, 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 17, column 24]\n PRUNE(n$1, true); [line 17, 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, for loop) \n n$1=*&x:int [line 17, column 24]\n PRUNE(!n$1, false); [line 17, column 24]\n NULLIFY(&x); [line 17, column 24]\n NULLIFY(&i); [line 17, column 24]\n NULLIFY(&result); [line 17, column 24]\n EXIT_SCOPE(n$1,x,i,result); [line 17, column 24]\n APPLY_ABSTRACTION; [line 17, 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 17, column 24]\n PRUNE(!n$1, false); [line 17, column 24]\n " shape="invhouse"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_7" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_2" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x:int); [line 17, column 20]\n n$2=*&i:int [line 17, column 28]\n *&x:int=n$2 [line 17, column 20]\n EXIT_SCOPE(n$2); [line 17, column 20]\n " shape="box"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" [label="8: DeclStmt \n VARIABLE_DECLARED(x:int); [line 17, column 20]\n n$2=*&i:int [line 17, column 28]\n *&x:int=n$2 [line 17, column 20]\n " shape="box"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_6" ; "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_8" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_7" ; -"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_9" [label="9: BinaryOperatorStmt: AddAssign \n n$3=*&x:int [line 18, column 15]\n n$4=*&result:int [line 18, column 5]\n *&result:int=(n$4 + n$3) [line 18, column 5]\n NULLIFY(&x); [line 18, column 5]\n EXIT_SCOPE(n$3,n$4,x); [line 18, column 5]\n " shape="box"] +"init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_9" [label="9: BinaryOperatorStmt: AddAssign \n n$3=*&x:int [line 18, column 15]\n n$4=*&result:int [line 18, column 5]\n *&result:int=(n$4 + n$3) [line 18, column 5]\n " shape="box"] "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_9" -> "init_with_scoped_var#8128013931289981830.1ee58ae56eeb1744bf4b3cc5c8cf5d42_5" ; @@ -51,19 +51,19 @@ digraph cfg { "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_3" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_8" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_4" [label="4: DeclStmt \n VARIABLE_DECLARED(i:int); [line 10, column 8]\n *&i:int=0 [line 10, column 8]\n " shape="box"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_4" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_3" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_5" [label="5: UnaryOperator \n n$0=*&i:int [line 10, column 30]\n *&i:int=(n$0 + 1) [line 10, column 30]\n EXIT_SCOPE(n$0); [line 10, column 30]\n APPLY_ABSTRACTION; [line 10, column 30]\n " shape="box"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_5" [label="5: UnaryOperator \n n$0=*&i:int [line 10, column 30]\n *&i:int=(n$0 + 1) [line 10, column 30]\n " shape="box"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_5" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_3" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" [label="6: Prune (true branch, for loop) \n n$1=*&x:int [line 10, column 23]\n PRUNE(n$1, true); [line 10, column 23]\n EXIT_SCOPE(n$1); [line 10, column 23]\n " shape="invhouse"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" [label="6: Prune (true branch, for loop) \n n$1=*&x:int [line 10, column 23]\n PRUNE(n$1, true); [line 10, 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, for loop) \n n$1=*&x:int [line 10, column 23]\n PRUNE(!n$1, false); [line 10, column 23]\n NULLIFY(&i); [line 10, column 23]\n NULLIFY(&x); [line 10, column 23]\n NULLIFY(&result); [line 10, column 23]\n EXIT_SCOPE(n$1,i,x,result); [line 10, column 23]\n APPLY_ABSTRACTION; [line 10, column 23]\n " shape="invhouse"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" [label="7: Prune (false branch, for loop) \n n$1=*&x:int [line 10, column 23]\n PRUNE(!n$1, false); [line 10, column 23]\n " shape="invhouse"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_2" ; @@ -72,7 +72,7 @@ digraph cfg { "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_8" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_6" ; "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_8" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_7" ; -"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_9" [label="9: BinaryOperatorStmt: AddAssign \n n$2=*&x:int [line 11, column 15]\n n$3=*&result:int [line 11, column 5]\n *&result:int=(n$3 + n$2) [line 11, column 5]\n NULLIFY(&x); [line 11, column 5]\n EXIT_SCOPE(n$2,n$3,x); [line 11, column 5]\n " shape="box"] +"simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_9" [label="9: BinaryOperatorStmt: AddAssign \n n$2=*&x:int [line 11, column 15]\n n$3=*&result:int [line 11, column 5]\n *&result:int=(n$3 + n$2) [line 11, column 5]\n " shape="box"] "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_9" -> "simple_init#1527365342003611175.8f75bf8cf2aefccd4d47ab9274e1f9af_5" ; 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 7a7f4cc1f..2af7aae95 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 @@ -12,15 +12,15 @@ digraph cfg { "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_3" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_4" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_4" [label="4: between_join_and_exit \n " shape="box"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_4" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_2" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 41, column 11]\n PRUNE(n$0, true); [line 41, column 11]\n EXIT_SCOPE(n$0); [line 41, column 11]\n " shape="invhouse"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 41, column 11]\n PRUNE(n$0, true); [line 41, 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, if) \n n$0=*&a:int [line 41, column 11]\n PRUNE(!n$0, false); [line 41, column 11]\n NULLIFY(&a); [line 41, column 11]\n EXIT_SCOPE(n$0,a); [line 41, column 11]\n " shape="invhouse"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 41, column 11]\n PRUNE(!n$0, false); [line 41, column 11]\n " shape="invhouse"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_6" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_3" ; @@ -36,20 +36,20 @@ digraph cfg { "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_9" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_11" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_10" [label="10: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 41, column 15]\n APPLY_ABSTRACTION; [line 41, column 15]\n " shape="box"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_10" [label="10: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 41, column 15]\n " shape="box"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_10" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_7" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=0 [line 41, column 15]\n APPLY_ABSTRACTION; [line 41, column 15]\n " shape="box"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_11" [label="11: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=0 [line 41, column 15]\n " shape="box"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_11" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_7" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" [label="12: DeclStmt \n VARIABLE_DECLARED(a:int); [line 41, column 7]\n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 41, column 15]\n *&a:int=n$2 [line 41, column 7]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 41, column 7]\n EXIT_SCOPE(n$2,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 41, column 7]\n " shape="box"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" [label="12: DeclStmt \n VARIABLE_DECLARED(a:int); [line 41, column 7]\n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 41, column 15]\n *&a:int=n$2 [line 41, column 7]\n " shape="box"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_5" ; "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_12" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_6" ; -"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" [label="13: Return Stmt \n n$3=*&a:int [line 42, column 17]\n *&return:int=(1 / (n$3 - 1)) [line 42, column 5]\n NULLIFY(&a); [line 42, column 5]\n EXIT_SCOPE(n$3,a); [line 42, column 5]\n APPLY_ABSTRACTION; [line 42, column 5]\n " shape="box"] +"conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" [label="13: Return Stmt \n n$3=*&a:int [line 42, column 17]\n *&return:int=(1 / (n$3 - 1)) [line 42, column 5]\n " shape="box"] "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_13" -> "conditional_init_div0#15409862859031639280.1a402395676f14cae9f26917a820e9ed_2" ; @@ -64,24 +64,24 @@ digraph cfg { "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_3" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_4" ; -"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_4" [label="4: between_join_and_exit \n " shape="box"] "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, if) \n n$0=*&a:int [line 35, column 11]\n PRUNE(n$0, true); [line 35, column 11]\n EXIT_SCOPE(n$0); [line 35, column 11]\n " shape="invhouse"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 35, column 11]\n PRUNE(n$0, true); [line 35, 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, if) \n n$0=*&a:int [line 35, column 11]\n PRUNE(!n$0, false); [line 35, column 11]\n NULLIFY(&a); [line 35, column 11]\n EXIT_SCOPE(n$0,a); [line 35, column 11]\n " shape="invhouse"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 35, column 11]\n PRUNE(!n$0, false); [line 35, column 11]\n " shape="invhouse"] "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_6" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_3" ; -"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 35, column 7]\n n$1=_fun_get1() [line 35, column 15]\n *&a:int=n$1 [line 35, column 7]\n EXIT_SCOPE(n$1); [line 35, column 7]\n " shape="box"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 35, column 7]\n n$1=_fun_get1() [line 35, column 15]\n *&a:int=n$1 [line 35, column 7]\n " shape="box"] "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_7" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_5" ; "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_7" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_6" ; -"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" [label="8: Return Stmt \n n$2=*&a:int [line 36, column 17]\n *&return:int=(1 / (n$2 - 1)) [line 36, column 5]\n NULLIFY(&a); [line 36, column 5]\n EXIT_SCOPE(n$2,a); [line 36, column 5]\n APPLY_ABSTRACTION; [line 36, column 5]\n " shape="box"] +"function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" [label="8: Return Stmt \n n$2=*&a:int [line 36, column 17]\n *&return:int=(1 / (n$2 - 1)) [line 36, column 5]\n " shape="box"] "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_8" -> "function_call_init_div0#7458225874916439501.0ec340f42ffbe340a808e1b8bee4f555_2" ; @@ -92,7 +92,7 @@ digraph cfg { "get1#13610294053118758587.bb56087449b1c212bd814280133976bb_2" [label="2: Exit get1 \n " color=yellow style=filled] -"get1#13610294053118758587.bb56087449b1c212bd814280133976bb_3" [label="3: Return Stmt \n *&return:int=1 [line 32, column 14]\n APPLY_ABSTRACTION; [line 32, column 14]\n " shape="box"] +"get1#13610294053118758587.bb56087449b1c212bd814280133976bb_3" [label="3: Return Stmt \n *&return:int=1 [line 32, column 14]\n " shape="box"] "get1#13610294053118758587.bb56087449b1c212bd814280133976bb_3" -> "get1#13610294053118758587.bb56087449b1c212bd814280133976bb_2" ; @@ -100,10 +100,10 @@ digraph cfg { "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_1" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_9" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_2" [label="2: Exit reference_init_div0 \n NULLIFY(&r); [line 52, column 1]\n " color=yellow style=filled] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_2" [label="2: Exit reference_init_div0 \n " color=yellow style=filled] -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" [label="3: Return Stmt \n n$0=*&r:int [line 51, column 14]\n *&return:int=(1 / n$0) [line 51, column 3]\n EXIT_SCOPE(n$0,r); [line 51, column 3]\n APPLY_ABSTRACTION; [line 51, column 3]\n " shape="box"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" [label="3: Return Stmt \n n$0=*&r:int [line 51, column 14]\n *&return:int=(1 / n$0) [line 51, column 3]\n " shape="box"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_3" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_2" ; @@ -111,11 +111,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, if) \n n$1=*&a:int& [line 48, column 12]\n n$2=*n$1:int [line 48, column 12]\n PRUNE(n$2, true); [line 48, column 12]\n EXIT_SCOPE(n$1,n$2); [line 48, column 12]\n " shape="invhouse"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" [label="5: Prune (true branch, if) \n n$1=*&a:int& [line 48, column 12]\n n$2=*n$1:int [line 48, column 12]\n PRUNE(n$2, true); [line 48, column 12]\n " shape="invhouse"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" [label="6: Prune (false branch, if) \n n$1=*&a:int& [line 48, column 12]\n n$2=*n$1:int [line 48, column 12]\n PRUNE(!n$2, false); [line 48, column 12]\n NULLIFY(&a); [line 48, column 12]\n EXIT_SCOPE(n$1,n$2,a); [line 48, column 12]\n APPLY_ABSTRACTION; [line 48, column 12]\n " shape="invhouse"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" [label="6: Prune (false branch, if) \n n$1=*&a:int& [line 48, column 12]\n n$2=*n$1:int [line 48, column 12]\n PRUNE(!n$2, false); [line 48, column 12]\n " shape="invhouse"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" ; @@ -124,7 +124,7 @@ digraph cfg { "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_5" ; "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_7" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_6" ; -"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" [label="8: BinaryOperatorStmt: Assign \n n$3=*&a:int& [line 49, column 5]\n *n$3:int=0 [line 49, column 5]\n NULLIFY(&a); [line 49, column 5]\n EXIT_SCOPE(n$3,a); [line 49, column 5]\n APPLY_ABSTRACTION; [line 49, column 5]\n " shape="box"] +"reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" [label="8: BinaryOperatorStmt: Assign \n n$3=*&a:int& [line 49, column 5]\n *n$3:int=0 [line 49, column 5]\n " shape="box"] "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_8" -> "reference_init_div0#8765531464226376816.66e8a6545ef6e4641561744b4125ae49_4" ; @@ -143,15 +143,15 @@ digraph cfg { "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_3" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_4" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_4" [label="4: between_join_and_exit \n " shape="box"] "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, if) \n n$0=*&a:int [line 23, column 11]\n PRUNE(n$0, true); [line 23, column 11]\n NULLIFY(&a); [line 23, column 11]\n EXIT_SCOPE(n$0,a); [line 23, column 11]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 23, column 11]\n PRUNE(n$0, true); [line 23, 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, if) \n n$0=*&a:int [line 23, column 11]\n PRUNE(!n$0, false); [line 23, column 11]\n EXIT_SCOPE(n$0); [line 23, column 11]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 23, column 11]\n PRUNE(!n$0, false); [line 23, column 11]\n " shape="invhouse"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_6" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_12" ; @@ -160,7 +160,7 @@ digraph cfg { "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_7" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_5" ; "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_7" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_6" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_8" [label="8: Return Stmt \n *&return:int=1 [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_8" [label="8: Return Stmt \n *&return:int=1 [line 24, column 5]\n " shape="box"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_8" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_2" ; @@ -168,11 +168,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, if) \n n$1=*&b:int [line 25, column 18]\n PRUNE(n$1, true); [line 25, column 18]\n NULLIFY(&b); [line 25, column 18]\n NULLIFY(&a); [line 25, column 18]\n EXIT_SCOPE(n$1,b,a); [line 25, column 18]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_10" [label="10: Prune (true branch, if) \n n$1=*&b:int [line 25, column 18]\n PRUNE(n$1, true); [line 25, 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, if) \n n$1=*&b:int [line 25, column 18]\n PRUNE(!n$1, false); [line 25, column 18]\n EXIT_SCOPE(n$1); [line 25, column 18]\n " shape="invhouse"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_11" [label="11: Prune (false branch, if) \n n$1=*&b:int [line 25, column 18]\n PRUNE(!n$1, false); [line 25, column 18]\n " shape="invhouse"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_11" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" ; @@ -181,11 +181,11 @@ digraph cfg { "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_12" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_10" ; "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_12" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_11" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_13" [label="13: Return Stmt \n *&return:int=1 [line 26, column 5]\n APPLY_ABSTRACTION; [line 26, column 5]\n " shape="box"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_13" [label="13: Return Stmt \n *&return:int=1 [line 26, column 5]\n " shape="box"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_13" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_2" ; -"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" [label="14: Return Stmt \n n$2=*&a:int [line 28, column 17]\n n$3=*&b:int [line 28, column 21]\n *&return:int=(1 / (n$2 + n$3)) [line 28, column 5]\n NULLIFY(&b); [line 28, column 5]\n NULLIFY(&a); [line 28, column 5]\n EXIT_SCOPE(n$2,n$3,b,a); [line 28, column 5]\n APPLY_ABSTRACTION; [line 28, column 5]\n " shape="box"] +"simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" [label="14: Return Stmt \n n$2=*&a:int [line 28, column 17]\n n$3=*&b:int [line 28, column 21]\n *&return:int=(1 / (n$2 + n$3)) [line 28, column 5]\n " shape="box"] "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_14" -> "simple_inif_elseif_div0#1757541495273878703.c8ccefe72cee28b41298deb3c0060bd6_2" ; @@ -200,15 +200,15 @@ digraph cfg { "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_3" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_4" ; -"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_4" [label="4: between_join_and_exit \n " shape="box"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_4" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_2" ; -"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 15, column 11]\n PRUNE(n$0, true); [line 15, column 11]\n EXIT_SCOPE(n$0); [line 15, column 11]\n " shape="invhouse"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 15, column 11]\n PRUNE(n$0, true); [line 15, 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, if) \n n$0=*&a:int [line 15, column 11]\n PRUNE(!n$0, false); [line 15, column 11]\n EXIT_SCOPE(n$0); [line 15, column 11]\n " shape="invhouse"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 15, column 11]\n PRUNE(!n$0, false); [line 15, column 11]\n " shape="invhouse"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" ; @@ -217,11 +217,11 @@ digraph cfg { "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_7" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_5" ; "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_7" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_6" ; -"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_8" [label="8: Return Stmt \n n$1=*&a:int [line 16, column 12]\n *&return:int=n$1 [line 16, column 5]\n NULLIFY(&a); [line 16, column 5]\n EXIT_SCOPE(n$1,a); [line 16, column 5]\n APPLY_ABSTRACTION; [line 16, column 5]\n " shape="box"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_8" [label="8: Return Stmt \n n$1=*&a:int [line 16, column 12]\n *&return:int=n$1 [line 16, column 5]\n " shape="box"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_8" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_2" ; -"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" [label="9: Return Stmt \n n$2=*&a:int [line 18, column 16]\n *&return:int=(1 / n$2) [line 18, column 5]\n NULLIFY(&a); [line 18, column 5]\n EXIT_SCOPE(n$2,a); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="box"] +"simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" [label="9: Return Stmt \n n$2=*&a:int [line 18, column 16]\n *&return:int=(1 / n$2) [line 18, column 5]\n " shape="box"] "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_9" -> "simple_init_div0#11745425529376514034.212fa73086397a0d668498a9c8eff99e_2" ; @@ -236,15 +236,15 @@ digraph cfg { "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_3" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_4" ; -"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 9, column 3]\n " shape="box"] +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_4" [label="4: between_join_and_exit \n " shape="box"] "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_4" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_2" ; -"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 9, column 11]\n PRUNE(n$0, true); [line 9, column 11]\n EXIT_SCOPE(n$0); [line 9, column 11]\n " shape="invhouse"] +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_5" [label="5: Prune (true branch, if) \n n$0=*&a:int [line 9, column 11]\n PRUNE(n$0, true); [line 9, 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, if) \n n$0=*&a:int [line 9, column 11]\n PRUNE(!n$0, false); [line 9, column 11]\n NULLIFY(&a); [line 9, column 11]\n EXIT_SCOPE(n$0,a); [line 9, column 11]\n " shape="invhouse"] +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_6" [label="6: Prune (false branch, if) \n n$0=*&a:int [line 9, column 11]\n PRUNE(!n$0, false); [line 9, column 11]\n " shape="invhouse"] "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_6" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_3" ; @@ -253,7 +253,7 @@ digraph cfg { "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_7" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_5" ; "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_7" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_6" ; -"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" [label="8: Return Stmt \n n$1=*&a:int [line 10, column 16]\n *&return:int=(1 / n$1) [line 10, column 5]\n NULLIFY(&a); [line 10, column 5]\n EXIT_SCOPE(n$1,a); [line 10, column 5]\n APPLY_ABSTRACTION; [line 10, column 5]\n " shape="box"] +"simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" [label="8: Return Stmt \n n$1=*&a:int [line 10, column 16]\n *&return:int=(1 / n$1) [line 10, column 5]\n " shape="box"] "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_8" -> "simple_init_div1#11746272153330047279.0563640869475a4683e824c15c85a68a_2" ; @@ -268,15 +268,15 @@ digraph cfg { "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_3" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_4" ; -"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 55, column 3]\n " shape="box"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_4" [label="4: between_join_and_exit \n " shape="box"] "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, if) \n n$0=*&p:int* [line 55, column 12]\n PRUNE(n$0, true); [line 55, column 12]\n NULLIFY(&p); [line 55, column 12]\n EXIT_SCOPE(n$0,p); [line 55, column 12]\n " shape="invhouse"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_5" [label="5: Prune (true branch, if) \n n$0=*&p:int* [line 55, column 12]\n PRUNE(n$0, true); [line 55, 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, if) \n n$0=*&p:int* [line 55, column 12]\n PRUNE(!n$0, false); [line 55, column 12]\n EXIT_SCOPE(n$0); [line 55, column 12]\n " shape="invhouse"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_6" [label="6: Prune (false branch, if) \n n$0=*&p:int* [line 55, column 12]\n PRUNE(!n$0, false); [line 55, column 12]\n " shape="invhouse"] "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_6" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" ; @@ -285,11 +285,11 @@ digraph cfg { "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_7" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_5" ; "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_7" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_6" ; -"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_8" [label="8: Return Stmt \n *&return:int=1 [line 56, column 5]\n APPLY_ABSTRACTION; [line 56, column 5]\n " shape="box"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_8" [label="8: Return Stmt \n *&return:int=1 [line 56, column 5]\n " shape="box"] "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_8" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_2" ; -"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" [label="9: Return Stmt \n n$1=*&p:int* [line 58, column 13]\n n$2=*n$1:int [line 58, column 12]\n *&return:int=n$2 [line 58, column 5]\n NULLIFY(&p); [line 58, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 58, column 5]\n APPLY_ABSTRACTION; [line 58, column 5]\n " shape="box"] +"simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" [label="9: Return Stmt \n n$1=*&p:int* [line 58, column 13]\n n$2=*n$1:int [line 58, column 12]\n *&return:int=n$2 [line 58, column 5]\n " shape="box"] "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_9" -> "simple_init_null_deref#4388790903269166010.3931bff4c48c8b02a470a54ec37db174_2" ; 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 e92dd346f..e84120ad7 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 @@ -12,31 +12,31 @@ digraph cfg { "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" ; "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_13" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 11]\n n$1=*&a:int [line 9, column 19]\n *&x:int=n$1 [line 9, column 11]\n NULLIFY(&a); [line 9, column 11]\n EXIT_SCOPE(n$1,a); [line 9, column 11]\n " shape="box"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int); [line 9, column 11]\n n$1=*&a:int [line 9, column 19]\n *&x:int=n$1 [line 9, column 11]\n " shape="box"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_4" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_3" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" [label="5: Return Stmt \n n$2=*&x:int [line 16, column 14]\n *&return:int=n$2 [line 16, column 7]\n NULLIFY(&x); [line 16, column 7]\n EXIT_SCOPE(n$2,x); [line 16, column 7]\n APPLY_ABSTRACTION; [line 16, column 7]\n " shape="box"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" [label="5: Return Stmt \n n$2=*&x:int [line 16, column 14]\n *&return:int=n$2 [line 16, column 7]\n " shape="box"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_6" [label="6: Return Stmt \n *&return:int=1 [line 14, column 7]\n APPLY_ABSTRACTION; [line 14, column 7]\n " shape="box"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_6" [label="6: Return Stmt \n *&return:int=1 [line 14, column 7]\n " shape="box"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_6" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" [label="7: Return Stmt \n *&return:int=0 [line 12, column 7]\n APPLY_ABSTRACTION; [line 12, column 7]\n " shape="box"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" [label="7: Return Stmt \n *&return:int=0 [line 12, column 7]\n " shape="box"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_2" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" [label="8: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 13, column 5]\n NULLIFY(&x); [line 13, column 5]\n EXIT_SCOPE(n$0,x); [line 13, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" [label="8: Prune (true branch, switch) \n PRUNE((n$0 == 2), true); [line 13, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_6" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$0 == 2), false); [line 13, column 5]\n EXIT_SCOPE(n$0); [line 13, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" [label="9: Prune (false branch, switch) \n PRUNE(!(n$0 == 2), false); [line 13, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_5" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" [label="10: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 11, column 5]\n NULLIFY(&x); [line 11, column 5]\n EXIT_SCOPE(n$0,x); [line 11, column 5]\n APPLY_ABSTRACTION; [line 11, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" [label="10: Prune (true branch, switch) \n PRUNE((n$0 == 1), true); [line 11, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_10" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" ; @@ -45,7 +45,7 @@ digraph cfg { "get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_8" ; "get#10177141129833125794.403aae26476e3a02c544075e122228e0_11" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_9" ; -"get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" [label="12: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 10, column 5]\n NULLIFY(&x); [line 10, column 5]\n EXIT_SCOPE(n$0,x); [line 10, column 5]\n APPLY_ABSTRACTION; [line 10, column 5]\n " shape="invhouse"] +"get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" [label="12: Prune (true branch, switch) \n PRUNE((n$0 == 0), true); [line 10, column 5]\n " shape="invhouse"] "get#10177141129833125794.403aae26476e3a02c544075e122228e0_12" -> "get#10177141129833125794.403aae26476e3a02c544075e122228e0_7" ; 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 daed52fc7..68db5bf0c 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 @@ -7,7 +7,7 @@ digraph cfg { "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_2" [label="2: Exit conditional_assignment \n " color=yellow style=filled] -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_3" [label="3: Return Stmt \n *&return:int=0 [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_3" [label="3: Return Stmt \n *&return:int=0 [line 25, column 3]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_3" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_2" ; @@ -15,11 +15,11 @@ digraph cfg { "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_4" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_8" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_5" [label="5: Prune (true branch, while) \n n$0=*&a:int [line 21, column 14]\n PRUNE(n$0, true); [line 21, column 14]\n EXIT_SCOPE(n$0); [line 21, column 14]\n " shape="invhouse"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_5" [label="5: Prune (true branch, while) \n n$0=*&a:int [line 21, column 14]\n PRUNE(n$0, true); [line 21, 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, while) \n n$0=*&a:int [line 21, column 14]\n PRUNE(!n$0, false); [line 21, column 14]\n NULLIFY(&a); [line 21, column 14]\n NULLIFY(&result); [line 21, column 14]\n NULLIFY(&x); [line 21, column 14]\n EXIT_SCOPE(n$0,a,result,x); [line 21, column 14]\n " shape="invhouse"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_6" [label="6: Prune (false branch, while) \n n$0=*&a:int [line 21, column 14]\n PRUNE(!n$0, false); [line 21, column 14]\n " shape="invhouse"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_6" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_3" ; @@ -32,36 +32,36 @@ 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, boolean exp) \n PRUNE((n$2 > 0), true); [line 21, column 18]\n EXIT_SCOPE(n$2); [line 21, column 18]\n " shape="invhouse"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_9" [label="9: Prune (true branch, boolean exp) \n PRUNE((n$2 > 0), true); [line 21, 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, boolean exp) \n PRUNE(!(n$2 > 0), false); [line 21, column 18]\n EXIT_SCOPE(n$2); [line 21, column 18]\n " shape="invhouse"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_10" [label="10: Prune (false branch, boolean exp) \n PRUNE(!(n$2 > 0), false); [line 21, column 18]\n " shape="invhouse"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_10" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_12" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_11" [label="11: ConditionalStmt Branch \n n$3=*&x:int [line 21, column 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 21, column 18]\n EXIT_SCOPE(n$3); [line 21, column 18]\n APPLY_ABSTRACTION; [line 21, column 18]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_11" [label="11: ConditionalStmt Branch \n n$3=*&x:int [line 21, column 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 21, column 18]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_11" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_7" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=0 [line 21, column 18]\n APPLY_ABSTRACTION; [line 21, column 18]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_12" [label="12: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=0 [line 21, column 18]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_12" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_7" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_13" [label="13: DeclStmt \n VARIABLE_DECLARED(a:int); [line 21, column 10]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 21, column 18]\n *&a:int=n$4 [line 21, column 10]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 21, column 10]\n EXIT_SCOPE(n$4,0$?%__sil_tmpSIL_temp_conditional___n$1); [line 21, column 10]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_13" [label="13: DeclStmt \n VARIABLE_DECLARED(a:int); [line 21, column 10]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 21, column 18]\n *&a:int=n$4 [line 21, column 10]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_13" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_5" ; "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_13" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_6" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_14" [label="14: BinaryOperatorStmt: SubAssign \n n$5=*&x:int [line 23, column 5]\n *&x:int=(n$5 - 1) [line 23, column 5]\n EXIT_SCOPE(n$5); [line 23, column 5]\n APPLY_ABSTRACTION; [line 23, column 5]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_14" [label="14: BinaryOperatorStmt: SubAssign \n n$5=*&x:int [line 23, column 5]\n *&x:int=(n$5 - 1) [line 23, column 5]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_14" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_4" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_15" [label="15: BinaryOperatorStmt: AddAssign \n n$6=*&a:int [line 22, column 15]\n n$7=*&result:int [line 22, column 5]\n *&result:int=(n$7 + n$6) [line 22, column 5]\n NULLIFY(&a); [line 22, column 5]\n EXIT_SCOPE(n$6,n$7,a); [line 22, column 5]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_15" [label="15: BinaryOperatorStmt: AddAssign \n n$6=*&a:int [line 22, column 15]\n n$7=*&result:int [line 22, column 5]\n *&result:int=(n$7 + n$6) [line 22, column 5]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_15" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_14" ; -"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_16" [label="16: DeclStmt \n VARIABLE_DECLARED(result:int); [line 20, column 3]\n *&result:int=0 [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_16" [label="16: DeclStmt \n VARIABLE_DECLARED(result:int); [line 20, column 3]\n *&result:int=0 [line 20, column 3]\n " shape="box"] "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_16" -> "conditional_assignment#8950169167588471442.be2d62cec5392b85b8d4d274664d86c5_4" ; @@ -76,7 +76,7 @@ digraph cfg { "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_2" [label="2: Exit simple_assignment \n " color=yellow style=filled] -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_3" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_2" ; @@ -84,28 +84,28 @@ digraph cfg { "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_4" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_5" [label="5: Prune (true branch, while) \n n$0=*&a:int [line 11, column 14]\n PRUNE(n$0, true); [line 11, column 14]\n EXIT_SCOPE(n$0); [line 11, column 14]\n " shape="invhouse"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_5" [label="5: Prune (true branch, while) \n n$0=*&a:int [line 11, column 14]\n PRUNE(n$0, true); [line 11, 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, while) \n n$0=*&a:int [line 11, column 14]\n PRUNE(!n$0, false); [line 11, column 14]\n NULLIFY(&result); [line 11, column 14]\n NULLIFY(&a); [line 11, column 14]\n NULLIFY(&x); [line 11, column 14]\n EXIT_SCOPE(n$0,result,a,x); [line 11, column 14]\n " shape="invhouse"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_6" [label="6: Prune (false branch, while) \n n$0=*&a:int [line 11, column 14]\n PRUNE(!n$0, false); [line 11, column 14]\n " shape="invhouse"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_6" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_3" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 11, column 10]\n n$1=*&x:int [line 11, column 18]\n *&a:int=n$1 [line 11, column 10]\n EXIT_SCOPE(n$1); [line 11, column 10]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a:int); [line 11, column 10]\n n$1=*&x:int [line 11, column 18]\n *&a:int=n$1 [line 11, column 10]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_5" ; "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_7" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_6" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_8" [label="8: BinaryOperatorStmt: SubAssign \n n$2=*&x:int [line 13, column 5]\n *&x:int=(n$2 - 1) [line 13, column 5]\n EXIT_SCOPE(n$2); [line 13, column 5]\n APPLY_ABSTRACTION; [line 13, column 5]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_8" [label="8: BinaryOperatorStmt: SubAssign \n n$2=*&x:int [line 13, column 5]\n *&x:int=(n$2 - 1) [line 13, column 5]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_8" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_4" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_9" [label="9: BinaryOperatorStmt: AddAssign \n n$3=*&a:int [line 12, column 15]\n n$4=*&result:int [line 12, column 5]\n *&result:int=(n$4 + n$3) [line 12, column 5]\n NULLIFY(&a); [line 12, column 5]\n EXIT_SCOPE(n$3,n$4,a); [line 12, column 5]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_9" [label="9: BinaryOperatorStmt: AddAssign \n n$3=*&a:int [line 12, column 15]\n n$4=*&result:int [line 12, column 5]\n *&result:int=(n$4 + n$3) [line 12, column 5]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_9" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_8" ; -"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_10" [label="10: DeclStmt \n VARIABLE_DECLARED(result:int); [line 10, column 3]\n *&result:int=0 [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_10" [label="10: DeclStmt \n VARIABLE_DECLARED(result:int); [line 10, column 3]\n *&result:int=0 [line 10, column 3]\n " shape="box"] "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_10" -> "simple_assignment#6454162814810356464.3b57619dd6c2d612798bc9ac9e7cf8ee_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot index c0e296064..3ac44b03e 100644 --- a/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/npe/method_call.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "call_with_forward_declaration(class XForward)#16178135517860387666.c1f98de069e5c7098edbbc8efaea56a0_2" [label="2: Exit call_with_forward_declaration \n " color=yellow style=filled] -"call_with_forward_declaration(class XForward)#16178135517860387666.c1f98de069e5c7098edbbc8efaea56a0_3" [label="3: Call _fun_XForward::call \n n$0=*&x:XForward* [line 33, column 51]\n _=*n$0:XForward [line 33, column 51]\n n$2=_fun_XForward::call(n$0:XForward*) [line 33, column 51]\n NULLIFY(&x); [line 33, column 51]\n EXIT_SCOPE(_,n$0,n$2,x); [line 33, column 51]\n APPLY_ABSTRACTION; [line 33, column 51]\n " shape="box"] +"call_with_forward_declaration(class XForward)#16178135517860387666.c1f98de069e5c7098edbbc8efaea56a0_3" [label="3: Call _fun_XForward::call \n n$0=*&x:XForward* [line 33, column 51]\n _=*n$0:XForward [line 33, column 51]\n n$2=_fun_XForward::call(n$0:XForward*) [line 33, column 51]\n " shape="box"] "call_with_forward_declaration(class XForward)#16178135517860387666.c1f98de069e5c7098edbbc8efaea56a0_3" -> "call_with_forward_declaration(class XForward)#16178135517860387666.c1f98de069e5c7098edbbc8efaea56a0_2" ; @@ -18,7 +18,7 @@ digraph cfg { "getX#13708790503777666214.a992c0752db0283a341b47e16da10f48_2" [label="2: Exit getX \n " color=yellow style=filled] -"getX#13708790503777666214.a992c0752db0283a341b47e16da10f48_3" [label="3: Return Stmt \n *&return:X*=null [line 18, column 13]\n APPLY_ABSTRACTION; [line 18, column 13]\n " shape="box"] +"getX#13708790503777666214.a992c0752db0283a341b47e16da10f48_3" [label="3: Return Stmt \n *&return:X*=null [line 18, column 13]\n " shape="box"] "getX#13708790503777666214.a992c0752db0283a341b47e16da10f48_3" -> "getX#13708790503777666214.a992c0752db0283a341b47e16da10f48_2" ; @@ -29,7 +29,7 @@ digraph cfg { "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_2" [label="2: Exit npe_call \n " color=yellow style=filled] -"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" [label="3: Return Stmt \n n$0=*&x:X* [line 15, column 10]\n _=*n$0:X [line 15, column 10]\n n$2=_fun_X::call(n$0:X*) [line 15, column 10]\n *&return:int=n$2 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" [label="3: Return Stmt \n n$0=*&x:X* [line 15, column 10]\n _=*n$0:X [line 15, column 10]\n n$2=_fun_X::call(n$0:X*) [line 15, column 10]\n *&return:int=n$2 [line 15, column 3]\n " shape="box"] "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_3" -> "npe_call#13153501568930109452.8b51ea84ce0a673218a9c81b7ab70538_2" ; @@ -44,7 +44,7 @@ digraph cfg { "npe_call_after_call#8140813350794705532.fd3a6d06275def8a130284a430f22a3d_2" [label="2: Exit npe_call_after_call \n " color=yellow style=filled] -"npe_call_after_call#8140813350794705532.fd3a6d06275def8a130284a430f22a3d_3" [label="3: Call _fun_X::call \n n$0=_fun_getX() [line 20, column 30]\n _=*n$0:X [line 20, column 30]\n n$2=_fun_X::call(n$0:X*) [line 20, column 30]\n EXIT_SCOPE(_,n$0,n$2); [line 20, column 30]\n APPLY_ABSTRACTION; [line 20, column 30]\n " shape="box"] +"npe_call_after_call#8140813350794705532.fd3a6d06275def8a130284a430f22a3d_3" [label="3: Call _fun_X::call \n n$0=_fun_getX() [line 20, column 30]\n _=*n$0:X [line 20, column 30]\n n$2=_fun_X::call(n$0:X*) [line 20, column 30]\n " shape="box"] "npe_call_after_call#8140813350794705532.fd3a6d06275def8a130284a430f22a3d_3" -> "npe_call_after_call#8140813350794705532.fd3a6d06275def8a130284a430f22a3d_2" ; @@ -55,7 +55,7 @@ digraph cfg { "npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_2" [label="2: Exit npe_call_with_forward_declaration \n " color=yellow style=filled] -"npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_3" [label="3: Call _fun_call_with_forward_declaration \n n$0=_fun_call_with_forward_declaration(null:XForward*) [line 36, column 3]\n EXIT_SCOPE(n$0); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_3" [label="3: Call _fun_call_with_forward_declaration \n n$0=_fun_call_with_forward_declaration(null:XForward*) [line 36, column 3]\n " shape="box"] "npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_3" -> "npe_call_with_forward_declaration#12046983290123510130.5e902eb9a8f96f74e83d527b422bd861_2" ; @@ -66,7 +66,7 @@ digraph cfg { "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" [label="2: Exit X::call \n " color=yellow style=filled] -"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n *&return:int=1 [line 10, column 16]\n APPLY_ABSTRACTION; [line 10, column 16]\n " shape="box"] +"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n *&return:int=1 [line 10, column 16]\n " shape="box"] "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" ; @@ -77,7 +77,7 @@ digraph cfg { "call#XForward#(12704523141681064974).3ad3a0c1410d3c3ebc30a3c69ad91790_2" [label="2: Exit XForward::call \n " color=yellow style=filled] -"call#XForward#(12704523141681064974).3ad3a0c1410d3c3ebc30a3c69ad91790_3" [label="3: Return Stmt \n *&return:int=0 [line 29, column 16]\n APPLY_ABSTRACTION; [line 29, column 16]\n " shape="box"] +"call#XForward#(12704523141681064974).3ad3a0c1410d3c3ebc30a3c69ad91790_3" [label="3: Return Stmt \n *&return:int=0 [line 29, column 16]\n " shape="box"] "call#XForward#(12704523141681064974).3ad3a0c1410d3c3ebc30a3c69ad91790_3" -> "call#XForward#(12704523141681064974).3ad3a0c1410d3c3ebc30a3c69ad91790_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/box.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/box.cpp.dot index caa8165a1..714af422d 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/box.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/box.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_1" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n NULLIFY(&v); [line 12, column 1]\n " color=yellow style=filled] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 11, column 3]\n *&p:int*=&v [line 11, column 3]\n NULLIFY(&p); [line 11, column 3]\n EXIT_SCOPE(p,v); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 11, column 3]\n *&p:int*=&v [line 11, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 10, column 3]\n *&r:int&=&v [line 10, column 3]\n NULLIFY(&r); [line 10, column 3]\n EXIT_SCOPE(r); [line 10, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 10, column 3]\n *&r:int&=&v [line 10, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/increment.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/increment.cpp.dot index c8ddb1dcf..5c08762ae 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/increment.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/increment.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_1" -> "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_6" ; -"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_2" [label="2: Exit using_ref \n NULLIFY(&v); [line 19, column 1]\n " color=yellow style=filled] +"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_2" [label="2: Exit using_ref \n " color=yellow style=filled] -"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_3" [label="3: DeclStmt \n VARIABLE_DECLARED(q:int&); [line 18, column 3]\n n$0=*&vr:int& [line 18, column 14]\n n$1=*n$0:int [line 18, column 12]\n *n$0:int=(n$1 - 1) [line 18, column 12]\n *&q:int&=n$0 [line 18, column 3]\n NULLIFY(&vr); [line 18, column 3]\n NULLIFY(&q); [line 18, column 3]\n EXIT_SCOPE(n$0,n$1,vr,q); [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] +"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_3" [label="3: DeclStmt \n VARIABLE_DECLARED(q:int&); [line 18, column 3]\n n$0=*&vr:int& [line 18, column 14]\n n$1=*n$0:int [line 18, column 12]\n *n$0:int=(n$1 - 1) [line 18, column 12]\n *&q:int&=n$0 [line 18, column 3]\n " shape="box"] "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_3" -> "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_2" ; -"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_4" [label="4: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 17, column 3]\n n$2=*&vr:int& [line 17, column 14]\n n$3=*n$2:int [line 17, column 12]\n *n$2:int=(n$3 + 1) [line 17, column 12]\n *&r:int&=n$2 [line 17, column 3]\n NULLIFY(&r); [line 17, column 3]\n EXIT_SCOPE(n$2,n$3,r); [line 17, column 3]\n " shape="box"] +"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_4" [label="4: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 17, column 3]\n n$2=*&vr:int& [line 17, column 14]\n n$3=*n$2:int [line 17, column 12]\n *n$2:int=(n$3 + 1) [line 17, column 12]\n *&r:int&=n$2 [line 17, column 3]\n " shape="box"] "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_4" -> "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_3" ; -"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_5" [label="5: DeclStmt \n VARIABLE_DECLARED(vr:int&); [line 16, column 3]\n *&vr:int&=&v [line 16, column 3]\n EXIT_SCOPE(v); [line 16, column 3]\n " shape="box"] +"using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_5" [label="5: DeclStmt \n VARIABLE_DECLARED(vr:int&); [line 16, column 3]\n *&vr:int&=&v [line 16, column 3]\n " shape="box"] "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_5" -> "using_ref#11585308534136333375.096010b8466cdacb12ca24c30d2a7334_4" ; @@ -27,14 +27,14 @@ digraph cfg { "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_1" -> "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_5" ; -"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_2" [label="2: Exit using_value \n NULLIFY(&v); [line 12, column 1]\n " color=yellow style=filled] +"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_2" [label="2: Exit using_value \n " color=yellow style=filled] -"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_3" [label="3: DeclStmt \n VARIABLE_DECLARED(q:int&); [line 11, column 3]\n n$0=*&v:int [line 11, column 12]\n *&v:int=(n$0 - 1) [line 11, column 12]\n *&q:int&=&v [line 11, column 3]\n NULLIFY(&q); [line 11, column 3]\n EXIT_SCOPE(n$0,q,v); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_3" [label="3: DeclStmt \n VARIABLE_DECLARED(q:int&); [line 11, column 3]\n n$0=*&v:int [line 11, column 12]\n *&v:int=(n$0 - 1) [line 11, column 12]\n *&q:int&=&v [line 11, column 3]\n " shape="box"] "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_3" -> "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_2" ; -"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_4" [label="4: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 10, column 3]\n n$1=*&v:int [line 10, column 12]\n *&v:int=(n$1 + 1) [line 10, column 12]\n *&r:int&=&v [line 10, column 3]\n NULLIFY(&r); [line 10, column 3]\n EXIT_SCOPE(n$1,r); [line 10, column 3]\n " shape="box"] +"using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_4" [label="4: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 10, column 3]\n n$1=*&v:int [line 10, column 12]\n *&v:int=(n$1 + 1) [line 10, column 12]\n *&r:int&=&v [line 10, column 3]\n " shape="box"] "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_4" -> "using_value#13692921440907975250.fad67099f85ea68eb3281c85bd0ca170_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/init.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/init.cpp.dot index abffa3710..aecdee559 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/init.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/init.cpp.dot @@ -7,15 +7,15 @@ digraph cfg { "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_2" [label="2: Exit init_from_ptr \n " color=yellow style=filled] -"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 23, column 3]\n n$0=*&par:int* [line 23, column 12]\n *&p:int*=n$0 [line 23, column 3]\n NULLIFY(&par); [line 23, column 3]\n NULLIFY(&p); [line 23, column 3]\n EXIT_SCOPE(n$0,par,p); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 23, column 3]\n n$0=*&par:int* [line 23, column 12]\n *&p:int*=n$0 [line 23, column 3]\n " shape="box"] "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_3" -> "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_2" ; -"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int&); [line 22, column 3]\n n$1=*&par:int* [line 22, column 13]\n *&d:int&=n$1 [line 22, column 3]\n NULLIFY(&d); [line 22, column 3]\n EXIT_SCOPE(n$1,d); [line 22, column 3]\n " shape="box"] +"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int&); [line 22, column 3]\n n$1=*&par:int* [line 22, column 13]\n *&d:int&=n$1 [line 22, column 3]\n " shape="box"] "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_4" -> "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_3" ; -"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 21, column 3]\n n$2=*&par:int* [line 21, column 12]\n n$3=*n$2:int [line 21, column 11]\n *&v:int=n$3 [line 21, column 3]\n NULLIFY(&v); [line 21, column 3]\n EXIT_SCOPE(n$2,n$3,v); [line 21, column 3]\n " shape="box"] +"init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 21, column 3]\n n$2=*&par:int* [line 21, column 12]\n n$3=*n$2:int [line 21, column 11]\n *&v:int=n$3 [line 21, column 3]\n " shape="box"] "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_5" -> "init_from_ptr#9521990274512470149.d27094f3cfd0d42c143fba9593870578_4" ; @@ -26,15 +26,15 @@ digraph cfg { "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_2" [label="2: Exit init_from_ref \n " color=yellow style=filled] -"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 11, column 3]\n n$0=*&par:int& [line 11, column 13]\n *&p:int*=n$0 [line 11, column 3]\n NULLIFY(&p); [line 11, column 3]\n NULLIFY(&par); [line 11, column 3]\n EXIT_SCOPE(n$0,p,par); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 11, column 3]\n n$0=*&par:int& [line 11, column 13]\n *&p:int*=n$0 [line 11, column 3]\n " shape="box"] "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_3" -> "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_2" ; -"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int&); [line 10, column 3]\n n$1=*&par:int& [line 10, column 12]\n *&d:int&=n$1 [line 10, column 3]\n NULLIFY(&d); [line 10, column 3]\n EXIT_SCOPE(n$1,d); [line 10, column 3]\n " shape="box"] +"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int&); [line 10, column 3]\n n$1=*&par:int& [line 10, column 12]\n *&d:int&=n$1 [line 10, column 3]\n " shape="box"] "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_4" -> "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_3" ; -"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 9, column 3]\n n$2=*&par:int& [line 9, column 11]\n n$3=*n$2:int [line 9, column 11]\n *&v:int=n$3 [line 9, column 3]\n NULLIFY(&v); [line 9, column 3]\n EXIT_SCOPE(n$2,n$3,v); [line 9, column 3]\n " shape="box"] +"init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 9, column 3]\n n$2=*&par:int& [line 9, column 11]\n n$3=*n$2:int [line 9, column 11]\n *&v:int=n$3 [line 9, column 3]\n " shape="box"] "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_5" -> "init_from_ref#17239877270654219020.166550b98b7cafba1c908639121bced8_4" ; @@ -42,18 +42,18 @@ digraph cfg { "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_1" -> "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_5" ; -"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_2" [label="2: Exit init_from_val \n NULLIFY(&par); [line 18, column 1]\n " color=yellow style=filled] +"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_2" [label="2: Exit init_from_val \n " color=yellow style=filled] -"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 17, column 3]\n *&p:int*=&par [line 17, column 3]\n NULLIFY(&p); [line 17, column 3]\n EXIT_SCOPE(p,par); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 17, column 3]\n *&p:int*=&par [line 17, column 3]\n " shape="box"] "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_3" -> "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_2" ; -"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int&); [line 16, column 3]\n *&d:int&=&par [line 16, column 3]\n NULLIFY(&d); [line 16, column 3]\n EXIT_SCOPE(d); [line 16, column 3]\n " shape="box"] +"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(d:int&); [line 16, column 3]\n *&d:int&=&par [line 16, column 3]\n " shape="box"] "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_4" -> "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_3" ; -"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 15, column 3]\n n$0=*&par:int [line 15, column 11]\n *&v:int=n$0 [line 15, column 3]\n NULLIFY(&v); [line 15, column 3]\n EXIT_SCOPE(n$0,v); [line 15, column 3]\n " shape="box"] +"init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(v:int); [line 15, column 3]\n n$0=*&par:int [line 15, column 11]\n *&v:int=n$0 [line 15, column 3]\n " shape="box"] "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_5" -> "init_from_val#14538961741925123970.e5e29991fa3b6aa0a341c0c9f54754a7_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot index c00a8620b..1a7478149 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/member_access.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_2" [label="2: Exit access_ptr \n " color=yellow style=filled] -"access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 20, column 3]\n n$0=*&x:X* [line 20, column 11]\n _=*n$0:X [line 20, column 11]\n n$2=_fun_X::call(n$0:X*) [line 20, column 11]\n *&c:int=n$2 [line 20, column 3]\n NULLIFY(&c); [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(_,n$0,n$2,c,x); [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 20, column 3]\n n$0=*&x:X* [line 20, column 11]\n _=*n$0:X [line 20, column 11]\n n$2=_fun_X::call(n$0:X*) [line 20, column 11]\n *&c:int=n$2 [line 20, column 3]\n " shape="box"] "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_3" -> "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_2" ; -"access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 19, column 3]\n n$3=*&x:X* [line 19, column 11]\n n$4=*n$3.f:int [line 19, column 11]\n *&f:int=n$4 [line 19, column 3]\n NULLIFY(&f); [line 19, column 3]\n EXIT_SCOPE(n$3,n$4,f); [line 19, column 3]\n " shape="box"] +"access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 19, column 3]\n n$3=*&x:X* [line 19, column 11]\n n$4=*n$3.f:int [line 19, column 11]\n *&f:int=n$4 [line 19, column 3]\n " shape="box"] "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_4" -> "access_ptr(class X)#15321479508398739907.a2d5fea3989ac28d8e0f2d82bdcf9e45_3" ; @@ -22,11 +22,11 @@ digraph cfg { "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_2" [label="2: Exit access_ref \n " color=yellow style=filled] -"access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 15, column 3]\n n$0=*&x:X& [line 15, column 11]\n _=*n$0:X [line 15, column 11]\n n$2=_fun_X::call(n$0:X&) [line 15, column 11]\n *&c:int=n$2 [line 15, column 3]\n NULLIFY(&x); [line 15, column 3]\n NULLIFY(&c); [line 15, column 3]\n EXIT_SCOPE(_,n$0,n$2,x,c); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 15, column 3]\n n$0=*&x:X& [line 15, column 11]\n _=*n$0:X [line 15, column 11]\n n$2=_fun_X::call(n$0:X&) [line 15, column 11]\n *&c:int=n$2 [line 15, column 3]\n " shape="box"] "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_3" -> "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_2" ; -"access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 14, column 3]\n n$3=*&x:X& [line 14, column 11]\n n$4=*n$3.f:int [line 14, column 11]\n *&f:int=n$4 [line 14, column 3]\n NULLIFY(&f); [line 14, column 3]\n EXIT_SCOPE(n$3,n$4,f); [line 14, column 3]\n " shape="box"] +"access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 14, column 3]\n n$3=*&x:X& [line 14, column 11]\n n$4=*n$3.f:int [line 14, column 11]\n *&f:int=n$4 [line 14, column 3]\n " shape="box"] "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_4" -> "access_ref#4794488565171451856.2c0cb1f039897d6498c9fea4cbfec99e_3" ; @@ -37,7 +37,7 @@ digraph cfg { "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" [label="2: Exit X::call \n " color=yellow style=filled] -"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n n$0=*&this:X* [line 10, column 23]\n n$1=*n$0.f:int [line 10, column 23]\n *&return:int=n$1 [line 10, column 16]\n NULLIFY(&this); [line 10, column 16]\n EXIT_SCOPE(n$0,n$1,this); [line 10, column 16]\n APPLY_ABSTRACTION; [line 10, column 16]\n " shape="box"] +"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n n$0=*&this:X* [line 10, column 23]\n n$1=*n$0.f:int [line 10, column 23]\n *&return:int=n$1 [line 10, column 16]\n " shape="box"] "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot index 5beeb1889..a64441d1d 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/member_access_from_return.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" [label="2: Exit __infer_globals_initializer_global \n " color=yellow style=filled] -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$global:X); [line 13, column 1]\n n$0=_fun_X::X(&#GB$global:X*) [line 13, column 3]\n EXIT_SCOPE(n$0); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$global:X); [line 13, column 1]\n n$0=_fun_X::X(&#GB$global:X*) [line 13, column 3]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -18,7 +18,7 @@ digraph cfg { "get_ptr#548333400578323912.5cb5eba6c7605ca7fd66bf5755cb7ce3_2" [label="2: Exit get_ptr \n " color=yellow style=filled] -"get_ptr#548333400578323912.5cb5eba6c7605ca7fd66bf5755cb7ce3_3" [label="3: Return Stmt \n *&return:X*=&#GB$global [line 14, column 16]\n APPLY_ABSTRACTION; [line 14, column 16]\n " shape="box"] +"get_ptr#548333400578323912.5cb5eba6c7605ca7fd66bf5755cb7ce3_3" [label="3: Return Stmt \n *&return:X*=&#GB$global [line 14, column 16]\n " shape="box"] "get_ptr#548333400578323912.5cb5eba6c7605ca7fd66bf5755cb7ce3_3" -> "get_ptr#548333400578323912.5cb5eba6c7605ca7fd66bf5755cb7ce3_2" ; @@ -29,7 +29,7 @@ digraph cfg { "get_ref#3760753509995480941.1a9482316aa67c38d5004ec1f3cb74db_2" [label="2: Exit get_ref \n " color=yellow style=filled] -"get_ref#3760753509995480941.1a9482316aa67c38d5004ec1f3cb74db_3" [label="3: Return Stmt \n *&return:X&=&#GB$global [line 15, column 16]\n APPLY_ABSTRACTION; [line 15, column 16]\n " shape="box"] +"get_ref#3760753509995480941.1a9482316aa67c38d5004ec1f3cb74db_3" [label="3: Return Stmt \n *&return:X&=&#GB$global [line 15, column 16]\n " shape="box"] "get_ref#3760753509995480941.1a9482316aa67c38d5004ec1f3cb74db_3" -> "get_ref#3760753509995480941.1a9482316aa67c38d5004ec1f3cb74db_2" ; @@ -40,11 +40,11 @@ digraph cfg { "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_2" [label="2: Exit test_ptr \n " color=yellow style=filled] -"test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 24, column 3]\n n$0=_fun_get_ptr() [line 24, column 11]\n _=*n$0:X [line 24, column 11]\n n$2=_fun_X::call(n$0:X*) [line 24, column 11]\n *&c:int=n$2 [line 24, column 3]\n NULLIFY(&c); [line 24, column 3]\n EXIT_SCOPE(_,n$0,n$2,c); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 24, column 3]\n n$0=_fun_get_ptr() [line 24, column 11]\n _=*n$0:X [line 24, column 11]\n n$2=_fun_X::call(n$0:X*) [line 24, column 11]\n *&c:int=n$2 [line 24, column 3]\n " shape="box"] "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_3" -> "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_2" ; -"test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 23, column 3]\n n$3=_fun_get_ptr() [line 23, column 11]\n n$4=*n$3.f:int [line 23, column 11]\n *&f:int=n$4 [line 23, column 3]\n NULLIFY(&f); [line 23, column 3]\n EXIT_SCOPE(n$3,n$4,f); [line 23, column 3]\n " shape="box"] +"test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 23, column 3]\n n$3=_fun_get_ptr() [line 23, column 11]\n n$4=*n$3.f:int [line 23, column 11]\n *&f:int=n$4 [line 23, column 3]\n " shape="box"] "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_4" -> "test_ptr#11416786403465510397.fe356f46dccde5545eadf0c661f4974d_3" ; @@ -55,11 +55,11 @@ digraph cfg { "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_2" [label="2: Exit test_ref \n " color=yellow style=filled] -"test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 19, column 3]\n n$0=_fun_get_ref() [line 19, column 11]\n _=*n$0:X [line 19, column 11]\n n$2=_fun_X::call(n$0:X&) [line 19, column 11]\n *&c:int=n$2 [line 19, column 3]\n NULLIFY(&c); [line 19, column 3]\n EXIT_SCOPE(_,n$0,n$2,c); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:int); [line 19, column 3]\n n$0=_fun_get_ref() [line 19, column 11]\n _=*n$0:X [line 19, column 11]\n n$2=_fun_X::call(n$0:X&) [line 19, column 11]\n *&c:int=n$2 [line 19, column 3]\n " shape="box"] "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_3" -> "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_2" ; -"test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 18, column 3]\n n$3=_fun_get_ref() [line 18, column 11]\n n$4=*n$3.f:int [line 18, column 11]\n *&f:int=n$4 [line 18, column 3]\n NULLIFY(&f); [line 18, column 3]\n EXIT_SCOPE(n$3,n$4,f); [line 18, column 3]\n " shape="box"] +"test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(f:int); [line 18, column 3]\n n$3=_fun_get_ref() [line 18, column 11]\n n$4=*n$3.f:int [line 18, column 11]\n *&f:int=n$4 [line 18, column 3]\n " shape="box"] "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_4" -> "test_ref#7021555814503032268.9c735d5eedd26e3009ec35c4af427db4_3" ; @@ -70,7 +70,7 @@ digraph cfg { "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" [label="2: Exit X::call \n " color=yellow style=filled] -"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n n$0=*&this:X* [line 10, column 23]\n n$1=*n$0.f:int [line 10, column 23]\n *&return:int=n$1 [line 10, column 16]\n NULLIFY(&this); [line 10, column 16]\n EXIT_SCOPE(n$0,n$1,this); [line 10, column 16]\n APPLY_ABSTRACTION; [line 10, column 16]\n " shape="box"] +"call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" [label="3: Return Stmt \n n$0=*&this:X* [line 10, column 23]\n n$1=*n$0.f:int [line 10, column 23]\n *&return:int=n$1 [line 10, column 16]\n " shape="box"] "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_3" -> "call#X#(5770224879682844394).d055b894c8e89eaff4b8d412706da082_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/nested_assignment.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/nested_assignment.cpp.dot index 8c32e42a1..a5a0d9651 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/nested_assignment.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/nested_assignment.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_1" -> "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_6" ; -"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_2" [label="2: Exit crazy_nested \n NULLIFY(&a); [line 28, column 1]\n " color=yellow style=filled] +"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_2" [label="2: Exit crazy_nested \n " color=yellow style=filled] -"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ref_from_ref:int&); [line 27, column 3]\n n$0=*&ref_from_val:int& [line 27, column 23]\n *&b:int=5 [line 27, column 38]\n n$1=*&b:int [line 27, column 38]\n *n$0:int=n$1 [line 27, column 23]\n *&ref_from_ref:int&=n$0 [line 27, column 3]\n NULLIFY(&b); [line 27, column 3]\n NULLIFY(&ref_from_val); [line 27, column 3]\n NULLIFY(&ref_from_ref); [line 27, column 3]\n EXIT_SCOPE(n$0,n$1,b,ref_from_val,ref_from_ref); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ref_from_ref:int&); [line 27, column 3]\n n$0=*&ref_from_val:int& [line 27, column 23]\n *&b:int=5 [line 27, column 38]\n n$1=*&b:int [line 27, column 38]\n *n$0:int=n$1 [line 27, column 23]\n *&ref_from_ref:int&=n$0 [line 27, column 3]\n " shape="box"] "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_3" -> "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_2" ; -"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref_from_val:int&); [line 26, column 3]\n *&b:int=4 [line 26, column 27]\n n$2=*&b:int [line 26, column 27]\n *&a:int=n$2 [line 26, column 23]\n *&ref_from_val:int&=&a [line 26, column 3]\n NULLIFY(&b); [line 26, column 3]\n EXIT_SCOPE(n$2,b,a); [line 26, column 3]\n " shape="box"] +"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref_from_val:int&); [line 26, column 3]\n *&b:int=4 [line 26, column 27]\n n$2=*&b:int [line 26, column 27]\n *&a:int=n$2 [line 26, column 23]\n *&ref_from_val:int&=&a [line 26, column 3]\n " shape="box"] "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_4" -> "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_3" ; -"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 22, column 3]\n n$3=*&a:int [line 22, column 11]\n *&b:int=n$3 [line 22, column 3]\n NULLIFY(&b); [line 22, column 3]\n EXIT_SCOPE(n$3,b,a); [line 22, column 3]\n " shape="box"] +"crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:int); [line 22, column 3]\n n$3=*&a:int [line 22, column 11]\n *&b:int=n$3 [line 22, column 3]\n " shape="box"] "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_5" -> "crazy_nested#10001276026471322284.a3162fff8adcb89d9e3fa84dea455e7f_4" ; @@ -27,18 +27,18 @@ digraph cfg { "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_1" -> "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_5" ; -"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_2" [label="2: Exit nested \n NULLIFY(&a); [line 18, column 1]\n " color=yellow style=filled] +"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_2" [label="2: Exit nested \n " color=yellow style=filled] -"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ref_from_ref:int&); [line 17, column 3]\n n$0=*&ref_from_val:int& [line 17, column 23]\n *n$0:int=6 [line 17, column 23]\n *&ref_from_ref:int&=n$0 [line 17, column 3]\n NULLIFY(&ref_from_val); [line 17, column 3]\n NULLIFY(&ref_from_ref); [line 17, column 3]\n EXIT_SCOPE(n$0,ref_from_val,ref_from_ref); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ref_from_ref:int&); [line 17, column 3]\n n$0=*&ref_from_val:int& [line 17, column 23]\n *n$0:int=6 [line 17, column 23]\n *&ref_from_ref:int&=n$0 [line 17, column 3]\n " shape="box"] "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_3" -> "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_2" ; -"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref_from_val:int&); [line 16, column 3]\n *&a:int=4 [line 16, column 23]\n *&ref_from_val:int&=&a [line 16, column 3]\n EXIT_SCOPE(a); [line 16, column 3]\n " shape="box"] +"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref_from_val:int&); [line 16, column 3]\n *&a:int=4 [line 16, column 23]\n *&ref_from_val:int&=&a [line 16, column 3]\n " shape="box"] "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_4" -> "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_3" ; -"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 15, column 3]\n *&a:int=3 [line 15, column 3]\n EXIT_SCOPE(a); [line 15, column 3]\n " shape="box"] +"nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:int); [line 15, column 3]\n *&a:int=3 [line 15, column 3]\n " shape="box"] "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_5" -> "nested#4768179933025409429.17c34afcb279e8ad08f7f8afaad41585_4" ; @@ -46,14 +46,14 @@ digraph cfg { "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_1" -> "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_5" ; -"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_2" [label="2: Exit normal \n NULLIFY(&a); [line 12, column 1]\n " color=yellow style=filled] +"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_2" [label="2: Exit normal \n " color=yellow style=filled] -"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ref_from_ref:int&); [line 11, column 3]\n n$0=*&ref_from_val:int& [line 11, column 23]\n *&ref_from_ref:int&=n$0 [line 11, column 3]\n NULLIFY(&ref_from_ref); [line 11, column 3]\n NULLIFY(&ref_from_val); [line 11, column 3]\n EXIT_SCOPE(n$0,ref_from_ref,ref_from_val); [line 11, column 3]\n APPLY_ABSTRACTION; [line 11, column 3]\n " shape="box"] +"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_3" [label="3: DeclStmt \n VARIABLE_DECLARED(ref_from_ref:int&); [line 11, column 3]\n n$0=*&ref_from_val:int& [line 11, column 23]\n *&ref_from_ref:int&=n$0 [line 11, column 3]\n " shape="box"] "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_3" -> "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_2" ; -"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref_from_val:int&); [line 10, column 3]\n *&ref_from_val:int&=&a [line 10, column 3]\n EXIT_SCOPE(a); [line 10, column 3]\n " shape="box"] +"normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref_from_val:int&); [line 10, column 3]\n *&ref_from_val:int&=&a [line 10, column 3]\n " shape="box"] "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_4" -> "normal#16009437256715545217.c7cd9ebbb6d7cc9f4987cf90ce12a044_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot index 05cad2d8d..018948878 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/ptr_mem.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_1" -> "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_5" ; -"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_2" [label="2: Exit noskip \n NULLIFY(&i); [line 36, column 1]\n " color=yellow style=filled] +"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_2" [label="2: Exit noskip \n " color=yellow style=filled] -"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_3" [label="3: Call _fun_List::add_byref \n n$0=*&l:List& [line 35, column 3]\n _=*n$0:List [line 35, column 3]\n n$2=_fun_List::add_byref(n$0:List&,&i:item&) [line 35, column 3]\n NULLIFY(&l); [line 35, column 3]\n EXIT_SCOPE(_,n$0,n$2,i,l); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_3" [label="3: Call _fun_List::add_byref \n n$0=*&l:List& [line 35, column 3]\n _=*n$0:List [line 35, column 3]\n n$2=_fun_List::add_byref(n$0:List&,&i:item&) [line 35, column 3]\n " shape="box"] "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_3" -> "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_2" ; -"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_4" [label="4: Call _fun_List::add \n n$3=*&l:List& [line 34, column 3]\n _=*n$3:List [line 34, column 3]\n n$5=_fun_List::add(n$3:List&,&i:item*) [line 34, column 3]\n EXIT_SCOPE(_,n$3,n$5); [line 34, column 3]\n " shape="box"] +"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_4" [label="4: Call _fun_List::add \n n$3=*&l:List& [line 34, column 3]\n _=*n$3:List [line 34, column 3]\n n$5=_fun_List::add(n$3:List&,&i:item*) [line 34, column 3]\n " shape="box"] "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_4" -> "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_3" ; -"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:item); [line 33, column 3]\n n$6=_fun_item::item(&i:item*) [line 33, column 8]\n EXIT_SCOPE(n$6); [line 33, column 8]\n " shape="box"] +"noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:item); [line 33, column 3]\n n$6=_fun_item::item(&i:item*) [line 33, column 8]\n " shape="box"] "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_5" -> "noskip#6149941428299352091.c0e56085ae3c9567084b0f9e4211cfc0_4" ; @@ -26,11 +26,11 @@ digraph cfg { "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_2" [label="2: Exit List::List \n " color=yellow style=filled] -"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" [label="3: Constructor Init \n n$1=*&this:List* [line 14, column 42]\n n$2=*&next_ptr:void [line 14, column 51]\n *n$1.next_ptr:void=n$2 [line 14, column 42]\n NULLIFY(&next_ptr); [line 14, column 42]\n NULLIFY(&this); [line 14, column 42]\n EXIT_SCOPE(n$1,n$2,next_ptr,this); [line 14, column 42]\n APPLY_ABSTRACTION; [line 14, column 42]\n " shape="box"] +"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" [label="3: Constructor Init \n n$1=*&this:List* [line 14, column 42]\n n$2=*&next_ptr:void [line 14, column 51]\n *n$1.next_ptr:void=n$2 [line 14, column 42]\n " shape="box"] "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_2" ; -"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_4" [label="4: Constructor Init \n n$3=*&this:List* [line 14, column 27]\n *n$3.head:item*=null [line 14, column 27]\n EXIT_SCOPE(n$3); [line 14, column 27]\n " shape="box"] +"List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_4" [label="4: Constructor Init \n n$3=*&this:List* [line 14, column 27]\n *n$3.head:item*=null [line 14, column 27]\n " shape="box"] "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_4" -> "List#List#{15914538297308632075}.3434f5c53e6f70f530bf6d3beb27430e_3" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot index e741d5c99..208d69f18 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_field.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_1" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" ; -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_2" [label="2: Exit reference_field::ptr_F_div0 \n NULLIFY(&x); [line 85, column 1]\n NULLIFY(&r); [line 85, column 1]\n " color=yellow style=filled] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_2" [label="2: Exit reference_field::ptr_F_div0 \n " color=yellow style=filled] -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X* [line 84, column 14]\n n$1=*n$0.f:int [line 84, column 14]\n *&return:int=(1 / n$1) [line 84, column 3]\n _=*&x:reference_field::X [line 84, column 19]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 84, column 19]\n EXIT_SCOPE(_,n$0,n$1,n$3,r,x); [line 84, column 19]\n APPLY_ABSTRACTION; [line 84, column 19]\n " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X* [line 84, column 14]\n n$1=*n$0.f:int [line 84, column 14]\n *&return:int=(1 / n$1) [line 84, column 3]\n _=*&x:reference_field::X [line 84, column 19]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 84, column 19]\n " shape="box"] "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_2" ; @@ -15,7 +15,7 @@ digraph cfg { "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_4" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_3" ; -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 82, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 82, column 7]\n EXIT_SCOPE(n$5); [line 82, column 7]\n " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 82, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 82, column 7]\n " shape="box"] "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_4" ; @@ -23,7 +23,7 @@ digraph cfg { "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_6" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_5" ; -"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 80, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 80, column 5]\n EXIT_SCOPE(n$6); [line 80, column 5]\n " shape="box"] +"ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 80, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 80, column 5]\n " shape="box"] "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_7" -> "ptr_F_div0#reference_field#14005768761742554773.fa7bac24d70ab0b747e7fb5360157c5f_6" ; @@ -31,10 +31,10 @@ digraph cfg { "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_1" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" ; -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_2" [label="2: Exit reference_field::ptr_I_div0 \n NULLIFY(&x); [line 93, column 1]\n NULLIFY(&r); [line 93, column 1]\n " color=yellow style=filled] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_2" [label="2: Exit reference_field::ptr_I_div0 \n " color=yellow style=filled] -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" [label="3: Return Stmt \n n$0=*&r.i:int* [line 92, column 15]\n n$1=*n$0:int [line 92, column 14]\n *&return:int=(1 / n$1) [line 92, column 3]\n _=*&x:reference_field::X [line 92, column 17]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 92, column 17]\n EXIT_SCOPE(_,n$0,n$1,n$3,r,x); [line 92, column 17]\n APPLY_ABSTRACTION; [line 92, column 17]\n " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" [label="3: Return Stmt \n n$0=*&r.i:int* [line 92, column 15]\n n$1=*n$0:int [line 92, column 14]\n *&return:int=(1 / n$1) [line 92, column 3]\n _=*&x:reference_field::X [line 92, column 17]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 92, column 17]\n " shape="box"] "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_2" ; @@ -42,7 +42,7 @@ digraph cfg { "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_4" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_3" ; -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 90, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 90, column 7]\n EXIT_SCOPE(n$5); [line 90, column 7]\n " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 90, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 90, column 7]\n " shape="box"] "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_4" ; @@ -50,7 +50,7 @@ digraph cfg { "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_6" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_5" ; -"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 88, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 88, column 5]\n EXIT_SCOPE(n$6); [line 88, column 5]\n " shape="box"] +"ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 88, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 88, column 5]\n " shape="box"] "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_7" -> "ptr_I_div0#reference_field#18255668366877010738.5b1f39b2d5e2810cbdbf96621d88c2d0_6" ; @@ -58,10 +58,10 @@ digraph cfg { "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_1" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" ; -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_2" [label="2: Exit reference_field::ptr_getF_div0 \n NULLIFY(&r); [line 101, column 1]\n NULLIFY(&x); [line 101, column 1]\n " color=yellow style=filled] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_2" [label="2: Exit reference_field::ptr_getF_div0 \n " color=yellow style=filled] -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 100, column 14]\n n$1=_fun_reference_field::Ptr::getF(&r:reference_field::Ptr&) [line 100, column 14]\n *&return:int=(1 / n$1) [line 100, column 3]\n _=*&x:reference_field::X [line 100, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 100, column 21]\n EXIT_SCOPE(_,_,n$1,n$3,x,r); [line 100, column 21]\n APPLY_ABSTRACTION; [line 100, column 21]\n " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 100, column 14]\n n$1=_fun_reference_field::Ptr::getF(&r:reference_field::Ptr&) [line 100, column 14]\n *&return:int=(1 / n$1) [line 100, column 3]\n _=*&x:reference_field::X [line 100, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 100, column 21]\n " shape="box"] "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_2" ; @@ -69,7 +69,7 @@ digraph cfg { "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_4" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_3" ; -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 98, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 98, column 7]\n EXIT_SCOPE(n$5); [line 98, column 7]\n " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 98, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 98, column 7]\n " shape="box"] "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_4" ; @@ -77,7 +77,7 @@ digraph cfg { "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_6" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_5" ; -"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 96, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 96, column 5]\n EXIT_SCOPE(n$6); [line 96, column 5]\n " shape="box"] +"ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 96, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 96, column 5]\n " shape="box"] "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_7" -> "ptr_getF_div0#reference_field#3337646019334387234.41e241b3e1d6a6f7c629a1c6ca69cf07_6" ; @@ -85,10 +85,10 @@ digraph cfg { "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_1" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" ; -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_2" [label="2: Exit reference_field::ptr_getI_div0 \n NULLIFY(&x); [line 109, column 1]\n NULLIFY(&r); [line 109, column 1]\n " color=yellow style=filled] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_2" [label="2: Exit reference_field::ptr_getI_div0 \n " color=yellow style=filled] -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 108, column 14]\n n$1=_fun_reference_field::Ptr::getI(&r:reference_field::Ptr&) [line 108, column 14]\n *&return:int=(1 / n$1) [line 108, column 3]\n _=*&x:reference_field::X [line 108, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 108, column 21]\n EXIT_SCOPE(_,_,n$1,n$3,r,x); [line 108, column 21]\n APPLY_ABSTRACTION; [line 108, column 21]\n " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" [label="3: Return Stmt \n _=*&r:reference_field::Ptr [line 108, column 14]\n n$1=_fun_reference_field::Ptr::getI(&r:reference_field::Ptr&) [line 108, column 14]\n *&return:int=(1 / n$1) [line 108, column 3]\n _=*&x:reference_field::X [line 108, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 108, column 21]\n " shape="box"] "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_2" ; @@ -96,7 +96,7 @@ digraph cfg { "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_4" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_3" ; -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 106, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 106, column 7]\n EXIT_SCOPE(n$5); [line 106, column 7]\n " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ptr); [line 106, column 3]\n n$5=_fun_reference_field::Ptr::Ptr(&r:reference_field::Ptr*,&x:reference_field::X&) [line 106, column 7]\n " shape="box"] "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_4" ; @@ -104,7 +104,7 @@ digraph cfg { "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_6" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_5" ; -"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 104, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 104, column 5]\n EXIT_SCOPE(n$6); [line 104, column 5]\n " shape="box"] +"ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 104, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 104, column 5]\n " shape="box"] "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_7" -> "ptr_getI_div0#reference_field#2818660867908728453.99667cea541002986498839338031f13_6" ; @@ -112,10 +112,10 @@ digraph cfg { "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_1" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" ; -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_2" [label="2: Exit reference_field::ref_F_div0 \n NULLIFY(&r); [line 52, column 1]\n NULLIFY(&x); [line 52, column 1]\n " color=yellow style=filled] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_2" [label="2: Exit reference_field::ref_F_div0 \n " color=yellow style=filled] -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X& [line 51, column 14]\n n$1=*n$0.f:int [line 51, column 14]\n *&return:int=(1 / n$1) [line 51, column 3]\n _=*&x:reference_field::X [line 51, column 18]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 51, column 18]\n EXIT_SCOPE(_,n$0,n$1,n$3,x,r); [line 51, column 18]\n APPLY_ABSTRACTION; [line 51, column 18]\n " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" [label="3: Return Stmt \n n$0=*&r.x:reference_field::X& [line 51, column 14]\n n$1=*n$0.f:int [line 51, column 14]\n *&return:int=(1 / n$1) [line 51, column 3]\n _=*&x:reference_field::X [line 51, column 18]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 51, column 18]\n " shape="box"] "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_2" ; @@ -123,7 +123,7 @@ digraph cfg { "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_4" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_3" ; -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 49, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 49, column 7]\n EXIT_SCOPE(n$5); [line 49, column 7]\n " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 49, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 49, column 7]\n " shape="box"] "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_4" ; @@ -131,7 +131,7 @@ digraph cfg { "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_6" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_5" ; -"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 47, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 47, column 5]\n EXIT_SCOPE(n$6); [line 47, column 5]\n " shape="box"] +"ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 47, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 47, column 5]\n " shape="box"] "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_7" -> "ref_F_div0#reference_field#11041134718140208132.6e58f8c7050613499e915a7d12b0f081_6" ; @@ -139,10 +139,10 @@ digraph cfg { "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_1" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" ; -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_2" [label="2: Exit reference_field::ref_I_div0 \n NULLIFY(&r); [line 60, column 1]\n NULLIFY(&x); [line 60, column 1]\n " color=yellow style=filled] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_2" [label="2: Exit reference_field::ref_I_div0 \n " color=yellow style=filled] -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" [label="3: Return Stmt \n n$0=*&r.i:int& [line 59, column 14]\n n$1=*n$0:int [line 59, column 14]\n *&return:int=(1 / n$1) [line 59, column 3]\n _=*&x:reference_field::X [line 59, column 16]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 59, column 16]\n EXIT_SCOPE(_,n$0,n$1,n$3,x,r); [line 59, column 16]\n APPLY_ABSTRACTION; [line 59, column 16]\n " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" [label="3: Return Stmt \n n$0=*&r.i:int& [line 59, column 14]\n n$1=*n$0:int [line 59, column 14]\n *&return:int=(1 / n$1) [line 59, column 3]\n _=*&x:reference_field::X [line 59, column 16]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 59, column 16]\n " shape="box"] "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_2" ; @@ -150,7 +150,7 @@ digraph cfg { "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_4" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_3" ; -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 57, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 57, column 7]\n EXIT_SCOPE(n$5); [line 57, column 7]\n " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 57, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 57, column 7]\n " shape="box"] "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_4" ; @@ -158,7 +158,7 @@ digraph cfg { "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_6" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_5" ; -"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 55, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 55, column 5]\n EXIT_SCOPE(n$6); [line 55, column 5]\n " shape="box"] +"ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 55, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 55, column 5]\n " shape="box"] "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_7" -> "ref_I_div0#reference_field#12578013844532400739.b911fdef1ca9c73b658bff3d5d964b9b_6" ; @@ -166,10 +166,10 @@ digraph cfg { "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_1" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" ; -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_2" [label="2: Exit reference_field::ref_getF_div0 \n NULLIFY(&r); [line 68, column 1]\n NULLIFY(&x); [line 68, column 1]\n " color=yellow style=filled] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_2" [label="2: Exit reference_field::ref_getF_div0 \n " color=yellow style=filled] -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 67, column 14]\n n$1=_fun_reference_field::Ref::getF(&r:reference_field::Ref&) [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n _=*&x:reference_field::X [line 67, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 67, column 21]\n EXIT_SCOPE(_,_,n$1,n$3,x,r); [line 67, column 21]\n APPLY_ABSTRACTION; [line 67, column 21]\n " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 67, column 14]\n n$1=_fun_reference_field::Ref::getF(&r:reference_field::Ref&) [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n _=*&x:reference_field::X [line 67, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 67, column 21]\n " shape="box"] "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_2" ; @@ -177,7 +177,7 @@ digraph cfg { "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_4" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_3" ; -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 65, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 65, column 7]\n EXIT_SCOPE(n$5); [line 65, column 7]\n " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 65, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 65, column 7]\n " shape="box"] "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_4" ; @@ -185,7 +185,7 @@ digraph cfg { "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_6" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_5" ; -"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 63, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 63, column 5]\n EXIT_SCOPE(n$6); [line 63, column 5]\n " shape="box"] +"ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 63, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 63, column 5]\n " shape="box"] "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_7" -> "ref_getF_div0#reference_field#2481930918988851369.2dc7181f26bf9bad7c2f06846f4d7ec4_6" ; @@ -193,10 +193,10 @@ digraph cfg { "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_1" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" ; -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_2" [label="2: Exit reference_field::ref_getI_div0 \n NULLIFY(&x); [line 76, column 1]\n NULLIFY(&r); [line 76, column 1]\n " color=yellow style=filled] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_2" [label="2: Exit reference_field::ref_getI_div0 \n " color=yellow style=filled] -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 75, column 14]\n n$1=_fun_reference_field::Ref::getI(&r:reference_field::Ref&) [line 75, column 14]\n *&return:int=(1 / n$1) [line 75, column 3]\n _=*&x:reference_field::X [line 75, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 75, column 21]\n EXIT_SCOPE(_,_,n$1,n$3,r,x); [line 75, column 21]\n APPLY_ABSTRACTION; [line 75, column 21]\n " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" [label="3: Return Stmt \n _=*&r:reference_field::Ref [line 75, column 14]\n n$1=_fun_reference_field::Ref::getI(&r:reference_field::Ref&) [line 75, column 14]\n *&return:int=(1 / n$1) [line 75, column 3]\n _=*&x:reference_field::X [line 75, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 75, column 21]\n " shape="box"] "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_2" ; @@ -204,7 +204,7 @@ digraph cfg { "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_4" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_3" ; -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 73, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 73, column 7]\n EXIT_SCOPE(n$5); [line 73, column 7]\n " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Ref); [line 73, column 3]\n n$5=_fun_reference_field::Ref::Ref(&r:reference_field::Ref*,&x:reference_field::X&) [line 73, column 7]\n " shape="box"] "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_4" ; @@ -212,7 +212,7 @@ digraph cfg { "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_6" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_5" ; -"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 71, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 71, column 5]\n EXIT_SCOPE(n$6); [line 71, column 5]\n " shape="box"] +"ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 71, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 71, column 5]\n " shape="box"] "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_7" -> "ref_getI_div0#reference_field#17267881158640772750.8919328183561d84930ec2a40da70667_6" ; @@ -220,10 +220,10 @@ digraph cfg { "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_1" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" ; -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_2" [label="2: Exit reference_field::val_F_div0 \n NULLIFY(&r); [line 118, column 1]\n NULLIFY(&x); [line 118, column 1]\n " color=yellow style=filled] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_2" [label="2: Exit reference_field::val_F_div0 \n " color=yellow style=filled] -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" [label="3: Return Stmt \n n$0=*&r.x.f:int [line 117, column 14]\n *&return:int=(1 / n$0) [line 117, column 3]\n _=*&x:reference_field::X [line 117, column 18]\n n$2=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 117, column 18]\n EXIT_SCOPE(_,n$0,n$2,x,r); [line 117, column 18]\n APPLY_ABSTRACTION; [line 117, column 18]\n " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" [label="3: Return Stmt \n n$0=*&r.x.f:int [line 117, column 14]\n *&return:int=(1 / n$0) [line 117, column 3]\n _=*&x:reference_field::X [line 117, column 18]\n n$2=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 117, column 18]\n " shape="box"] "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_2" ; @@ -231,7 +231,7 @@ digraph cfg { "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_4" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_3" ; -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 115, column 3]\n n$4=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 115, column 7]\n EXIT_SCOPE(n$4); [line 115, column 7]\n " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 115, column 3]\n n$4=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 115, column 7]\n " shape="box"] "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_4" ; @@ -239,7 +239,7 @@ digraph cfg { "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_6" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_5" ; -"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 113, column 3]\n n$5=_fun_reference_field::X::X(&x:reference_field::X*) [line 113, column 5]\n EXIT_SCOPE(n$5); [line 113, column 5]\n " shape="box"] +"val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 113, column 3]\n n$5=_fun_reference_field::X::X(&x:reference_field::X*) [line 113, column 5]\n " shape="box"] "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_7" -> "val_F_div0#reference_field#8428286850923379914.8fdee85eabf77b0016437fa0006d373c_6" ; @@ -247,10 +247,10 @@ digraph cfg { "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_1" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" ; -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_2" [label="2: Exit reference_field::val_I_div0 \n NULLIFY(&r); [line 126, column 1]\n NULLIFY(&x); [line 126, column 1]\n " color=yellow style=filled] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_2" [label="2: Exit reference_field::val_I_div0 \n " color=yellow style=filled] -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" [label="3: Return Stmt \n n$0=*&r.i:int [line 125, column 14]\n *&return:int=(1 / n$0) [line 125, column 3]\n _=*&x:reference_field::X [line 125, column 16]\n n$2=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 125, column 16]\n EXIT_SCOPE(_,n$0,n$2,x,r); [line 125, column 16]\n APPLY_ABSTRACTION; [line 125, column 16]\n " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" [label="3: Return Stmt \n n$0=*&r.i:int [line 125, column 14]\n *&return:int=(1 / n$0) [line 125, column 3]\n _=*&x:reference_field::X [line 125, column 16]\n n$2=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 125, column 16]\n " shape="box"] "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_2" ; @@ -258,7 +258,7 @@ digraph cfg { "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_4" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_3" ; -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 123, column 3]\n n$4=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 123, column 7]\n EXIT_SCOPE(n$4); [line 123, column 7]\n " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 123, column 3]\n n$4=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 123, column 7]\n " shape="box"] "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_4" ; @@ -266,7 +266,7 @@ digraph cfg { "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_6" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_5" ; -"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 121, column 3]\n n$5=_fun_reference_field::X::X(&x:reference_field::X*) [line 121, column 5]\n EXIT_SCOPE(n$5); [line 121, column 5]\n " shape="box"] +"val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 121, column 3]\n n$5=_fun_reference_field::X::X(&x:reference_field::X*) [line 121, column 5]\n " shape="box"] "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_7" -> "val_I_div0#reference_field#17788064844610257149.11b45a3e82e229e7a7714480217c1af3_6" ; @@ -274,10 +274,10 @@ digraph cfg { "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_1" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" ; -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_2" [label="2: Exit reference_field::val_getF_div0 \n NULLIFY(&r); [line 134, column 1]\n NULLIFY(&x); [line 134, column 1]\n " color=yellow style=filled] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_2" [label="2: Exit reference_field::val_getF_div0 \n " color=yellow style=filled] -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 133, column 14]\n n$1=_fun_reference_field::Val::getF(&r:reference_field::Val&) [line 133, column 14]\n *&return:int=(1 / n$1) [line 133, column 3]\n _=*&x:reference_field::X [line 133, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 133, column 21]\n EXIT_SCOPE(_,_,n$1,n$3,x,r); [line 133, column 21]\n APPLY_ABSTRACTION; [line 133, column 21]\n " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 133, column 14]\n n$1=_fun_reference_field::Val::getF(&r:reference_field::Val&) [line 133, column 14]\n *&return:int=(1 / n$1) [line 133, column 3]\n _=*&x:reference_field::X [line 133, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 133, column 21]\n " shape="box"] "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_2" ; @@ -285,7 +285,7 @@ digraph cfg { "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_4" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_3" ; -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 131, column 3]\n n$5=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 131, column 7]\n EXIT_SCOPE(n$5); [line 131, column 7]\n " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 131, column 3]\n n$5=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 131, column 7]\n " shape="box"] "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_4" ; @@ -293,7 +293,7 @@ digraph cfg { "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_6" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_5" ; -"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 129, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 129, column 5]\n EXIT_SCOPE(n$6); [line 129, column 5]\n " shape="box"] +"val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 129, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 129, column 5]\n " shape="box"] "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_7" -> "val_getF_div0#reference_field#16910887455441500799.24fc3c9591435f1b92c06c5c7da4bd2e_6" ; @@ -301,10 +301,10 @@ digraph cfg { "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_1" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" ; -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_2" [label="2: Exit reference_field::val_getI_div0 \n NULLIFY(&x); [line 142, column 1]\n NULLIFY(&r); [line 142, column 1]\n " color=yellow style=filled] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_2" [label="2: Exit reference_field::val_getI_div0 \n " color=yellow style=filled] -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 141, column 14]\n n$1=_fun_reference_field::Val::getI(&r:reference_field::Val&) [line 141, column 14]\n *&return:int=(1 / n$1) [line 141, column 3]\n _=*&x:reference_field::X [line 141, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 141, column 21]\n EXIT_SCOPE(_,_,n$1,n$3,r,x); [line 141, column 21]\n APPLY_ABSTRACTION; [line 141, column 21]\n " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" [label="3: Return Stmt \n _=*&r:reference_field::Val [line 141, column 14]\n n$1=_fun_reference_field::Val::getI(&r:reference_field::Val&) [line 141, column 14]\n *&return:int=(1 / n$1) [line 141, column 3]\n _=*&x:reference_field::X [line 141, column 21]\n n$3=_fun_reference_field::X::~X(&x:reference_field::X*) injected [line 141, column 21]\n " shape="box"] "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_2" ; @@ -312,7 +312,7 @@ digraph cfg { "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_4" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_3" ; -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 139, column 3]\n n$5=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 139, column 7]\n EXIT_SCOPE(n$5); [line 139, column 7]\n " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r:reference_field::Val); [line 139, column 3]\n n$5=_fun_reference_field::Val::Val(&r:reference_field::Val*,&x:reference_field::X&) [line 139, column 7]\n " shape="box"] "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_4" ; @@ -320,7 +320,7 @@ digraph cfg { "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_6" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_5" ; -"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 137, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 137, column 5]\n EXIT_SCOPE(n$6); [line 137, column 5]\n " shape="box"] +"val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" [label="7: DeclStmt \n VARIABLE_DECLARED(x:reference_field::X); [line 137, column 3]\n n$6=_fun_reference_field::X::X(&x:reference_field::X*) [line 137, column 5]\n " shape="box"] "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_7" -> "val_getI_div0#reference_field#1916539470996695608.683d462cf87abbc81874a14e4872564a_6" ; @@ -331,7 +331,7 @@ digraph cfg { "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_2" [label="2: Exit reference_field::Ptr::getF \n " color=yellow style=filled] -"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 33, column 23]\n n$1=*n$0.x:reference_field::X* [line 33, column 23]\n n$2=*n$1.f:int [line 33, column 23]\n *&return:int=n$2 [line 33, column 16]\n NULLIFY(&this); [line 33, column 16]\n EXIT_SCOPE(n$0,n$1,n$2,this); [line 33, column 16]\n APPLY_ABSTRACTION; [line 33, column 16]\n " shape="box"] +"getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 33, column 23]\n n$1=*n$0.x:reference_field::X* [line 33, column 23]\n n$2=*n$1.f:int [line 33, column 23]\n *&return:int=n$2 [line 33, column 16]\n " shape="box"] "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_3" -> "getF#Ptr#reference_field#(6867936719957773992).53c4cdb31ea7c9aac827b2830f575dd5_2" ; @@ -342,7 +342,7 @@ digraph cfg { "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_2" [label="2: Exit reference_field::Ptr::getI \n " color=yellow style=filled] -"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 34, column 24]\n n$1=*n$0.i:int* [line 34, column 24]\n n$2=*n$1:int [line 34, column 23]\n *&return:int=n$2 [line 34, column 16]\n NULLIFY(&this); [line 34, column 16]\n EXIT_SCOPE(n$0,n$1,n$2,this); [line 34, column 16]\n APPLY_ABSTRACTION; [line 34, column 16]\n " shape="box"] +"getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ptr* [line 34, column 24]\n n$1=*n$0.i:int* [line 34, column 24]\n n$2=*n$1:int [line 34, column 23]\n *&return:int=n$2 [line 34, column 16]\n " shape="box"] "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_3" -> "getI#Ptr#reference_field#(9990830118718700597).db587e508ad6680b9c85197fd72992d4_2" ; @@ -353,11 +353,11 @@ digraph cfg { "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_2" [label="2: Exit reference_field::Ptr::Ptr \n " color=yellow style=filled] -"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Ptr* [line 32, column 24]\n n$2=*&this:reference_field::Ptr* [line 32, column 27]\n n$3=*n$2.x:reference_field::X* [line 32, column 27]\n *n$1.i:int*=n$3.f [line 32, column 24]\n NULLIFY(&this); [line 32, column 24]\n EXIT_SCOPE(n$1,n$2,n$3,this); [line 32, column 24]\n APPLY_ABSTRACTION; [line 32, column 24]\n " shape="box"] +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Ptr* [line 32, column 24]\n n$2=*&this:reference_field::Ptr* [line 32, column 27]\n n$3=*n$2.x:reference_field::X* [line 32, column 27]\n *n$1.i:int*=n$3.f [line 32, column 24]\n " shape="box"] "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_2" ; -"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" [label="4: Constructor Init \n n$4=*&this:reference_field::Ptr* [line 32, column 16]\n n$5=*&r_:reference_field::X& [line 32, column 19]\n *n$4.x:reference_field::X*=n$5 [line 32, column 16]\n NULLIFY(&r_); [line 32, column 16]\n EXIT_SCOPE(n$4,n$5,r_); [line 32, column 16]\n " shape="box"] +"Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" [label="4: Constructor Init \n n$4=*&this:reference_field::Ptr* [line 32, column 16]\n n$5=*&r_:reference_field::X& [line 32, column 19]\n *n$4.x:reference_field::X*=n$5 [line 32, column 16]\n " shape="box"] "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_4" -> "Ptr#Ptr#reference_field#{6088279996118893652}.360bbf008525cb3c23d8ada20f2a72af_3" ; @@ -368,7 +368,7 @@ digraph cfg { "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_2" [label="2: Exit reference_field::Ref::getI \n " color=yellow style=filled] -"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 26, column 23]\n n$1=*n$0.i:int& [line 26, column 23]\n n$2=*n$1:int [line 26, column 23]\n *&return:int=n$2 [line 26, column 16]\n NULLIFY(&this); [line 26, column 16]\n EXIT_SCOPE(n$0,n$1,n$2,this); [line 26, column 16]\n APPLY_ABSTRACTION; [line 26, column 16]\n " shape="box"] +"getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 26, column 23]\n n$1=*n$0.i:int& [line 26, column 23]\n n$2=*n$1:int [line 26, column 23]\n *&return:int=n$2 [line 26, column 16]\n " shape="box"] "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_3" -> "getI#Ref#reference_field#(11319674367674692208).ab98b8b3de535d47d4b70092fc16ce37_2" ; @@ -379,7 +379,7 @@ digraph cfg { "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_2" [label="2: Exit reference_field::Ref::getF \n " color=yellow style=filled] -"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 25, column 23]\n n$1=*n$0.x:reference_field::X& [line 25, column 23]\n n$2=*n$1.f:int [line 25, column 23]\n *&return:int=n$2 [line 25, column 16]\n NULLIFY(&this); [line 25, column 16]\n EXIT_SCOPE(n$0,n$1,n$2,this); [line 25, column 16]\n APPLY_ABSTRACTION; [line 25, column 16]\n " shape="box"] +"getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Ref* [line 25, column 23]\n n$1=*n$0.x:reference_field::X& [line 25, column 23]\n n$2=*n$1.f:int [line 25, column 23]\n *&return:int=n$2 [line 25, column 16]\n " shape="box"] "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_3" -> "getF#Ref#reference_field#(4333270831228787341).d47ae80c78316dac2e24a22fc076cf41_2" ; @@ -390,11 +390,11 @@ digraph cfg { "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_2" [label="2: Exit reference_field::Ref::Ref \n " color=yellow style=filled] -"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Ref* [line 24, column 23]\n n$2=*&this:reference_field::Ref* [line 24, column 25]\n n$3=*n$2.x:reference_field::X& [line 24, column 25]\n *n$1.i:int&=n$3.f [line 24, column 23]\n NULLIFY(&this); [line 24, column 23]\n EXIT_SCOPE(n$1,n$2,n$3,this); [line 24, column 23]\n APPLY_ABSTRACTION; [line 24, column 23]\n " shape="box"] +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Ref* [line 24, column 23]\n n$2=*&this:reference_field::Ref* [line 24, column 25]\n n$3=*n$2.x:reference_field::X& [line 24, column 25]\n *n$1.i:int&=n$3.f [line 24, column 23]\n " shape="box"] "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_2" ; -"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" [label="4: Constructor Init \n n$4=*&this:reference_field::Ref* [line 24, column 16]\n n$5=*&r_:reference_field::X& [line 24, column 18]\n *n$4.x:reference_field::X&=n$5 [line 24, column 16]\n NULLIFY(&r_); [line 24, column 16]\n EXIT_SCOPE(n$4,n$5,r_); [line 24, column 16]\n " shape="box"] +"Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" [label="4: Constructor Init \n n$4=*&this:reference_field::Ref* [line 24, column 16]\n n$5=*&r_:reference_field::X& [line 24, column 18]\n *n$4.x:reference_field::X&=n$5 [line 24, column 16]\n " shape="box"] "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_4" -> "Ref#Ref#reference_field#{1778104277749367423}.02a281ecc4e6bde89182d1ef952810a2_3" ; @@ -405,7 +405,7 @@ digraph cfg { "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_2" [label="2: Exit reference_field::Val::getI \n " color=yellow style=filled] -"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 42, column 23]\n n$1=*n$0.i:int [line 42, column 23]\n *&return:int=n$1 [line 42, column 16]\n NULLIFY(&this); [line 42, column 16]\n EXIT_SCOPE(n$0,n$1,this); [line 42, column 16]\n APPLY_ABSTRACTION; [line 42, column 16]\n " shape="box"] +"getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 42, column 23]\n n$1=*n$0.i:int [line 42, column 23]\n *&return:int=n$1 [line 42, column 16]\n " shape="box"] "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_3" -> "getI#Val#reference_field#(5092177944978041506).c3db07b6697824cd689cc81f71b31e2a_2" ; @@ -416,7 +416,7 @@ digraph cfg { "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_2" [label="2: Exit reference_field::Val::getF \n " color=yellow style=filled] -"getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 41, column 23]\n n$1=*n$0.x.f:int [line 41, column 23]\n *&return:int=n$1 [line 41, column 16]\n NULLIFY(&this); [line 41, column 16]\n EXIT_SCOPE(n$0,n$1,this); [line 41, column 16]\n APPLY_ABSTRACTION; [line 41, column 16]\n " shape="box"] +"getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_3" [label="3: Return Stmt \n n$0=*&this:reference_field::Val* [line 41, column 23]\n n$1=*n$0.x.f:int [line 41, column 23]\n *&return:int=n$1 [line 41, column 16]\n " shape="box"] "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_3" -> "getF#Val#reference_field#(5603383781744538435).f0720826d9b8abc0c6259038f1412318_2" ; @@ -427,11 +427,11 @@ digraph cfg { "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" [label="2: Exit reference_field::Val::Val \n " color=yellow style=filled] -"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Val* [line 40, column 23]\n n$2=*&this:reference_field::Val* [line 40, column 25]\n n$3=*n$2.x.f:int [line 40, column 25]\n *n$1.i:int=n$3 [line 40, column 23]\n NULLIFY(&this); [line 40, column 23]\n EXIT_SCOPE(n$1,n$2,n$3,this); [line 40, column 23]\n APPLY_ABSTRACTION; [line 40, column 23]\n " shape="box"] +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" [label="3: Constructor Init \n n$1=*&this:reference_field::Val* [line 40, column 23]\n n$2=*&this:reference_field::Val* [line 40, column 25]\n n$3=*n$2.x.f:int [line 40, column 25]\n *n$1.i:int=n$3 [line 40, column 23]\n " shape="box"] "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_2" ; -"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" [label="4: Constructor Init \n n$4=*&this:reference_field::Val* [line 40, column 16]\n n$5=*&r_:reference_field::X& [line 40, column 18]\n n$6=_fun_reference_field::X::X(n$4.x:reference_field::X*,n$5:reference_field::X&) [line 40, column 16]\n NULLIFY(&r_); [line 40, column 16]\n EXIT_SCOPE(n$4,n$5,n$6,r_); [line 40, column 16]\n " shape="box"] +"Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" [label="4: Constructor Init \n n$4=*&this:reference_field::Val* [line 40, column 16]\n n$5=*&r_:reference_field::X& [line 40, column 18]\n n$6=_fun_reference_field::X::X(n$4.x:reference_field::X*,n$5:reference_field::X&) [line 40, column 16]\n " shape="box"] "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_4" -> "Val#Val#reference_field#{10086609758499948489}.3f0d77ba0039a38103c912b5065ccdaa_3" ; @@ -442,7 +442,7 @@ digraph cfg { "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_2" [label="2: Exit reference_field::X::X \n " color=yellow style=filled] -"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" [label="3: Constructor Init \n n$1=*&this:reference_field::X* [line 10, column 8]\n n$2=*&__param_0:reference_field::X const & [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n NULLIFY(&this); [line 10, column 8]\n NULLIFY(&__param_0); [line 10, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" [label="3: Constructor Init \n n$1=*&this:reference_field::X* [line 10, column 8]\n n$2=*&__param_0:reference_field::X const & [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n " shape="box"] "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_3" -> "X#X#reference_field#{16892162000533972663|constexpr}.d3ad2332bde2031935fecc6685296b44_2" ; 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 7d65115ec..56421c957 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 @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" [label="2: Exit __infer_globals_initializer_global \n " color=yellow style=filled] -"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$global:X); [line 27, column 1]\n n$0=_fun_X::X(&#GB$global:X*) [line 27, column 3]\n EXIT_SCOPE(n$0); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$global:X); [line 27, column 1]\n n$0=_fun_X::X(&#GB$global:X*) [line 27, column 3]\n " shape="box"] "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_3" -> "__infer_globals_initializer_global.bdc08c089842ce08b974b22a75daf78e_2" ; @@ -23,23 +23,23 @@ digraph cfg { "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_3" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_4" ; -"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 46, column 3]\n " shape="box"] +"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_4" [label="4: between_join_and_exit \n " shape="box"] "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_4" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_2" ; -"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(n$0, true); [line 46, column 7]\n EXIT_SCOPE(n$0); [line 46, column 7]\n " shape="invhouse"] +"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(n$0, true); [line 46, column 7]\n " shape="invhouse"] "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_5" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" ; -"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(!n$0, false); [line 46, column 7]\n NULLIFY(&x); [line 46, column 7]\n EXIT_SCOPE(n$0,x); [line 46, column 7]\n " shape="invhouse"] +"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 46, column 7]\n PRUNE(!n$0, false); [line 46, column 7]\n " shape="invhouse"] "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_6" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_3" ; -"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" [label="7: Return Stmt \n n$1=*&x:X* [line 48, column 12]\n _=*n$1:X [line 48, column 12]\n n$3=_fun_X::div(n$1:X*) [line 48, column 12]\n *&return:int=n$3 [line 48, column 5]\n NULLIFY(&x); [line 48, column 5]\n EXIT_SCOPE(_,n$1,n$3,x); [line 48, column 5]\n APPLY_ABSTRACTION; [line 48, column 5]\n " shape="box"] +"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" [label="7: Return Stmt \n n$1=*&x:X* [line 48, column 12]\n _=*n$1:X [line 48, column 12]\n n$3=_fun_X::div(n$1:X*) [line 48, column 12]\n *&return:int=n$3 [line 48, column 5]\n " shape="box"] "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_2" ; -"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 47, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,0:int) [line 47, column 5]\n EXIT_SCOPE(n$4,n$5); [line 47, column 5]\n " shape="box"] +"field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 47, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,0:int) [line 47, column 5]\n " shape="box"] "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_8" -> "field_div0_ptr(class X)#2555781581744357321.6b797bfc0b5ae2232a6e90651b2c1e32_7" ; @@ -50,11 +50,11 @@ digraph cfg { "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_2" [label="2: Exit field_div0_ref \n " color=yellow style=filled] -"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" [label="3: Return Stmt \n n$0=*&x:X& [line 95, column 10]\n _=*n$0:X [line 95, column 10]\n n$2=_fun_X::div(n$0:X&) [line 95, column 10]\n *&return:int=n$2 [line 95, column 3]\n NULLIFY(&x); [line 95, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 95, column 3]\n APPLY_ABSTRACTION; [line 95, column 3]\n " shape="box"] +"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" [label="3: Return Stmt \n n$0=*&x:X& [line 95, column 10]\n _=*n$0:X [line 95, column 10]\n n$2=_fun_X::div(n$0:X&) [line 95, column 10]\n *&return:int=n$2 [line 95, column 3]\n " shape="box"] "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_2" ; -"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 94, column 17]\n n$4=_fun_set_field_ref(n$3:X&,0:int) [line 94, column 3]\n EXIT_SCOPE(n$3,n$4); [line 94, column 3]\n " shape="box"] +"field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 94, column 17]\n n$4=_fun_set_field_ref(n$3:X&,0:int) [line 94, column 3]\n " shape="box"] "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_4" -> "field_div0_ref#11723804822630548942.b7eb5245bed0a75cdc2d181e5af92008_3" ; @@ -70,23 +70,23 @@ digraph cfg { "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_3" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_4" ; -"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 53, column 3]\n " shape="box"] +"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_4" [label="4: between_join_and_exit \n " shape="box"] "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_4" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_2" ; -"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(n$0, true); [line 53, column 7]\n EXIT_SCOPE(n$0); [line 53, column 7]\n " shape="invhouse"] +"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(n$0, true); [line 53, column 7]\n " shape="invhouse"] "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_5" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" ; -"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(!n$0, false); [line 53, column 7]\n NULLIFY(&x); [line 53, column 7]\n EXIT_SCOPE(n$0,x); [line 53, column 7]\n " shape="invhouse"] +"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 53, column 7]\n PRUNE(!n$0, false); [line 53, column 7]\n " shape="invhouse"] "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_6" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_3" ; -"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" [label="7: Return Stmt \n n$1=*&x:X* [line 55, column 12]\n _=*n$1:X [line 55, column 12]\n n$3=_fun_X::div(n$1:X*) [line 55, column 12]\n *&return:int=n$3 [line 55, column 5]\n NULLIFY(&x); [line 55, column 5]\n EXIT_SCOPE(_,n$1,n$3,x); [line 55, column 5]\n APPLY_ABSTRACTION; [line 55, column 5]\n " shape="box"] +"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" [label="7: Return Stmt \n n$1=*&x:X* [line 55, column 12]\n _=*n$1:X [line 55, column 12]\n n$3=_fun_X::div(n$1:X*) [line 55, column 12]\n *&return:int=n$3 [line 55, column 5]\n " shape="box"] "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_2" ; -"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 54, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,1:int) [line 54, column 5]\n EXIT_SCOPE(n$4,n$5); [line 54, column 5]\n " shape="box"] +"field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" [label="8: Call _fun_set_field_ptr \n n$4=*&x:X* [line 54, column 19]\n n$5=_fun_set_field_ptr(n$4:X*,1:int) [line 54, column 5]\n " shape="box"] "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_8" -> "field_div1_ptr(class X)#10491775926176760544.81717de1848fc0d3e24eb39e45b574dd_7" ; @@ -97,11 +97,11 @@ digraph cfg { "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_2" [label="2: Exit field_div1_ref \n " color=yellow style=filled] -"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" [label="3: Return Stmt \n n$0=*&x:X& [line 100, column 10]\n _=*n$0:X [line 100, column 10]\n n$2=_fun_X::div(n$0:X&) [line 100, column 10]\n *&return:int=n$2 [line 100, column 3]\n NULLIFY(&x); [line 100, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 100, column 3]\n APPLY_ABSTRACTION; [line 100, column 3]\n " shape="box"] +"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" [label="3: Return Stmt \n n$0=*&x:X& [line 100, column 10]\n _=*n$0:X [line 100, column 10]\n n$2=_fun_X::div(n$0:X&) [line 100, column 10]\n *&return:int=n$2 [line 100, column 3]\n " shape="box"] "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_2" ; -"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 99, column 17]\n n$4=_fun_set_field_ref(n$3:X&,1:int) [line 99, column 3]\n EXIT_SCOPE(n$3,n$4); [line 99, column 3]\n " shape="box"] +"field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" [label="4: Call _fun_set_field_ref \n n$3=*&x:X& [line 99, column 17]\n n$4=_fun_set_field_ref(n$3:X&,1:int) [line 99, column 3]\n " shape="box"] "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_4" -> "field_div1_ref#1499715418357335887.5b6e5f87301df1903e4a04faae98d6d5_3" ; @@ -112,7 +112,7 @@ digraph cfg { "get_global_ptr#6940583460992234632.3d4bb50869af20053c9b0c52091a0a39_2" [label="2: Exit get_global_ptr \n " color=yellow style=filled] -"get_global_ptr#6940583460992234632.3d4bb50869af20053c9b0c52091a0a39_3" [label="3: Return Stmt \n *&return:X*=&#GB$global [line 28, column 23]\n APPLY_ABSTRACTION; [line 28, column 23]\n " shape="box"] +"get_global_ptr#6940583460992234632.3d4bb50869af20053c9b0c52091a0a39_3" [label="3: Return Stmt \n *&return:X*=&#GB$global [line 28, column 23]\n " shape="box"] "get_global_ptr#6940583460992234632.3d4bb50869af20053c9b0c52091a0a39_3" -> "get_global_ptr#6940583460992234632.3d4bb50869af20053c9b0c52091a0a39_2" ; @@ -123,15 +123,15 @@ digraph cfg { "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_2" [label="2: Exit get_global_ptr_div0_field \n " color=yellow style=filled] -"get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ptr() [line 74, column 3]\n _=*n$0:X [line 74, column 3]\n n$2=_fun_X::div(n$0:X*) [line 74, column 3]\n EXIT_SCOPE(_,n$0,n$2); [line 74, column 3]\n APPLY_ABSTRACTION; [line 74, column 3]\n " shape="box"] +"get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ptr() [line 74, column 3]\n _=*n$0:X [line 74, column 3]\n n$2=_fun_X::div(n$0:X*) [line 74, column 3]\n " shape="box"] "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_3" -> "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_2" ; -"get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_4" [label="4: BinaryOperatorStmt: Assign \n n$3=_fun_get_global_ptr() [line 73, column 3]\n *n$3.f:int=0 [line 73, column 3]\n EXIT_SCOPE(n$3); [line 73, column 3]\n " shape="box"] +"get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_4" [label="4: BinaryOperatorStmt: Assign \n n$3=_fun_get_global_ptr() [line 73, column 3]\n *n$3.f:int=0 [line 73, column 3]\n " shape="box"] "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_4" -> "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_3" ; -"get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_5" [label="5: Call _fun_X::nonzero \n n$4=_fun_get_global_ptr() [line 72, column 3]\n _=*n$4:X [line 72, column 3]\n n$6=_fun_X::nonzero(n$4:X*) [line 72, column 3]\n EXIT_SCOPE(_,n$4,n$6); [line 72, column 3]\n " shape="box"] +"get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_5" [label="5: Call _fun_X::nonzero \n n$4=_fun_get_global_ptr() [line 72, column 3]\n _=*n$4:X [line 72, column 3]\n n$6=_fun_X::nonzero(n$4:X*) [line 72, column 3]\n " shape="box"] "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_5" -> "get_global_ptr_div0_field#8708891951617234281.85a5d13d32b9177abaa3c8c98323c45e_4" ; @@ -142,15 +142,15 @@ digraph cfg { "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_2" [label="2: Exit get_global_ptr_div0_method \n " color=yellow style=filled] -"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ptr() [line 62, column 3]\n _=*n$0:X [line 62, column 3]\n n$2=_fun_X::div(n$0:X*) [line 62, column 3]\n EXIT_SCOPE(_,n$0,n$2); [line 62, column 3]\n APPLY_ABSTRACTION; [line 62, column 3]\n " shape="box"] +"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ptr() [line 62, column 3]\n _=*n$0:X [line 62, column 3]\n n$2=_fun_X::div(n$0:X*) [line 62, column 3]\n " shape="box"] "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_3" -> "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_2" ; -"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_4" [label="4: Call _fun_X::zero \n n$3=_fun_get_global_ptr() [line 61, column 3]\n _=*n$3:X [line 61, column 3]\n n$5=_fun_X::zero(n$3:X*) [line 61, column 3]\n EXIT_SCOPE(_,n$3,n$5); [line 61, column 3]\n " shape="box"] +"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_4" [label="4: Call _fun_X::zero \n n$3=_fun_get_global_ptr() [line 61, column 3]\n _=*n$3:X [line 61, column 3]\n n$5=_fun_X::zero(n$3:X*) [line 61, column 3]\n " shape="box"] "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_4" -> "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_3" ; -"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ptr() [line 60, column 3]\n *n$6.f:int=1 [line 60, column 3]\n EXIT_SCOPE(n$6); [line 60, column 3]\n " shape="box"] +"get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ptr() [line 60, column 3]\n *n$6.f:int=1 [line 60, column 3]\n " shape="box"] "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_5" -> "get_global_ptr_div0_method#6868600075123047675.d796dd8227b55f7d5d2ba2c1a06183dd_4" ; @@ -161,15 +161,15 @@ digraph cfg { "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_2" [label="2: Exit get_global_ptr_div1_field \n " color=yellow style=filled] -"get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ptr() [line 80, column 3]\n _=*n$0:X [line 80, column 3]\n n$2=_fun_X::div(n$0:X*) [line 80, column 3]\n EXIT_SCOPE(_,n$0,n$2); [line 80, column 3]\n APPLY_ABSTRACTION; [line 80, column 3]\n " shape="box"] +"get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ptr() [line 80, column 3]\n _=*n$0:X [line 80, column 3]\n n$2=_fun_X::div(n$0:X*) [line 80, column 3]\n " shape="box"] "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_3" -> "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_2" ; -"get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_4" [label="4: BinaryOperatorStmt: Assign \n n$3=_fun_get_global_ptr() [line 79, column 3]\n *n$3.f:int=1 [line 79, column 3]\n EXIT_SCOPE(n$3); [line 79, column 3]\n " shape="box"] +"get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_4" [label="4: BinaryOperatorStmt: Assign \n n$3=_fun_get_global_ptr() [line 79, column 3]\n *n$3.f:int=1 [line 79, column 3]\n " shape="box"] "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_4" -> "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_3" ; -"get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_5" [label="5: Call _fun_X::zero \n n$4=_fun_get_global_ptr() [line 78, column 3]\n _=*n$4:X [line 78, column 3]\n n$6=_fun_X::zero(n$4:X*) [line 78, column 3]\n EXIT_SCOPE(_,n$4,n$6); [line 78, column 3]\n " shape="box"] +"get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_5" [label="5: Call _fun_X::zero \n n$4=_fun_get_global_ptr() [line 78, column 3]\n _=*n$4:X [line 78, column 3]\n n$6=_fun_X::zero(n$4:X*) [line 78, column 3]\n " shape="box"] "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_5" -> "get_global_ptr_div1_field#6744083307199058304.94ebaff789d09fecbd24e3f8bfd75e70_4" ; @@ -180,15 +180,15 @@ digraph cfg { "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_2" [label="2: Exit get_global_ptr_div1_method \n " color=yellow style=filled] -"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ptr() [line 68, column 3]\n _=*n$0:X [line 68, column 3]\n n$2=_fun_X::div(n$0:X*) [line 68, column 3]\n EXIT_SCOPE(_,n$0,n$2); [line 68, column 3]\n APPLY_ABSTRACTION; [line 68, column 3]\n " shape="box"] +"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ptr() [line 68, column 3]\n _=*n$0:X [line 68, column 3]\n n$2=_fun_X::div(n$0:X*) [line 68, column 3]\n " shape="box"] "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_3" -> "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_2" ; -"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_4" [label="4: Call _fun_X::nonzero \n n$3=_fun_get_global_ptr() [line 67, column 3]\n _=*n$3:X [line 67, column 3]\n n$5=_fun_X::nonzero(n$3:X*) [line 67, column 3]\n EXIT_SCOPE(_,n$3,n$5); [line 67, column 3]\n " shape="box"] +"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_4" [label="4: Call _fun_X::nonzero \n n$3=_fun_get_global_ptr() [line 67, column 3]\n _=*n$3:X [line 67, column 3]\n n$5=_fun_X::nonzero(n$3:X*) [line 67, column 3]\n " shape="box"] "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_4" -> "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_3" ; -"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ptr() [line 66, column 3]\n *n$6.f:int=0 [line 66, column 3]\n EXIT_SCOPE(n$6); [line 66, column 3]\n " shape="box"] +"get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ptr() [line 66, column 3]\n *n$6.f:int=0 [line 66, column 3]\n " shape="box"] "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_5" -> "get_global_ptr_div1_method#13320237176965265316.b7b17bcc9c036a753453d67e3683d764_4" ; @@ -199,7 +199,7 @@ digraph cfg { "get_global_ref#16631994563311505709.c5518847f25d69c08bc2da87c0d94d1b_2" [label="2: Exit get_global_ref \n " color=yellow style=filled] -"get_global_ref#16631994563311505709.c5518847f25d69c08bc2da87c0d94d1b_3" [label="3: Return Stmt \n *&return:X&=&#GB$global [line 29, column 23]\n APPLY_ABSTRACTION; [line 29, column 23]\n " shape="box"] +"get_global_ref#16631994563311505709.c5518847f25d69c08bc2da87c0d94d1b_3" [label="3: Return Stmt \n *&return:X&=&#GB$global [line 29, column 23]\n " shape="box"] "get_global_ref#16631994563311505709.c5518847f25d69c08bc2da87c0d94d1b_3" -> "get_global_ref#16631994563311505709.c5518847f25d69c08bc2da87c0d94d1b_2" ; @@ -210,15 +210,15 @@ digraph cfg { "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_2" [label="2: Exit get_global_ref_div0_field \n " color=yellow style=filled] -"get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ref() [line 118, column 3]\n _=*n$0:X [line 118, column 3]\n n$2=_fun_X::div(n$0:X&) [line 118, column 3]\n EXIT_SCOPE(_,n$0,n$2); [line 118, column 3]\n APPLY_ABSTRACTION; [line 118, column 3]\n " shape="box"] +"get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ref() [line 118, column 3]\n _=*n$0:X [line 118, column 3]\n n$2=_fun_X::div(n$0:X&) [line 118, column 3]\n " shape="box"] "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_3" -> "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_2" ; -"get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_4" [label="4: BinaryOperatorStmt: Assign \n n$3=_fun_get_global_ref() [line 117, column 3]\n *n$3.f:int=0 [line 117, column 3]\n EXIT_SCOPE(n$3); [line 117, column 3]\n " shape="box"] +"get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_4" [label="4: BinaryOperatorStmt: Assign \n n$3=_fun_get_global_ref() [line 117, column 3]\n *n$3.f:int=0 [line 117, column 3]\n " shape="box"] "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_4" -> "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_3" ; -"get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_5" [label="5: Call _fun_X::nonzero \n n$4=_fun_get_global_ref() [line 116, column 3]\n _=*n$4:X [line 116, column 3]\n n$6=_fun_X::nonzero(n$4:X&) [line 116, column 3]\n EXIT_SCOPE(_,n$4,n$6); [line 116, column 3]\n " shape="box"] +"get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_5" [label="5: Call _fun_X::nonzero \n n$4=_fun_get_global_ref() [line 116, column 3]\n _=*n$4:X [line 116, column 3]\n n$6=_fun_X::nonzero(n$4:X&) [line 116, column 3]\n " shape="box"] "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_5" -> "get_global_ref_div0_field#9894336115642083138.99dfafa929e6446e06064af81022e228_4" ; @@ -229,15 +229,15 @@ digraph cfg { "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_2" [label="2: Exit get_global_ref_div0_method \n " color=yellow style=filled] -"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ref() [line 106, column 3]\n _=*n$0:X [line 106, column 3]\n n$2=_fun_X::div(n$0:X&) [line 106, column 3]\n EXIT_SCOPE(_,n$0,n$2); [line 106, column 3]\n APPLY_ABSTRACTION; [line 106, column 3]\n " shape="box"] +"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ref() [line 106, column 3]\n _=*n$0:X [line 106, column 3]\n n$2=_fun_X::div(n$0:X&) [line 106, column 3]\n " shape="box"] "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_3" -> "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_2" ; -"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_4" [label="4: Call _fun_X::zero \n n$3=_fun_get_global_ref() [line 105, column 3]\n _=*n$3:X [line 105, column 3]\n n$5=_fun_X::zero(n$3:X&) [line 105, column 3]\n EXIT_SCOPE(_,n$3,n$5); [line 105, column 3]\n " shape="box"] +"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_4" [label="4: Call _fun_X::zero \n n$3=_fun_get_global_ref() [line 105, column 3]\n _=*n$3:X [line 105, column 3]\n n$5=_fun_X::zero(n$3:X&) [line 105, column 3]\n " shape="box"] "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_4" -> "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_3" ; -"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ref() [line 104, column 3]\n *n$6.f:int=1 [line 104, column 3]\n EXIT_SCOPE(n$6); [line 104, column 3]\n " shape="box"] +"get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ref() [line 104, column 3]\n *n$6.f:int=1 [line 104, column 3]\n " shape="box"] "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_5" -> "get_global_ref_div0_method#4500024601676141702.703eacc20d3ff2ec6f40a78b62656e3a_4" ; @@ -248,15 +248,15 @@ digraph cfg { "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_2" [label="2: Exit get_global_ref_div1_field \n " color=yellow style=filled] -"get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ref() [line 124, column 3]\n _=*n$0:X [line 124, column 3]\n n$2=_fun_X::div(n$0:X&) [line 124, column 3]\n EXIT_SCOPE(_,n$0,n$2); [line 124, column 3]\n APPLY_ABSTRACTION; [line 124, column 3]\n " shape="box"] +"get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ref() [line 124, column 3]\n _=*n$0:X [line 124, column 3]\n n$2=_fun_X::div(n$0:X&) [line 124, column 3]\n " shape="box"] "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_3" -> "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_2" ; -"get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_4" [label="4: BinaryOperatorStmt: Assign \n n$3=_fun_get_global_ref() [line 123, column 3]\n *n$3.f:int=1 [line 123, column 3]\n EXIT_SCOPE(n$3); [line 123, column 3]\n " shape="box"] +"get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_4" [label="4: BinaryOperatorStmt: Assign \n n$3=_fun_get_global_ref() [line 123, column 3]\n *n$3.f:int=1 [line 123, column 3]\n " shape="box"] "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_4" -> "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_3" ; -"get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_5" [label="5: Call _fun_X::zero \n n$4=_fun_get_global_ref() [line 122, column 3]\n _=*n$4:X [line 122, column 3]\n n$6=_fun_X::zero(n$4:X&) [line 122, column 3]\n EXIT_SCOPE(_,n$4,n$6); [line 122, column 3]\n " shape="box"] +"get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_5" [label="5: Call _fun_X::zero \n n$4=_fun_get_global_ref() [line 122, column 3]\n _=*n$4:X [line 122, column 3]\n n$6=_fun_X::zero(n$4:X&) [line 122, column 3]\n " shape="box"] "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_5" -> "get_global_ref_div1_field#9400638526174087075.f2be9db8a45f6acda1c8ab83ffea2ce8_4" ; @@ -267,15 +267,15 @@ digraph cfg { "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_2" [label="2: Exit get_global_ref_div1_method \n " color=yellow style=filled] -"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ref() [line 112, column 3]\n _=*n$0:X [line 112, column 3]\n n$2=_fun_X::div(n$0:X&) [line 112, column 3]\n EXIT_SCOPE(_,n$0,n$2); [line 112, column 3]\n APPLY_ABSTRACTION; [line 112, column 3]\n " shape="box"] +"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_3" [label="3: Call _fun_X::div \n n$0=_fun_get_global_ref() [line 112, column 3]\n _=*n$0:X [line 112, column 3]\n n$2=_fun_X::div(n$0:X&) [line 112, column 3]\n " shape="box"] "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_3" -> "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_2" ; -"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_4" [label="4: Call _fun_X::nonzero \n n$3=_fun_get_global_ref() [line 111, column 3]\n _=*n$3:X [line 111, column 3]\n n$5=_fun_X::nonzero(n$3:X&) [line 111, column 3]\n EXIT_SCOPE(_,n$3,n$5); [line 111, column 3]\n " shape="box"] +"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_4" [label="4: Call _fun_X::nonzero \n n$3=_fun_get_global_ref() [line 111, column 3]\n _=*n$3:X [line 111, column 3]\n n$5=_fun_X::nonzero(n$3:X&) [line 111, column 3]\n " shape="box"] "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_4" -> "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_3" ; -"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ref() [line 110, column 3]\n *n$6.f:int=0 [line 110, column 3]\n EXIT_SCOPE(n$6); [line 110, column 3]\n " shape="box"] +"get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_5" [label="5: BinaryOperatorStmt: Assign \n n$6=_fun_get_global_ref() [line 110, column 3]\n *n$6.f:int=0 [line 110, column 3]\n " shape="box"] "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_5" -> "get_global_ref_div1_method#9218905628510589917.1d66d8c44e8582bb6fcdcb7df79e3215_4" ; @@ -291,23 +291,23 @@ digraph cfg { "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_3" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_4" ; -"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 32, column 3]\n " shape="box"] +"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_4" [label="4: between_join_and_exit \n " shape="box"] "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_4" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_2" ; -"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(n$0, true); [line 32, column 7]\n EXIT_SCOPE(n$0); [line 32, column 7]\n " shape="invhouse"] +"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(n$0, true); [line 32, column 7]\n " shape="invhouse"] "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_5" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" ; -"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(!n$0, false); [line 32, column 7]\n NULLIFY(&x); [line 32, column 7]\n EXIT_SCOPE(n$0,x); [line 32, column 7]\n " shape="invhouse"] +"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 32, column 7]\n PRUNE(!n$0, false); [line 32, column 7]\n " shape="invhouse"] "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_6" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_3" ; -"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" [label="7: Return Stmt \n n$1=*&x:X* [line 34, column 12]\n _=*n$1:X [line 34, column 12]\n n$3=_fun_X::div(n$1:X*) [line 34, column 12]\n *&return:int=n$3 [line 34, column 5]\n NULLIFY(&x); [line 34, column 5]\n EXIT_SCOPE(_,n$1,n$3,x); [line 34, column 5]\n APPLY_ABSTRACTION; [line 34, column 5]\n " shape="box"] +"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" [label="7: Return Stmt \n n$1=*&x:X* [line 34, column 12]\n _=*n$1:X [line 34, column 12]\n n$3=_fun_X::div(n$1:X*) [line 34, column 12]\n *&return:int=n$3 [line 34, column 5]\n " shape="box"] "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_2" ; -"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" [label="8: Call _fun_zero_ptr \n n$4=*&x:X* [line 33, column 14]\n n$5=_fun_zero_ptr(n$4:X*) [line 33, column 5]\n EXIT_SCOPE(n$4,n$5); [line 33, column 5]\n " shape="box"] +"method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" [label="8: Call _fun_zero_ptr \n n$4=*&x:X* [line 33, column 14]\n n$5=_fun_zero_ptr(n$4:X*) [line 33, column 5]\n " shape="box"] "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_8" -> "method_div0_ptr(class X)#6106785648087401281.dd62393e799ba25c316919114a8426e7_7" ; @@ -318,11 +318,11 @@ digraph cfg { "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_2" [label="2: Exit method_div0_ref \n " color=yellow style=filled] -"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" [label="3: Return Stmt \n n$0=*&x:X& [line 85, column 10]\n _=*n$0:X [line 85, column 10]\n n$2=_fun_X::div(n$0:X&) [line 85, column 10]\n *&return:int=n$2 [line 85, column 3]\n NULLIFY(&x); [line 85, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 85, column 3]\n APPLY_ABSTRACTION; [line 85, column 3]\n " shape="box"] +"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" [label="3: Return Stmt \n n$0=*&x:X& [line 85, column 10]\n _=*n$0:X [line 85, column 10]\n n$2=_fun_X::div(n$0:X&) [line 85, column 10]\n *&return:int=n$2 [line 85, column 3]\n " shape="box"] "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_2" ; -"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" [label="4: Call _fun_zero_ref \n n$3=*&x:X& [line 84, column 12]\n n$4=_fun_zero_ref(n$3:X&) [line 84, column 3]\n EXIT_SCOPE(n$3,n$4); [line 84, column 3]\n " shape="box"] +"method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" [label="4: Call _fun_zero_ref \n n$3=*&x:X& [line 84, column 12]\n n$4=_fun_zero_ref(n$3:X&) [line 84, column 3]\n " shape="box"] "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_4" -> "method_div0_ref#12048348997540346822.5280d482da62ad0e098e3e6ad4e7915e_3" ; @@ -338,23 +338,23 @@ digraph cfg { "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_3" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_4" ; -"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_4" [label="4: between_join_and_exit \n " shape="box"] "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_4" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_2" ; -"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(n$0, true); [line 39, column 7]\n EXIT_SCOPE(n$0); [line 39, column 7]\n " shape="invhouse"] +"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_5" [label="5: Prune (true branch, if) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(n$0, true); [line 39, column 7]\n " shape="invhouse"] "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_5" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" ; -"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(!n$0, false); [line 39, column 7]\n NULLIFY(&x); [line 39, column 7]\n EXIT_SCOPE(n$0,x); [line 39, column 7]\n " shape="invhouse"] +"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_6" [label="6: Prune (false branch, if) \n n$0=*&x:X* [line 39, column 7]\n PRUNE(!n$0, false); [line 39, column 7]\n " shape="invhouse"] "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_6" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_3" ; -"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" [label="7: Return Stmt \n n$1=*&x:X* [line 41, column 12]\n _=*n$1:X [line 41, column 12]\n n$3=_fun_X::div(n$1:X*) [line 41, column 12]\n *&return:int=n$3 [line 41, column 5]\n NULLIFY(&x); [line 41, column 5]\n EXIT_SCOPE(_,n$1,n$3,x); [line 41, column 5]\n APPLY_ABSTRACTION; [line 41, column 5]\n " shape="box"] +"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" [label="7: Return Stmt \n n$1=*&x:X* [line 41, column 12]\n _=*n$1:X [line 41, column 12]\n n$3=_fun_X::div(n$1:X*) [line 41, column 12]\n *&return:int=n$3 [line 41, column 5]\n " shape="box"] "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_2" ; -"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" [label="8: Call _fun_nonzero_ptr \n n$4=*&x:X* [line 40, column 17]\n n$5=_fun_nonzero_ptr(n$4:X*) [line 40, column 5]\n EXIT_SCOPE(n$4,n$5); [line 40, column 5]\n " shape="box"] +"method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" [label="8: Call _fun_nonzero_ptr \n n$4=*&x:X* [line 40, column 17]\n n$5=_fun_nonzero_ptr(n$4:X*) [line 40, column 5]\n " shape="box"] "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_8" -> "method_div1_ptr(class X)#3061685040798671000.64eb0c6fbbafc7f2c6db9ccea560251c_7" ; @@ -365,11 +365,11 @@ digraph cfg { "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_2" [label="2: Exit method_div1_ref \n " color=yellow style=filled] -"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" [label="3: Return Stmt \n n$0=*&x:X& [line 90, column 10]\n _=*n$0:X [line 90, column 10]\n n$2=_fun_X::div(n$0:X&) [line 90, column 10]\n *&return:int=n$2 [line 90, column 3]\n NULLIFY(&x); [line 90, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 90, column 3]\n APPLY_ABSTRACTION; [line 90, column 3]\n " shape="box"] +"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" [label="3: Return Stmt \n n$0=*&x:X& [line 90, column 10]\n _=*n$0:X [line 90, column 10]\n n$2=_fun_X::div(n$0:X&) [line 90, column 10]\n *&return:int=n$2 [line 90, column 3]\n " shape="box"] "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_2" ; -"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" [label="4: Call _fun_nonzero_ref \n n$3=*&x:X& [line 89, column 15]\n n$4=_fun_nonzero_ref(n$3:X&) [line 89, column 3]\n EXIT_SCOPE(n$3,n$4); [line 89, column 3]\n " shape="box"] +"method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" [label="4: Call _fun_nonzero_ref \n n$3=*&x:X& [line 89, column 15]\n n$4=_fun_nonzero_ref(n$3:X&) [line 89, column 3]\n " shape="box"] "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_4" -> "method_div1_ref#18445848838166655559.1ecfa9c02aff37ba12fb556cb038f32c_3" ; @@ -380,7 +380,7 @@ digraph cfg { "nonzero_ptr(class X)#1716920554390102131.ab3e0f6dea34ce6bb6abf3732e2b1b66_2" [label="2: Exit nonzero_ptr \n " color=yellow style=filled] -"nonzero_ptr(class X)#1716920554390102131.ab3e0f6dea34ce6bb6abf3732e2b1b66_3" [label="3: Call _fun_X::nonzero \n n$0=*&x:X* [line 17, column 26]\n _=*n$0:X [line 17, column 26]\n n$2=_fun_X::nonzero(n$0:X*) [line 17, column 26]\n NULLIFY(&x); [line 17, column 26]\n EXIT_SCOPE(_,n$0,n$2,x); [line 17, column 26]\n APPLY_ABSTRACTION; [line 17, column 26]\n " shape="box"] +"nonzero_ptr(class X)#1716920554390102131.ab3e0f6dea34ce6bb6abf3732e2b1b66_3" [label="3: Call _fun_X::nonzero \n n$0=*&x:X* [line 17, column 26]\n _=*n$0:X [line 17, column 26]\n n$2=_fun_X::nonzero(n$0:X*) [line 17, column 26]\n " shape="box"] "nonzero_ptr(class X)#1716920554390102131.ab3e0f6dea34ce6bb6abf3732e2b1b66_3" -> "nonzero_ptr(class X)#1716920554390102131.ab3e0f6dea34ce6bb6abf3732e2b1b66_2" ; @@ -391,7 +391,7 @@ digraph cfg { "nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_2" [label="2: Exit nonzero_ref \n " color=yellow style=filled] -"nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_3" [label="3: Call _fun_X::nonzero \n n$0=*&x:X& [line 23, column 26]\n _=*n$0:X [line 23, column 26]\n n$2=_fun_X::nonzero(n$0:X&) [line 23, column 26]\n NULLIFY(&x); [line 23, column 26]\n EXIT_SCOPE(_,n$0,n$2,x); [line 23, column 26]\n APPLY_ABSTRACTION; [line 23, column 26]\n " shape="box"] +"nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_3" [label="3: Call _fun_X::nonzero \n n$0=*&x:X& [line 23, column 26]\n _=*n$0:X [line 23, column 26]\n n$2=_fun_X::nonzero(n$0:X&) [line 23, column 26]\n " shape="box"] "nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_3" -> "nonzero_ref#2062801655575406720.e5794366c34a5ecd10e2fd062a659f30_2" ; @@ -402,7 +402,7 @@ digraph cfg { "set_field_ptr(class X)#10262801862810946974.624982a2696b528e07aa0054da333ca2_2" [label="2: Exit set_field_ptr \n " color=yellow style=filled] -"set_field_ptr(class X)#10262801862810946974.624982a2696b528e07aa0054da333ca2_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&x:X* [line 19, column 37]\n n$1=*&val:int [line 19, column 44]\n *n$0.f:int=n$1 [line 19, column 37]\n NULLIFY(&val); [line 19, column 37]\n NULLIFY(&x); [line 19, column 37]\n EXIT_SCOPE(n$0,n$1,val,x); [line 19, column 37]\n APPLY_ABSTRACTION; [line 19, column 37]\n " shape="box"] +"set_field_ptr(class X)#10262801862810946974.624982a2696b528e07aa0054da333ca2_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&x:X* [line 19, column 37]\n n$1=*&val:int [line 19, column 44]\n *n$0.f:int=n$1 [line 19, column 37]\n " shape="box"] "set_field_ptr(class X)#10262801862810946974.624982a2696b528e07aa0054da333ca2_3" -> "set_field_ptr(class X)#10262801862810946974.624982a2696b528e07aa0054da333ca2_2" ; @@ -413,7 +413,7 @@ digraph cfg { "set_field_ref#15177497547761982491.aa4620ee8933c900acc4164344e57432_2" [label="2: Exit set_field_ref \n " color=yellow style=filled] -"set_field_ref#15177497547761982491.aa4620ee8933c900acc4164344e57432_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&x:X& [line 25, column 37]\n n$1=*&val:int [line 25, column 43]\n *n$0.f:int=n$1 [line 25, column 37]\n NULLIFY(&val); [line 25, column 37]\n NULLIFY(&x); [line 25, column 37]\n EXIT_SCOPE(n$0,n$1,val,x); [line 25, column 37]\n APPLY_ABSTRACTION; [line 25, column 37]\n " shape="box"] +"set_field_ref#15177497547761982491.aa4620ee8933c900acc4164344e57432_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&x:X& [line 25, column 37]\n n$1=*&val:int [line 25, column 43]\n *n$0.f:int=n$1 [line 25, column 37]\n " shape="box"] "set_field_ref#15177497547761982491.aa4620ee8933c900acc4164344e57432_3" -> "set_field_ref#15177497547761982491.aa4620ee8933c900acc4164344e57432_2" ; @@ -424,7 +424,7 @@ digraph cfg { "zero_ptr(class X)#12528709853087384868.d08145759acbbf21c345f01eb7eefc7e_2" [label="2: Exit zero_ptr \n " color=yellow style=filled] -"zero_ptr(class X)#12528709853087384868.d08145759acbbf21c345f01eb7eefc7e_3" [label="3: Call _fun_X::zero \n n$0=*&x:X* [line 15, column 23]\n _=*n$0:X [line 15, column 23]\n n$2=_fun_X::zero(n$0:X*) [line 15, column 23]\n NULLIFY(&x); [line 15, column 23]\n EXIT_SCOPE(_,n$0,n$2,x); [line 15, column 23]\n APPLY_ABSTRACTION; [line 15, column 23]\n " shape="box"] +"zero_ptr(class X)#12528709853087384868.d08145759acbbf21c345f01eb7eefc7e_3" [label="3: Call _fun_X::zero \n n$0=*&x:X* [line 15, column 23]\n _=*n$0:X [line 15, column 23]\n n$2=_fun_X::zero(n$0:X*) [line 15, column 23]\n " shape="box"] "zero_ptr(class X)#12528709853087384868.d08145759acbbf21c345f01eb7eefc7e_3" -> "zero_ptr(class X)#12528709853087384868.d08145759acbbf21c345f01eb7eefc7e_2" ; @@ -435,7 +435,7 @@ digraph cfg { "zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_2" [label="2: Exit zero_ref \n " color=yellow style=filled] -"zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_3" [label="3: Call _fun_X::zero \n n$0=*&x:X& [line 21, column 23]\n _=*n$0:X [line 21, column 23]\n n$2=_fun_X::zero(n$0:X&) [line 21, column 23]\n NULLIFY(&x); [line 21, column 23]\n EXIT_SCOPE(_,n$0,n$2,x); [line 21, column 23]\n APPLY_ABSTRACTION; [line 21, column 23]\n " shape="box"] +"zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_3" [label="3: Call _fun_X::zero \n n$0=*&x:X& [line 21, column 23]\n _=*n$0:X [line 21, column 23]\n n$2=_fun_X::zero(n$0:X&) [line 21, column 23]\n " shape="box"] "zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_3" -> "zero_ref#14077465191616488315.9f868765c76672369ef06a4d03ded4f3_2" ; @@ -446,7 +446,7 @@ digraph cfg { "nonzero#X#(11619218627491700674).1d7c44c6589f4c816f501055b35038bc_2" [label="2: Exit X::nonzero \n " color=yellow style=filled] -"nonzero#X#(11619218627491700674).1d7c44c6589f4c816f501055b35038bc_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:X* [line 10, column 20]\n *n$0.f:int=1 [line 10, column 20]\n NULLIFY(&this); [line 10, column 20]\n EXIT_SCOPE(n$0,this); [line 10, column 20]\n APPLY_ABSTRACTION; [line 10, column 20]\n " shape="box"] +"nonzero#X#(11619218627491700674).1d7c44c6589f4c816f501055b35038bc_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:X* [line 10, column 20]\n *n$0.f:int=1 [line 10, column 20]\n " shape="box"] "nonzero#X#(11619218627491700674).1d7c44c6589f4c816f501055b35038bc_3" -> "nonzero#X#(11619218627491700674).1d7c44c6589f4c816f501055b35038bc_2" ; @@ -457,7 +457,7 @@ digraph cfg { "zero#X#(16299302305861440992).e13842f7b98f126e5d2188644c16a995_2" [label="2: Exit X::zero \n " color=yellow style=filled] -"zero#X#(16299302305861440992).e13842f7b98f126e5d2188644c16a995_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:X* [line 11, column 17]\n *n$0.f:int=0 [line 11, column 17]\n NULLIFY(&this); [line 11, column 17]\n EXIT_SCOPE(n$0,this); [line 11, column 17]\n APPLY_ABSTRACTION; [line 11, column 17]\n " shape="box"] +"zero#X#(16299302305861440992).e13842f7b98f126e5d2188644c16a995_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:X* [line 11, column 17]\n *n$0.f:int=0 [line 11, column 17]\n " shape="box"] "zero#X#(16299302305861440992).e13842f7b98f126e5d2188644c16a995_3" -> "zero#X#(16299302305861440992).e13842f7b98f126e5d2188644c16a995_2" ; @@ -468,7 +468,7 @@ digraph cfg { "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" [label="2: Exit X::div \n " color=yellow style=filled] -"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 12, column 26]\n n$1=*n$0.f:int [line 12, column 26]\n *&return:int=(1 / n$1) [line 12, column 15]\n NULLIFY(&this); [line 12, column 15]\n EXIT_SCOPE(n$0,n$1,this); [line 12, column 15]\n APPLY_ABSTRACTION; [line 12, column 15]\n " shape="box"] +"div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" [label="3: Return Stmt \n n$0=*&this:X* [line 12, column 26]\n n$1=*n$0.f:int [line 12, column 26]\n *&return:int=(1 / n$1) [line 12, column 15]\n " shape="box"] "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_3" -> "div#X#(18085298371773708552).78228fdd912ebeeb718ac23bdc727c87_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp.dot index 349e71e3a..1d5dddc9e 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/reference_type_e2e.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_1" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_6" ; -"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_2" [label="2: Exit ptr_div0 \n NULLIFY(&a); [line 16, column 1]\n " color=yellow style=filled] +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_2" [label="2: Exit ptr_div0 \n " color=yellow style=filled] -"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" [label="3: Return Stmt \n n$0=*&a:int [line 15, column 14]\n *&return:int=(1 / n$0) [line 15, column 3]\n EXIT_SCOPE(n$0,a); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" [label="3: Return Stmt \n n$0=*&a:int [line 15, column 14]\n *&return:int=(1 / n$0) [line 15, column 3]\n " shape="box"] "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_2" ; -"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&p:int* [line 14, column 4]\n *n$1:int=0 [line 14, column 3]\n NULLIFY(&p); [line 14, column 3]\n EXIT_SCOPE(n$1,p); [line 14, column 3]\n " shape="box"] +"ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&p:int* [line 14, column 4]\n *n$1:int=0 [line 14, column 3]\n " shape="box"] "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_4" -> "ptr_div0#14193575060740497524.6928690623c7c21a5a52547c8cdd4310_3" ; @@ -27,14 +27,14 @@ digraph cfg { "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_1" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_5" ; -"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_2" [label="2: Exit ptr_div0_function \n NULLIFY(&a); [line 22, column 1]\n " color=yellow style=filled] +"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_2" [label="2: Exit ptr_div0_function \n " color=yellow style=filled] -"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" [label="3: Return Stmt \n n$0=*&a:int [line 21, column 14]\n *&return:int=(1 / n$0) [line 21, column 3]\n EXIT_SCOPE(n$0,a); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" [label="3: Return Stmt \n n$0=*&a:int [line 21, column 14]\n *&return:int=(1 / n$0) [line 21, column 3]\n " shape="box"] "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_2" ; -"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" [label="4: Call _fun_zero_ptr \n n$1=_fun_zero_ptr(&a:int*) [line 20, column 3]\n EXIT_SCOPE(n$1); [line 20, column 3]\n " shape="box"] +"ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" [label="4: Call _fun_zero_ptr \n n$1=_fun_zero_ptr(&a:int*) [line 20, column 3]\n " shape="box"] "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_4" -> "ptr_div0_function#15472019236267517423.0a3eb7529edaa487d598988d34f0b091_3" ; @@ -46,14 +46,14 @@ digraph cfg { "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_1" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_6" ; -"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_2" [label="2: Exit ptr_div0_function_temp_var \n NULLIFY(&a); [line 29, column 1]\n " color=yellow style=filled] +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_2" [label="2: Exit ptr_div0_function_temp_var \n " color=yellow style=filled] -"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" [label="3: Return Stmt \n n$0=*&a:int [line 28, column 14]\n *&return:int=(1 / n$0) [line 28, column 3]\n EXIT_SCOPE(n$0,a); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" [label="3: Return Stmt \n n$0=*&a:int [line 28, column 14]\n *&return:int=(1 / n$0) [line 28, column 3]\n " shape="box"] "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_2" ; -"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" [label="4: Call _fun_zero_ptr \n n$1=*&r:int* [line 27, column 12]\n n$2=_fun_zero_ptr(n$1:int*) [line 27, column 3]\n NULLIFY(&r); [line 27, column 3]\n EXIT_SCOPE(n$1,n$2,r); [line 27, column 3]\n " shape="box"] +"ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" [label="4: Call _fun_zero_ptr \n n$1=*&r:int* [line 27, column 12]\n n$2=_fun_zero_ptr(n$1:int*) [line 27, column 3]\n " shape="box"] "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_4" -> "ptr_div0_function_temp_var#5150281836928396778.6b88ca0a7e844195f8de319fd04a3139_3" ; @@ -69,14 +69,14 @@ digraph cfg { "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_1" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_6" ; -"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_2" [label="2: Exit ref_div0 \n NULLIFY(&a); [line 36, column 1]\n " color=yellow style=filled] +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_2" [label="2: Exit ref_div0 \n " color=yellow style=filled] -"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" [label="3: Return Stmt \n n$0=*&a:int [line 35, column 14]\n *&return:int=(1 / n$0) [line 35, column 3]\n EXIT_SCOPE(n$0,a); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" [label="3: Return Stmt \n n$0=*&a:int [line 35, column 14]\n *&return:int=(1 / n$0) [line 35, column 3]\n " shape="box"] "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_2" ; -"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&r:int& [line 34, column 3]\n *n$1:int=0 [line 34, column 3]\n NULLIFY(&r); [line 34, column 3]\n EXIT_SCOPE(n$1,r); [line 34, column 3]\n " shape="box"] +"ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&r:int& [line 34, column 3]\n *n$1:int=0 [line 34, column 3]\n " shape="box"] "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_4" -> "ref_div0#1043072996947162803.d8e5fefe42038c8549979f6316354144_3" ; @@ -92,14 +92,14 @@ digraph cfg { "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_1" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_5" ; -"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_2" [label="2: Exit ref_div0_function \n NULLIFY(&a); [line 42, column 1]\n " color=yellow style=filled] +"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_2" [label="2: Exit ref_div0_function \n " color=yellow style=filled] -"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" [label="3: Return Stmt \n n$0=*&a:int [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n EXIT_SCOPE(n$0,a); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" [label="3: Return Stmt \n n$0=*&a:int [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n " shape="box"] "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_2" ; -"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" [label="4: Call _fun_zero_ref \n n$1=_fun_zero_ref(&a:int&) [line 40, column 3]\n EXIT_SCOPE(n$1); [line 40, column 3]\n " shape="box"] +"ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" [label="4: Call _fun_zero_ref \n n$1=_fun_zero_ref(&a:int&) [line 40, column 3]\n " shape="box"] "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_4" -> "ref_div0_function#15446684317306379342.095fd29aa2a7d2024ec0380b2c42aad4_3" ; @@ -111,14 +111,14 @@ digraph cfg { "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_1" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_6" ; -"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_2" [label="2: Exit ref_div0_function_temp_var \n NULLIFY(&a); [line 49, column 1]\n " color=yellow style=filled] +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_2" [label="2: Exit ref_div0_function_temp_var \n " color=yellow style=filled] -"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" [label="3: Return Stmt \n n$0=*&a:int [line 48, column 14]\n *&return:int=(1 / n$0) [line 48, column 3]\n EXIT_SCOPE(n$0,a); [line 48, column 3]\n APPLY_ABSTRACTION; [line 48, column 3]\n " shape="box"] +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" [label="3: Return Stmt \n n$0=*&a:int [line 48, column 14]\n *&return:int=(1 / n$0) [line 48, column 3]\n " shape="box"] "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_2" ; -"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" [label="4: Call _fun_zero_ref \n n$1=*&r:int& [line 47, column 12]\n n$2=_fun_zero_ref(n$1:int&) [line 47, column 3]\n NULLIFY(&r); [line 47, column 3]\n EXIT_SCOPE(n$1,n$2,r); [line 47, column 3]\n " shape="box"] +"ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" [label="4: Call _fun_zero_ref \n n$1=*&r:int& [line 47, column 12]\n n$2=_fun_zero_ref(n$1:int&) [line 47, column 3]\n " shape="box"] "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_4" -> "ref_div0_function_temp_var#14207866842047996477.a899517f09b367d539ea5f04365fd46e_3" ; @@ -134,18 +134,18 @@ digraph cfg { "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_1" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_8" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_2" [label="2: Exit ref_div0_nested_assignment \n NULLIFY(&a); [line 58, column 1]\n " color=yellow style=filled] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_2" [label="2: Exit ref_div0_nested_assignment \n " color=yellow style=filled] -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" [label="3: Return Stmt \n n$0=*&a:int [line 57, column 14]\n *&return:int=(1 / n$0) [line 57, column 3]\n EXIT_SCOPE(n$0,a); [line 57, column 3]\n APPLY_ABSTRACTION; [line 57, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" [label="3: Return Stmt \n n$0=*&a:int [line 57, column 14]\n *&return:int=(1 / n$0) [line 57, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_2" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&r2:int& [line 56, column 3]\n *n$1:int=0 [line 56, column 3]\n NULLIFY(&r2); [line 56, column 3]\n EXIT_SCOPE(n$1,r2); [line 56, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&r2:int& [line 56, column 3]\n *n$1:int=0 [line 56, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_3" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r2:int&); [line 55, column 3]\n n$2=*&r1:int& [line 55, column 13]\n *&b:int=1 [line 55, column 18]\n n$3=*&b:int [line 55, column 18]\n *n$2:int=n$3 [line 55, column 13]\n *&r2:int&=n$2 [line 55, column 3]\n NULLIFY(&b); [line 55, column 3]\n NULLIFY(&r1); [line 55, column 3]\n EXIT_SCOPE(n$2,n$3,b,r1); [line 55, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r2:int&); [line 55, column 3]\n n$2=*&r1:int& [line 55, column 13]\n *&b:int=1 [line 55, column 18]\n n$3=*&b:int [line 55, column 18]\n *n$2:int=n$3 [line 55, column 13]\n *&r2:int&=n$2 [line 55, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_5" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_4" ; @@ -153,7 +153,7 @@ digraph cfg { "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_6" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_5" ; -"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:int); [line 53, column 3]\n *&b:int=3 [line 53, column 3]\n NULLIFY(&b); [line 53, column 3]\n EXIT_SCOPE(b); [line 53, column 3]\n " shape="box"] +"ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:int); [line 53, column 3]\n *&b:int=3 [line 53, column 3]\n " shape="box"] "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_7" -> "ref_div0_nested_assignment#17126972420420854569.bd6abb3056f6689fbac92af920ec6879_6" ; @@ -165,26 +165,26 @@ digraph cfg { "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_1" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_8" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_2" [label="2: Exit ref_div1_nested_assignment \n NULLIFY(&a); [line 67, column 1]\n " color=yellow style=filled] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_2" [label="2: Exit ref_div1_nested_assignment \n " color=yellow style=filled] -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" [label="3: Return Stmt \n n$0=*&b:int [line 66, column 14]\n *&return:int=(1 / n$0) [line 66, column 3]\n NULLIFY(&b); [line 66, column 3]\n EXIT_SCOPE(n$0,b); [line 66, column 3]\n APPLY_ABSTRACTION; [line 66, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" [label="3: Return Stmt \n n$0=*&b:int [line 66, column 14]\n *&return:int=(1 / n$0) [line 66, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_2" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&r2:int& [line 65, column 3]\n *n$1:int=0 [line 65, column 3]\n NULLIFY(&r2); [line 65, column 3]\n EXIT_SCOPE(n$1,r2); [line 65, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&r2:int& [line 65, column 3]\n *n$1:int=0 [line 65, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_3" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r2:int&); [line 64, column 3]\n n$2=*&r1:int& [line 64, column 13]\n *&b:int=1 [line 64, column 18]\n n$3=*&b:int [line 64, column 18]\n *n$2:int=n$3 [line 64, column 13]\n *&r2:int&=n$2 [line 64, column 3]\n NULLIFY(&r1); [line 64, column 3]\n EXIT_SCOPE(n$2,n$3,r1); [line 64, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(r2:int&); [line 64, column 3]\n n$2=*&r1:int& [line 64, column 13]\n *&b:int=1 [line 64, column 18]\n n$3=*&b:int [line 64, column 18]\n *n$2:int=n$3 [line 64, column 13]\n *&r2:int&=n$2 [line 64, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_4" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_6" [label="6: DeclStmt \n VARIABLE_DECLARED(r1:int&); [line 63, column 3]\n *&r1:int&=&a [line 63, column 3]\n EXIT_SCOPE(a); [line 63, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_6" [label="6: DeclStmt \n VARIABLE_DECLARED(r1:int&); [line 63, column 3]\n *&r1:int&=&a [line 63, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_6" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_5" ; -"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:int); [line 62, column 3]\n *&b:int=3 [line 62, column 3]\n NULLIFY(&b); [line 62, column 3]\n EXIT_SCOPE(b); [line 62, column 3]\n " shape="box"] +"ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_7" [label="7: DeclStmt \n VARIABLE_DECLARED(b:int); [line 62, column 3]\n *&b:int=3 [line 62, column 3]\n " shape="box"] "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_7" -> "ref_div1_nested_assignment#5121576951592231820.a9f8511d9ff791c44569fd8a8eb9d3cf_6" ; @@ -199,7 +199,7 @@ digraph cfg { "zero_ptr#10962438709356261388.c1a1091e7e1d49bd9bd5d8cac96703e9_2" [label="2: Exit zero_ptr \n " color=yellow style=filled] -"zero_ptr#10962438709356261388.c1a1091e7e1d49bd9bd5d8cac96703e9_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&p:int* [line 8, column 26]\n *n$0:int=0 [line 8, column 25]\n NULLIFY(&p); [line 8, column 25]\n EXIT_SCOPE(n$0,p); [line 8, column 25]\n APPLY_ABSTRACTION; [line 8, column 25]\n " shape="box"] +"zero_ptr#10962438709356261388.c1a1091e7e1d49bd9bd5d8cac96703e9_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&p:int* [line 8, column 26]\n *n$0:int=0 [line 8, column 25]\n " shape="box"] "zero_ptr#10962438709356261388.c1a1091e7e1d49bd9bd5d8cac96703e9_3" -> "zero_ptr#10962438709356261388.c1a1091e7e1d49bd9bd5d8cac96703e9_2" ; @@ -210,7 +210,7 @@ digraph cfg { "zero_ref#8777441955929384761.2247f2b8d396eabba21c20ef967ac6ec_2" [label="2: Exit zero_ref \n " color=yellow style=filled] -"zero_ref#8777441955929384761.2247f2b8d396eabba21c20ef967ac6ec_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&p:int& [line 9, column 25]\n *n$0:int=0 [line 9, column 25]\n NULLIFY(&p); [line 9, column 25]\n EXIT_SCOPE(n$0,p); [line 9, column 25]\n APPLY_ABSTRACTION; [line 9, column 25]\n " shape="box"] +"zero_ref#8777441955929384761.2247f2b8d396eabba21c20ef967ac6ec_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&p:int& [line 9, column 25]\n *n$0:int=0 [line 9, column 25]\n " shape="box"] "zero_ref#8777441955929384761.2247f2b8d396eabba21c20ef967ac6ec_3" -> "zero_ref#8777441955929384761.2247f2b8d396eabba21c20ef967ac6ec_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot index bbc788b7e..ef10ae9fe 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/temporary_lvalue.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_2" [label="2: Exit div \n " color=yellow style=filled] -"div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_3" [label="3: Return Stmt \n n$0=*&v:int const & [line 8, column 36]\n n$1=*n$0:int [line 8, column 36]\n *&return:int=(1 / n$1) [line 8, column 25]\n NULLIFY(&v); [line 8, column 25]\n EXIT_SCOPE(n$0,n$1,v); [line 8, column 25]\n APPLY_ABSTRACTION; [line 8, column 25]\n " shape="box"] +"div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_3" [label="3: Return Stmt \n n$0=*&v:int const & [line 8, column 36]\n n$1=*n$0:int [line 8, column 36]\n *&return:int=(1 / n$1) [line 8, column 25]\n " shape="box"] "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_3" -> "div#1879538779647861770.84b17ea73594d098fb69bd947fc358c0_2" ; @@ -15,10 +15,10 @@ digraph cfg { "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_1" -> "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_3" ; -"div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_2" [label="2: Exit div0_function_param_cast \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 15, column 49]\n " color=yellow style=filled] +"div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_2" [label="2: Exit div0_function_param_cast \n " color=yellow style=filled] -"div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:int const ); [line 15, column 45]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 15, column 45]\n n$1=_fun_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const &) [line 15, column 41]\n *&return:int=n$1 [line 15, column 34]\n EXIT_SCOPE(n$1,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 15, column 34]\n APPLY_ABSTRACTION; [line 15, column 34]\n " shape="box"] +"div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:int const ); [line 15, column 45]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 15, column 45]\n n$1=_fun_div(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const &) [line 15, column 41]\n *&return:int=n$1 [line 15, column 34]\n " shape="box"] "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_3" -> "div0_function_param_cast#10492767400319523474.071b9a9b757a9140938b53a95e971def_2" ; @@ -26,14 +26,14 @@ digraph cfg { "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_1" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" ; -"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_2" [label="2: Exit div0_init_expr \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 13, column 1]\n " color=yellow style=filled] +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_2" [label="2: Exit div0_init_expr \n " color=yellow style=filled] -"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" [label="3: Return Stmt \n n$0=*&a:int const & [line 12, column 14]\n n$1=_fun_div(n$0:int const &) [line 12, column 10]\n *&return:int=n$1 [line 12, column 3]\n NULLIFY(&a); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" [label="3: Return Stmt \n n$0=*&a:int const & [line 12, column 14]\n n$1=_fun_div(n$0:int const &) [line 12, column 10]\n *&return:int=n$1 [line 12, column 3]\n " shape="box"] "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_2" ; -"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int const &); [line 11, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 11, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 11, column 18]\n *&a:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 11, column 3]\n EXIT_SCOPE(0$?%__sil_tmpSIL_materialize_temp__n$2); [line 11, column 3]\n " shape="box"] +"div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:int const &); [line 11, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 11, column 18]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 11, column 18]\n *&a:int const &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 11, column 3]\n " shape="box"] "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_4" -> "div0_init_expr#16429869714979266683.46e79db6a434bbf3e121689869095925_3" ; @@ -41,10 +41,10 @@ digraph cfg { "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_1" -> "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_4" ; -"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_2" [label="2: Exit div0_no_const_ref \n NULLIFY(&a); [line 21, column 1]\n " color=yellow style=filled] +"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_2" [label="2: Exit div0_no_const_ref \n " color=yellow style=filled] -"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_3" [label="3: Return Stmt \n n$0=_fun_div(&a:int&) [line 20, column 10]\n *&return:int=n$0 [line 20, column 3]\n EXIT_SCOPE(n$0,a); [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_3" [label="3: Return Stmt \n n$0=_fun_div(&a:int&) [line 20, column 10]\n *&return:int=n$0 [line 20, column 3]\n " shape="box"] "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_3" -> "div0_no_const_ref#2435860439272921671.329c6a0e35fd9b4b747df4dcffa5a9ef_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot index cc617109b..343ef8d70 100644 --- a/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/reference/unbox.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_2" [label="2: Exit fun_p \n " color=yellow style=filled] -"fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_3" [label="3: Return Stmt \n n$0=*&p:int* [line 8, column 29]\n n$1=*n$0:int [line 8, column 28]\n *&return:int=n$1 [line 8, column 21]\n NULLIFY(&p); [line 8, column 21]\n EXIT_SCOPE(n$0,n$1,p); [line 8, column 21]\n APPLY_ABSTRACTION; [line 8, column 21]\n " shape="box"] +"fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_3" [label="3: Return Stmt \n n$0=*&p:int* [line 8, column 29]\n n$1=*n$0:int [line 8, column 28]\n *&return:int=n$1 [line 8, column 21]\n " shape="box"] "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_3" -> "fun_p#7468829763884786220.ff1d58f26970dcc8ee3c2a153c5a5b85_2" ; @@ -18,7 +18,7 @@ digraph cfg { "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_2" [label="2: Exit fun_r \n " color=yellow style=filled] -"fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_3" [label="3: Return Stmt \n n$0=*&p:int& [line 10, column 28]\n n$1=*n$0:int [line 10, column 28]\n *&return:int=n$1 [line 10, column 21]\n NULLIFY(&p); [line 10, column 21]\n EXIT_SCOPE(n$0,n$1,p); [line 10, column 21]\n APPLY_ABSTRACTION; [line 10, column 21]\n " shape="box"] +"fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_3" [label="3: Return Stmt \n n$0=*&p:int& [line 10, column 28]\n n$1=*n$0:int [line 10, column 28]\n *&return:int=n$1 [line 10, column 21]\n " shape="box"] "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_3" -> "fun_r#8688550998084520100.a539308a01e8443f65be5d44c29a73f6_2" ; @@ -29,7 +29,7 @@ digraph cfg { "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_2" [label="2: Exit fun_v \n " color=yellow style=filled] -"fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_3" [label="3: Return Stmt \n n$0=*&p:int [line 9, column 27]\n *&return:int=n$0 [line 9, column 20]\n NULLIFY(&p); [line 9, column 20]\n EXIT_SCOPE(n$0,p); [line 9, column 20]\n APPLY_ABSTRACTION; [line 9, column 20]\n " shape="box"] +"fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_3" [label="3: Return Stmt \n n$0=*&p:int [line 9, column 27]\n *&return:int=n$0 [line 9, column 20]\n " shape="box"] "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_3" -> "fun_v#125358748374922080.2b082c989a86eb6a918b15eb596c685a_2" ; @@ -37,22 +37,22 @@ digraph cfg { "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_1" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_7" ; -"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_2" [label="2: Exit unbox_ptr \n NULLIFY(&a); [line 32, column 1]\n " color=yellow style=filled] +"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_2" [label="2: Exit unbox_ptr \n " color=yellow style=filled] -"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_3" [label="3: Call _fun_fun_r \n n$0=*&p:int* [line 31, column 10]\n n$1=_fun_fun_r(n$0:int&) [line 31, column 3]\n NULLIFY(&p); [line 31, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_3" [label="3: Call _fun_fun_r \n n$0=*&p:int* [line 31, column 10]\n n$1=_fun_fun_r(n$0:int&) [line 31, column 3]\n " shape="box"] "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_3" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_2" ; -"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_4" [label="4: Call _fun_fun_v \n n$2=*&p:int* [line 30, column 10]\n n$3=*n$2:int [line 30, column 9]\n n$4=_fun_fun_v(n$3:int) [line 30, column 3]\n EXIT_SCOPE(n$2,n$3,n$4); [line 30, column 3]\n " shape="box"] +"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_4" [label="4: Call _fun_fun_v \n n$2=*&p:int* [line 30, column 10]\n n$3=*n$2:int [line 30, column 9]\n n$4=_fun_fun_v(n$3:int) [line 30, column 3]\n " shape="box"] "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_4" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_3" ; -"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_5" [label="5: Call _fun_fun_p \n n$5=*&p:int* [line 29, column 9]\n n$6=_fun_fun_p(n$5:int*) [line 29, column 3]\n EXIT_SCOPE(n$5,n$6); [line 29, column 3]\n " shape="box"] +"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_5" [label="5: Call _fun_fun_p \n n$5=*&p:int* [line 29, column 9]\n n$6=_fun_fun_p(n$5:int*) [line 29, column 3]\n " shape="box"] "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_5" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_4" ; -"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 27, column 3]\n *&p:int*=&a [line 27, column 3]\n EXIT_SCOPE(a); [line 27, column 3]\n " shape="box"] +"unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(p:int*); [line 27, column 3]\n *&p:int*=&a [line 27, column 3]\n " shape="box"] "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_6" -> "unbox_ptr#3550280956167916174.75d50cc2e2dfffd1cc23613b01fc878b_5" ; @@ -64,22 +64,22 @@ digraph cfg { "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_1" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_7" ; -"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_2" [label="2: Exit unbox_ref \n NULLIFY(&a); [line 22, column 1]\n " color=yellow style=filled] +"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_2" [label="2: Exit unbox_ref \n " color=yellow style=filled] -"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_3" [label="3: Call _fun_fun_r \n n$0=*&r:int& [line 21, column 9]\n n$1=_fun_fun_r(n$0:int&) [line 21, column 3]\n NULLIFY(&r); [line 21, column 3]\n EXIT_SCOPE(n$0,n$1,r); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_3" [label="3: Call _fun_fun_r \n n$0=*&r:int& [line 21, column 9]\n n$1=_fun_fun_r(n$0:int&) [line 21, column 3]\n " shape="box"] "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_3" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_2" ; -"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_4" [label="4: Call _fun_fun_v \n n$2=*&r:int& [line 20, column 9]\n n$3=*n$2:int [line 20, column 9]\n n$4=_fun_fun_v(n$3:int) [line 20, column 3]\n EXIT_SCOPE(n$2,n$3,n$4); [line 20, column 3]\n " shape="box"] +"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_4" [label="4: Call _fun_fun_v \n n$2=*&r:int& [line 20, column 9]\n n$3=*n$2:int [line 20, column 9]\n n$4=_fun_fun_v(n$3:int) [line 20, column 3]\n " shape="box"] "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_4" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_3" ; -"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_5" [label="5: Call _fun_fun_p \n n$5=*&r:int& [line 19, column 10]\n n$6=_fun_fun_p(n$5:int*) [line 19, column 3]\n EXIT_SCOPE(n$5,n$6); [line 19, column 3]\n " shape="box"] +"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_5" [label="5: Call _fun_fun_p \n n$5=*&r:int& [line 19, column 10]\n n$6=_fun_fun_p(n$5:int*) [line 19, column 3]\n " shape="box"] "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_5" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_4" ; -"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_6" [label="6: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 17, column 3]\n *&r:int&=&a [line 17, column 3]\n EXIT_SCOPE(a); [line 17, column 3]\n " shape="box"] +"unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_6" [label="6: DeclStmt \n VARIABLE_DECLARED(r:int&); [line 17, column 3]\n *&r:int&=&a [line 17, column 3]\n " shape="box"] "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_6" -> "unbox_ref#9977470601320200599.91094dce9e5b43dc4c89abcbc69b2c70_5" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot index e20e34cf2..474d416c7 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/class_specialization.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_1" -> "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_5" ; -"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_2" [label="2: Exit class_specialization::foo_int \n NULLIFY(&b); [line 34, column 1]\n " color=yellow style=filled] +"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_2" [label="2: Exit class_specialization::foo_int \n " color=yellow style=filled] -"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z:int); [line 33, column 3]\n n$0=*&b.x:int [line 33, column 15]\n *&z:int=(1 / n$0) [line 33, column 3]\n NULLIFY(&z); [line 33, column 3]\n EXIT_SCOPE(n$0,b,z); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z:int); [line 33, column 3]\n n$0=*&b.x:int [line 33, column 15]\n *&z:int=(1 / n$0) [line 33, column 3]\n " shape="box"] "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_3" -> "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_2" ; -"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_4" [label="4: Call _fun_class_specialization::Derived::foo \n _=*&b:class_specialization::Derived [line 32, column 3]\n n$2=_fun_class_specialization::Derived::foo(&b:class_specialization::Derived&,0:int) [line 32, column 3]\n EXIT_SCOPE(_,n$2); [line 32, column 3]\n " shape="box"] +"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_4" [label="4: Call _fun_class_specialization::Derived::foo \n _=*&b:class_specialization::Derived [line 32, column 3]\n n$2=_fun_class_specialization::Derived::foo(&b:class_specialization::Derived&,0:int) [line 32, column 3]\n " shape="box"] "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_4" -> "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_3" ; -"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:class_specialization::Derived); [line 31, column 3]\n n$3=_fun_class_specialization::Derived::Derived(&b:class_specialization::Derived*) [line 31, column 16]\n EXIT_SCOPE(n$3); [line 31, column 16]\n " shape="box"] +"foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:class_specialization::Derived); [line 31, column 3]\n n$3=_fun_class_specialization::Derived::Derived(&b:class_specialization::Derived*) [line 31, column 16]\n " shape="box"] "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_5" -> "foo_int#class_specialization#18011277194514159170.29412bbb7345cd5150bdd3239c145d19_4" ; @@ -23,18 +23,18 @@ digraph cfg { "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_1" -> "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_5" ; -"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_2" [label="2: Exit class_specialization::foo_intptr \n NULLIFY(&b); [line 28, column 1]\n " color=yellow style=filled] +"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_2" [label="2: Exit class_specialization::foo_intptr \n " color=yellow style=filled] -"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_3" [label="3: DeclStmt \n VARIABLE_DECLARED(x:int); [line 27, column 3]\n n$0=*&b.x:int* [line 27, column 12]\n n$1=*n$0:int [line 27, column 11]\n *&x:int=n$1 [line 27, column 3]\n NULLIFY(&x); [line 27, column 3]\n EXIT_SCOPE(n$0,n$1,b,x); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_3" [label="3: DeclStmt \n VARIABLE_DECLARED(x:int); [line 27, column 3]\n n$0=*&b.x:int* [line 27, column 12]\n n$1=*n$0:int [line 27, column 11]\n *&x:int=n$1 [line 27, column 3]\n " shape="box"] "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_3" -> "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_2" ; -"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_4" [label="4: Call _fun_class_specialization::Derived::foo2 \n _=*&b:class_specialization::Derived [line 26, column 3]\n n$3=_fun_class_specialization::Derived::foo2(&b:class_specialization::Derived&,null:int*) [line 26, column 3]\n EXIT_SCOPE(_,n$3); [line 26, column 3]\n " shape="box"] +"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_4" [label="4: Call _fun_class_specialization::Derived::foo2 \n _=*&b:class_specialization::Derived [line 26, column 3]\n n$3=_fun_class_specialization::Derived::foo2(&b:class_specialization::Derived&,null:int*) [line 26, column 3]\n " shape="box"] "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_4" -> "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_3" ; -"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:class_specialization::Derived); [line 25, column 3]\n n$4=_fun_class_specialization::Derived::Derived(&b:class_specialization::Derived*) [line 25, column 17]\n EXIT_SCOPE(n$4); [line 25, column 17]\n " shape="box"] +"foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(b:class_specialization::Derived); [line 25, column 3]\n n$4=_fun_class_specialization::Derived::Derived(&b:class_specialization::Derived*) [line 25, column 17]\n " shape="box"] "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_5" -> "foo_intptr#class_specialization#3914514069521239538.096096ddd8eb9462872f535952d6e0a5_4" ; @@ -59,7 +59,7 @@ digraph cfg { "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_2" [label="2: Exit class_specialization::Derived::foo2 \n " color=yellow style=filled] -"foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class_specialization::Derived* [line 21, column 21]\n n$1=*&t:int* [line 21, column 31]\n *n$0.x:int*=n$1 [line 21, column 21]\n NULLIFY(&t); [line 21, column 21]\n NULLIFY(&this); [line 21, column 21]\n EXIT_SCOPE(n$0,n$1,t,this); [line 21, column 21]\n APPLY_ABSTRACTION; [line 21, column 21]\n " shape="box"] +"foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class_specialization::Derived* [line 21, column 21]\n n$1=*&t:int* [line 21, column 31]\n *n$0.x:int*=n$1 [line 21, column 21]\n " shape="box"] "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_3" -> "foo2#Derived#class_specialization#(12167928122938213289).9c7a2e679a7d7dcf0338960c56f01bd4_2" ; @@ -70,7 +70,7 @@ digraph cfg { "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" [label="2: Exit class_specialization::Derived::Derived \n " color=yellow style=filled] -"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" [label="3: Constructor Init \n n$1=*&this:class_specialization::Derived* [line 20, column 8]\n n$2=_fun_class_specialization::Base::Base(n$1:class_specialization::Derived*) [line 20, column 8]\n NULLIFY(&this); [line 20, column 8]\n EXIT_SCOPE(n$1,n$2,this); [line 20, column 8]\n APPLY_ABSTRACTION; [line 20, column 8]\n " shape="box"] +"Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" [label="3: Constructor Init \n n$1=*&this:class_specialization::Derived* [line 20, column 8]\n n$2=_fun_class_specialization::Base::Base(n$1:class_specialization::Derived*) [line 20, column 8]\n " shape="box"] "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_3" -> "Derived#Derived#class_specialization#{6947111178756325946}.2484a8b63b0d0003a390b6e57428fee2_2" ; @@ -81,7 +81,7 @@ digraph cfg { "foo#Derived#class_specialization#(3691368771332090182).157c4cba925bdfdc131986d2b52af05d_2" [label="2: Exit class_specialization::Derived::foo \n " color=yellow style=filled] -"foo#Derived#class_specialization#(3691368771332090182).157c4cba925bdfdc131986d2b52af05d_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class_specialization::Derived* [line 16, column 19]\n n$1=*&t:int [line 16, column 29]\n *n$0.x:int=n$1 [line 16, column 19]\n NULLIFY(&t); [line 16, column 19]\n NULLIFY(&this); [line 16, column 19]\n EXIT_SCOPE(n$0,n$1,t,this); [line 16, column 19]\n APPLY_ABSTRACTION; [line 16, column 19]\n " shape="box"] +"foo#Derived#class_specialization#(3691368771332090182).157c4cba925bdfdc131986d2b52af05d_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class_specialization::Derived* [line 16, column 19]\n n$1=*&t:int [line 16, column 29]\n *n$0.x:int=n$1 [line 16, column 19]\n " shape="box"] "foo#Derived#class_specialization#(3691368771332090182).157c4cba925bdfdc131986d2b52af05d_3" -> "foo#Derived#class_specialization#(3691368771332090182).157c4cba925bdfdc131986d2b52af05d_2" ; @@ -92,7 +92,7 @@ digraph cfg { "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" [label="2: Exit class_specialization::Derived::Derived \n " color=yellow style=filled] -"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" [label="3: Constructor Init \n n$1=*&this:class_specialization::Derived* [line 15, column 8]\n n$2=_fun_class_specialization::Base::Base(n$1:class_specialization::Derived*) [line 15, column 8]\n NULLIFY(&this); [line 15, column 8]\n EXIT_SCOPE(n$1,n$2,this); [line 15, column 8]\n APPLY_ABSTRACTION; [line 15, column 8]\n " shape="box"] +"Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" [label="3: Constructor Init \n n$1=*&this:class_specialization::Derived* [line 15, column 8]\n n$2=_fun_class_specialization::Base::Base(n$1:class_specialization::Derived*) [line 15, column 8]\n " shape="box"] "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_3" -> "Derived#Derived#class_specialization#{14157761386473130888}.40e79d469e516a33fdff720996ff80ab_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot index 2aebb6839..34fd674d0 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/class_template_instantiate.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_2" [label="2: Exit choose1_div0 \n " color=yellow style=filled] -"choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 28, column 50]\n _=*n$0:ExecStore [line 28, column 50]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,0:int) [line 28, column 50]\n *&return:int=n$2 [line 28, column 43]\n NULLIFY(&s); [line 28, column 43]\n EXIT_SCOPE(_,n$0,n$2,s); [line 28, column 43]\n APPLY_ABSTRACTION; [line 28, column 43]\n " shape="box"] +"choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 28, column 50]\n _=*n$0:ExecStore [line 28, column 50]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,0:int) [line 28, column 50]\n *&return:int=n$2 [line 28, column 43]\n " shape="box"] "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_3" -> "choose1_div0#84040224581831795.e7e9c53ca95564cb9f2fe7bf906efbb2_2" ; @@ -18,7 +18,7 @@ digraph cfg { "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_2" [label="2: Exit choose1_div1 \n " color=yellow style=filled] -"choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 30, column 50]\n _=*n$0:ExecStore [line 30, column 50]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,1:int) [line 30, column 50]\n *&return:int=n$2 [line 30, column 43]\n NULLIFY(&s); [line 30, column 43]\n EXIT_SCOPE(_,n$0,n$2,s); [line 30, column 43]\n APPLY_ABSTRACTION; [line 30, column 43]\n " shape="box"] +"choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 30, column 50]\n _=*n$0:ExecStore [line 30, column 50]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,1:int) [line 30, column 50]\n *&return:int=n$2 [line 30, column 43]\n " shape="box"] "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_3" -> "choose1_div1#6853869982283615202.a4644da7504c41a081228a100b9b551b_2" ; @@ -29,7 +29,7 @@ digraph cfg { "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_2" [label="2: Exit choose2_div0_extra \n " color=yellow style=filled] -"choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 37, column 56]\n _=*n$0.f:Choose2 [line 37, column 56]\n n$2=_fun_Choose2::extra(n$0.f:Choose2&,0:int) [line 37, column 56]\n *&return:int=n$2 [line 37, column 49]\n NULLIFY(&s); [line 37, column 49]\n EXIT_SCOPE(_,n$0,n$2,s); [line 37, column 49]\n APPLY_ABSTRACTION; [line 37, column 49]\n " shape="box"] +"choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 37, column 56]\n _=*n$0.f:Choose2 [line 37, column 56]\n n$2=_fun_Choose2::extra(n$0.f:Choose2&,0:int) [line 37, column 56]\n *&return:int=n$2 [line 37, column 49]\n " shape="box"] "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_3" -> "choose2_div0_extra#14813785796839389204.fa5d6812348bd595f0378dd5dc4923d1_2" ; @@ -40,7 +40,7 @@ digraph cfg { "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_2" [label="2: Exit choose2_div0_no_report \n " color=yellow style=filled] -"choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 34, column 10]\n _=*n$0:ExecStore [line 34, column 10]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,1:int) [line 34, column 10]\n *&return:int=n$2 [line 34, column 3]\n NULLIFY(&s); [line 34, column 3]\n EXIT_SCOPE(_,n$0,n$2,s); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] +"choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 34, column 10]\n _=*n$0:ExecStore [line 34, column 10]\n n$2=_fun_ExecStore::call_div(n$0:ExecStore&,1:int) [line 34, column 10]\n *&return:int=n$2 [line 34, column 3]\n " shape="box"] "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_3" -> "choose2_div0_no_report#2695819694034608079.37b94e5ad3118293eeb303180a8ab569_2" ; @@ -51,7 +51,7 @@ digraph cfg { "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_2" [label="2: Exit choose2_div1_extra \n " color=yellow style=filled] -"choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 39, column 56]\n _=*n$0.f:Choose2 [line 39, column 56]\n n$2=_fun_Choose2::extra(n$0.f:Choose2&,1:int) [line 39, column 56]\n *&return:int=n$2 [line 39, column 49]\n NULLIFY(&s); [line 39, column 49]\n EXIT_SCOPE(_,n$0,n$2,s); [line 39, column 49]\n APPLY_ABSTRACTION; [line 39, column 49]\n " shape="box"] +"choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_3" [label="3: Return Stmt \n n$0=*&s:ExecStore& [line 39, column 56]\n _=*n$0.f:Choose2 [line 39, column 56]\n n$2=_fun_Choose2::extra(n$0.f:Choose2&,1:int) [line 39, column 56]\n *&return:int=n$2 [line 39, column 49]\n " shape="box"] "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_3" -> "choose2_div1_extra#11450073616177188665.26254023768c0b68956b8cd88a792052_2" ; @@ -62,7 +62,7 @@ digraph cfg { "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_2" [label="2: Exit Choose1::div \n " color=yellow style=filled] -"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" [label="3: Return Stmt \n n$0=*&a:int [line 9, column 38]\n *&return:int=(1 / n$0) [line 9, column 27]\n NULLIFY(&a); [line 9, column 27]\n EXIT_SCOPE(n$0,a); [line 9, column 27]\n APPLY_ABSTRACTION; [line 9, column 27]\n " shape="box"] +"div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" [label="3: Return Stmt \n n$0=*&a:int [line 9, column 38]\n *&return:int=(1 / n$0) [line 9, column 27]\n " shape="box"] "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_3" -> "div#Choose1#(7273562715988938262).67bd706f66d8f9c67db80305a9ecab16_2" ; @@ -73,7 +73,7 @@ digraph cfg { "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_2" [label="2: Exit Choose2::extra \n " color=yellow style=filled] -"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 33]\n *&return:int=(1 / n$0) [line 16, column 22]\n NULLIFY(&a); [line 16, column 22]\n EXIT_SCOPE(n$0,a); [line 16, column 22]\n APPLY_ABSTRACTION; [line 16, column 22]\n " shape="box"] +"extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" [label="3: Return Stmt \n n$0=*&a:int [line 16, column 33]\n *&return:int=(1 / n$0) [line 16, column 22]\n " shape="box"] "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_3" -> "extra#Choose2#(14672402234151207405).b4984695aadbb0c84ec39abdd34b600e_2" ; @@ -84,7 +84,7 @@ digraph cfg { "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_2" [label="2: Exit Choose2::div \n " color=yellow style=filled] -"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" [label="3: Return Stmt \n n$0=*&b:int [line 13, column 38]\n *&return:int=(1 / n$0) [line 13, column 27]\n NULLIFY(&b); [line 13, column 27]\n EXIT_SCOPE(n$0,b); [line 13, column 27]\n APPLY_ABSTRACTION; [line 13, column 27]\n " shape="box"] +"div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" [label="3: Return Stmt \n n$0=*&b:int [line 13, column 38]\n *&return:int=(1 / n$0) [line 13, column 27]\n " shape="box"] "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_3" -> "div#Choose2#(15124421267141903041).48bc5dd070e87512d292b60033d4f4ba_2" ; @@ -95,7 +95,7 @@ digraph cfg { "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_2" [label="2: Exit ExecStore::call_div \n " color=yellow style=filled] -"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose2 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose2::div(n$0.f:Choose2&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n NULLIFY(&a); [line 24, column 5]\n NULLIFY(&this); [line 24, column 5]\n EXIT_SCOPE(_,n$0,n$2,n$3,a,this); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose2 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose2::div(n$0.f:Choose2&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n " shape="box"] "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_3" -> "call_div#ExecStore#(11829874625214834057).d639b1b8281e7bb31d011a0c7a797e72_2" ; @@ -106,7 +106,7 @@ digraph cfg { "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_2" [label="2: Exit ExecStore::call_div \n " color=yellow style=filled] -"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose1 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose1::div(n$0.f:Choose1&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n NULLIFY(&a); [line 24, column 5]\n NULLIFY(&this); [line 24, column 5]\n EXIT_SCOPE(_,n$0,n$2,n$3,a,this); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" [label="3: Return Stmt \n n$0=*&this:ExecStore* [line 24, column 12]\n _=*n$0.f:Choose1 [line 24, column 12]\n n$2=*&a:int [line 24, column 18]\n n$3=_fun_Choose1::div(n$0.f:Choose1&,n$2:int,0:int) [line 24, column 12]\n *&return:int=n$3 [line 24, column 5]\n " shape="box"] "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_3" -> "call_div#ExecStore#(13821779640448790720).c684f7c620c64dbf19170e6c2add6779_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot index e4039b609..8a0bb79ad 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/function.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_2" [label="2: Exit function::createAndDiv \n " color=yellow style=filled] -"createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n EXIT_SCOPE(n$0); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n " shape="box"] "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_3" -> "createAndDiv#function#7317770096713783521.0380eae58716a2f4c79a0aa7669988ba_2" ; @@ -18,7 +18,7 @@ digraph cfg { "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_2" [label="2: Exit function::createAndDiv \n " color=yellow style=filled] -"createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n EXIT_SCOPE(n$0); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 41, column 14]\n *&return:int=(1 / n$0) [line 41, column 3]\n " shape="box"] "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_3" -> "createAndDiv#function#17691069018148922707.8fbffac628046cdf9a89a22bc71f8057_2" ; @@ -26,14 +26,14 @@ digraph cfg { "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_1" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" ; -"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_2" [label="2: Exit function::createAndGetVal \n NULLIFY(&x); [line 37, column 1]\n " color=yellow style=filled] +"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_2" [label="2: Exit function::createAndGetVal \n " color=yellow style=filled] -"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x:function::X1&) [line 36, column 10]\n *&return:int=n$0 [line 36, column 3]\n EXIT_SCOPE(n$0,x); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x:function::X1&) [line 36, column 10]\n *&return:int=n$0 [line 36, column 3]\n " shape="box"] "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_2" ; -"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:function::X1); [line 35, column 3]\n n$1=_fun_function::X1::X1(&x:function::X1*) [line 35, column 5]\n EXIT_SCOPE(n$1); [line 35, column 5]\n " shape="box"] +"createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:function::X1); [line 35, column 3]\n n$1=_fun_function::X1::X1(&x:function::X1*) [line 35, column 5]\n " shape="box"] "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_4" -> "createAndGetVal#function#6914861794749950810.03576380bf9ba7f93eef05bd79193575_3" ; @@ -41,14 +41,14 @@ digraph cfg { "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_1" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" ; -"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_2" [label="2: Exit function::createAndGetVal \n NULLIFY(&x); [line 37, column 1]\n " color=yellow style=filled] +"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_2" [label="2: Exit function::createAndGetVal \n " color=yellow style=filled] -"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x:function::X3&) [line 36, column 10]\n *&return:int=n$0 [line 36, column 3]\n EXIT_SCOPE(n$0,x); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x:function::X3&) [line 36, column 10]\n *&return:int=n$0 [line 36, column 3]\n " shape="box"] "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_2" ; -"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:function::X3); [line 35, column 3]\n n$1=_fun_function::X3::X3(&x:function::X3*) [line 35, column 5]\n EXIT_SCOPE(n$1); [line 35, column 5]\n " shape="box"] +"createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:function::X3); [line 35, column 3]\n n$1=_fun_function::X3::X3(&x:function::X3*) [line 35, column 5]\n " shape="box"] "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_4" -> "createAndGetVal#function#780814784522236088.525e889c7c5ef92e178075392a6961a4_3" ; @@ -59,7 +59,7 @@ digraph cfg { "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_2" [label="2: Exit function::div0_create_and_get_val \n " color=yellow style=filled] -"div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 68, column 10]\n n$1=_fun_function::createAndGetVal() [line 68, column 34]\n *&return:int=(n$0 / n$1) [line 68, column 3]\n EXIT_SCOPE(n$0,n$1); [line 68, column 3]\n APPLY_ABSTRACTION; [line 68, column 3]\n " shape="box"] +"div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 68, column 10]\n n$1=_fun_function::createAndGetVal() [line 68, column 34]\n *&return:int=(n$0 / n$1) [line 68, column 3]\n " shape="box"] "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_3" -> "div0_create_and_get_val#function#10435269887260132003.1e3aa28edfcd43ce252fdb21067574b3_2" ; @@ -67,18 +67,18 @@ digraph cfg { "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_1" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" ; -"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_2" [label="2: Exit function::div0_get_val \n NULLIFY(&x3); [line 59, column 1]\n NULLIFY(&x1); [line 59, column 1]\n " color=yellow style=filled] +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_2" [label="2: Exit function::div0_get_val \n " color=yellow style=filled] -"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x1:function::X1&) [line 58, column 10]\n n$1=_fun_function::getVal(&x3:function::X3&) [line 58, column 23]\n *&return:int=(n$0 / n$1) [line 58, column 3]\n EXIT_SCOPE(n$0,n$1,x1,x3); [line 58, column 3]\n APPLY_ABSTRACTION; [line 58, column 3]\n " shape="box"] +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x1:function::X1&) [line 58, column 10]\n n$1=_fun_function::getVal(&x3:function::X3&) [line 58, column 23]\n *&return:int=(n$0 / n$1) [line 58, column 3]\n " shape="box"] "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_2" ; -"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:function::X3); [line 57, column 3]\n n$2=_fun_function::X3::X3(&x3:function::X3*) [line 57, column 6]\n EXIT_SCOPE(n$2); [line 57, column 6]\n " shape="box"] +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:function::X3); [line 57, column 3]\n n$2=_fun_function::X3::X3(&x3:function::X3*) [line 57, column 6]\n " shape="box"] "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_3" ; -"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:function::X1); [line 56, column 3]\n n$3=_fun_function::X1::X1(&x1:function::X1*) [line 56, column 6]\n EXIT_SCOPE(n$3); [line 56, column 6]\n " shape="box"] +"div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:function::X1); [line 56, column 3]\n n$3=_fun_function::X1::X1(&x1:function::X1*) [line 56, column 6]\n " shape="box"] "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_5" -> "div0_get_val#function#10798510201986830040.b077944b4022150f57aec37a5ffc164a_4" ; @@ -89,7 +89,7 @@ digraph cfg { "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_2" [label="2: Exit function::div1_create_and_get_val \n " color=yellow style=filled] -"div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 72, column 10]\n n$1=_fun_function::createAndGetVal() [line 72, column 34]\n *&return:int=(n$0 / n$1) [line 72, column 3]\n EXIT_SCOPE(n$0,n$1); [line 72, column 3]\n APPLY_ABSTRACTION; [line 72, column 3]\n " shape="box"] +"div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_3" [label="3: Return Stmt \n n$0=_fun_function::createAndGetVal() [line 72, column 10]\n n$1=_fun_function::createAndGetVal() [line 72, column 34]\n *&return:int=(n$0 / n$1) [line 72, column 3]\n " shape="box"] "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_3" -> "div1_create_and_get_val#function#14376724289073099234.7b46bfd9e19b7d3885bef77d1720d502_2" ; @@ -97,18 +97,18 @@ digraph cfg { "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_1" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" ; -"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_2" [label="2: Exit function::div1_get_val \n NULLIFY(&x3); [line 65, column 1]\n NULLIFY(&x1); [line 65, column 1]\n " color=yellow style=filled] +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_2" [label="2: Exit function::div1_get_val \n " color=yellow style=filled] -"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x3:function::X3&) [line 64, column 10]\n n$1=_fun_function::getVal(&x1:function::X1&) [line 64, column 23]\n *&return:int=(n$0 / n$1) [line 64, column 3]\n EXIT_SCOPE(n$0,n$1,x1,x3); [line 64, column 3]\n APPLY_ABSTRACTION; [line 64, column 3]\n " shape="box"] +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" [label="3: Return Stmt \n n$0=_fun_function::getVal(&x3:function::X3&) [line 64, column 10]\n n$1=_fun_function::getVal(&x1:function::X1&) [line 64, column 23]\n *&return:int=(n$0 / n$1) [line 64, column 3]\n " shape="box"] "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_2" ; -"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:function::X3); [line 63, column 3]\n n$2=_fun_function::X3::X3(&x3:function::X3*) [line 63, column 6]\n EXIT_SCOPE(n$2); [line 63, column 6]\n " shape="box"] +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x3:function::X3); [line 63, column 3]\n n$2=_fun_function::X3::X3(&x3:function::X3*) [line 63, column 6]\n " shape="box"] "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_3" ; -"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:function::X1); [line 62, column 3]\n n$3=_fun_function::X1::X1(&x1:function::X1*) [line 62, column 6]\n EXIT_SCOPE(n$3); [line 62, column 6]\n " shape="box"] +"div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:function::X1); [line 62, column 3]\n n$3=_fun_function::X1::X1(&x1:function::X1*) [line 62, column 6]\n " shape="box"] "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_5" -> "div1_get_val#function#3554411408849091151.45cb38d8fc35a6b2cdc1f63de85d2e51_4" ; @@ -119,7 +119,7 @@ digraph cfg { "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_2" [label="2: Exit function::getVal \n " color=yellow style=filled] -"getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_3" [label="3: Return Stmt \n n$0=*&x:function::X1& [line 24, column 10]\n _=*n$0:function::X1 [line 24, column 10]\n n$2=_fun_function::X1::getVal(n$0:function::X1&) [line 24, column 10]\n *&return:int=n$2 [line 24, column 3]\n NULLIFY(&x); [line 24, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_3" [label="3: Return Stmt \n n$0=*&x:function::X1& [line 24, column 10]\n _=*n$0:function::X1 [line 24, column 10]\n n$2=_fun_function::X1::getVal(n$0:function::X1&) [line 24, column 10]\n *&return:int=n$2 [line 24, column 3]\n " shape="box"] "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_3" -> "getVal#function#7262186352585196534.81220c6f833b74aa2acc9c6411bc9ace_2" ; @@ -130,7 +130,7 @@ digraph cfg { "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_2" [label="2: Exit function::getVal \n " color=yellow style=filled] -"getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_3" [label="3: Return Stmt \n n$0=*&x:function::X3& [line 30, column 10]\n _=*n$0:function::X3 [line 30, column 10]\n n$2=_fun_function::X3::get(n$0:function::X3&) [line 30, column 10]\n *&return:int=n$2 [line 30, column 3]\n NULLIFY(&x); [line 30, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_3" [label="3: Return Stmt \n n$0=*&x:function::X3& [line 30, column 10]\n _=*n$0:function::X3 [line 30, column 10]\n n$2=_fun_function::X3::get(n$0:function::X3&) [line 30, column 10]\n *&return:int=n$2 [line 30, column 3]\n " shape="box"] "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_3" -> "getVal#function#11471061758976940952.6757c257541624a6e94e7b3c73ff8246_2" ; @@ -141,7 +141,7 @@ digraph cfg { "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_2" [label="2: Exit function::X1::getVal \n " color=yellow style=filled] -"getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 18]\n APPLY_ABSTRACTION; [line 11, column 18]\n " shape="box"] +"getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 18]\n " shape="box"] "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_3" -> "getVal#X1#function#(6016609736462046615).f1c1059b86daba05a044baaa3aeebb4d_2" ; @@ -159,7 +159,7 @@ digraph cfg { "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_2" [label="2: Exit function::X2::getVal \n " color=yellow style=filled] -"getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 18]\n APPLY_ABSTRACTION; [line 15, column 18]\n " shape="box"] +"getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 18]\n " shape="box"] "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_3" -> "getVal#X2#function#(4809746707613911696).0109fe7d05b40f7cd003b5f24db7e996_2" ; @@ -170,7 +170,7 @@ digraph cfg { "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_2" [label="2: Exit function::X3::get \n " color=yellow style=filled] -"get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_3" [label="3: Return Stmt \n *&return:int=0 [line 19, column 15]\n APPLY_ABSTRACTION; [line 19, column 15]\n " shape="box"] +"get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_3" [label="3: Return Stmt \n *&return:int=0 [line 19, column 15]\n " shape="box"] "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_3" -> "get#X3#function#(14294522720635572005).f8ff5924ea2973135dd3eed8a26cb671_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/function_pack.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/function_pack.cpp.dot index 99f0a14d4..1ca96ee98 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/function_pack.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/function_pack.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_2" [label="2: Exit div \n " color=yellow style=filled] -"div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_3" [label="3: Return Stmt \n n$0=*&d:int [line 9, column 29]\n *&return:int=(1 / n$0) [line 9, column 18]\n NULLIFY(&d); [line 9, column 18]\n EXIT_SCOPE(n$0,d); [line 9, column 18]\n APPLY_ABSTRACTION; [line 9, column 18]\n " shape="box"] +"div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_3" [label="3: Return Stmt \n n$0=*&d:int [line 9, column 29]\n *&return:int=(1 / n$0) [line 9, column 18]\n " shape="box"] "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_3" -> "div#939704114457859019.e5abef53fc8ff782b87b6a9041fd5e9a_2" ; @@ -18,7 +18,7 @@ digraph cfg { "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_2" [label="2: Exit div0_10args \n " color=yellow style=filled] -"div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_3" [label="3: Return Stmt \n n$0=_fun_div<5ae447456b906d06>(1:int,2:int,3:int,4:int,5:int,6:int,7:int,0:int,9:int,10:int) [line 21, column 28]\n *&return:int=n$0 [line 21, column 21]\n EXIT_SCOPE(n$0); [line 21, column 21]\n APPLY_ABSTRACTION; [line 21, column 21]\n " shape="box"] +"div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_3" [label="3: Return Stmt \n n$0=_fun_div<5ae447456b906d06>(1:int,2:int,3:int,4:int,5:int,6:int,7:int,0:int,9:int,10:int) [line 21, column 28]\n *&return:int=n$0 [line 21, column 21]\n " shape="box"] "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_3" -> "div0_10args#8060380451222357434.5d5e3d9d8aac7888fdc317b8bad53f34_2" ; @@ -29,7 +29,7 @@ digraph cfg { "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_2" [label="2: Exit div0_1arg \n " color=yellow style=filled] -"div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_3" [label="3: Return Stmt \n n$0=_fun_div(0:int) [line 15, column 26]\n *&return:int=n$0 [line 15, column 19]\n EXIT_SCOPE(n$0); [line 15, column 19]\n APPLY_ABSTRACTION; [line 15, column 19]\n " shape="box"] +"div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_3" [label="3: Return Stmt \n n$0=_fun_div(0:int) [line 15, column 26]\n *&return:int=n$0 [line 15, column 19]\n " shape="box"] "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_3" -> "div0_1arg#8396809931617150800.6140bce2d0bf65a5e0ac14dc05241b15_2" ; @@ -40,7 +40,7 @@ digraph cfg { "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_2" [label="2: Exit div0_3args1 \n " color=yellow style=filled] -"div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_3" [label="3: Return Stmt \n n$0=_fun_div(0:int,2:int,3:int) [line 17, column 28]\n *&return:int=n$0 [line 17, column 21]\n EXIT_SCOPE(n$0); [line 17, column 21]\n APPLY_ABSTRACTION; [line 17, column 21]\n " shape="box"] +"div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_3" [label="3: Return Stmt \n n$0=_fun_div(0:int,2:int,3:int) [line 17, column 28]\n *&return:int=n$0 [line 17, column 21]\n " shape="box"] "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_3" -> "div0_3args1#7890191366797792791.b9f7c9614e777d78d2718f16b4960982_2" ; @@ -51,7 +51,7 @@ digraph cfg { "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_2" [label="2: Exit div0_3args2 \n " color=yellow style=filled] -"div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,0:int,3:int) [line 18, column 28]\n *&return:int=n$0 [line 18, column 21]\n EXIT_SCOPE(n$0); [line 18, column 21]\n APPLY_ABSTRACTION; [line 18, column 21]\n " shape="box"] +"div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,0:int,3:int) [line 18, column 28]\n *&return:int=n$0 [line 18, column 21]\n " shape="box"] "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_3" -> "div0_3args2#7891315067681635208.f28909755959799e19e1aa31246b6b2a_2" ; @@ -62,7 +62,7 @@ digraph cfg { "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_2" [label="2: Exit div0_3args3 \n " color=yellow style=filled] -"div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,2:int,0:int) [line 19, column 28]\n *&return:int=n$0 [line 19, column 21]\n EXIT_SCOPE(n$0); [line 19, column 21]\n APPLY_ABSTRACTION; [line 19, column 21]\n " shape="box"] +"div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,2:int,0:int) [line 19, column 28]\n *&return:int=n$0 [line 19, column 21]\n " shape="box"] "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_3" -> "div0_3args3#7892144099449117077.ea71cce221ab33696773a5c44c97b921_2" ; @@ -73,7 +73,7 @@ digraph cfg { "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_2" [label="2: Exit div0_3args4 \n " color=yellow style=filled] -"div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,0:int,0:int) [line 20, column 28]\n *&return:int=n$0 [line 20, column 21]\n EXIT_SCOPE(n$0); [line 20, column 21]\n APPLY_ABSTRACTION; [line 20, column 21]\n " shape="box"] +"div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,0:int,0:int) [line 20, column 28]\n *&return:int=n$0 [line 20, column 21]\n " shape="box"] "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_3" -> "div0_3args4#7893267800332959494.6d072652fd38db05107348f63ee1b93a_2" ; @@ -84,7 +84,7 @@ digraph cfg { "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_2" [label="2: Exit div<5ae447456b906d06> \n " color=yellow style=filled] -"div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=*&args:int [line 12, column 22]\n n$9=*&args:int [line 12, column 22]\n n$10=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int,n$8:int,n$9:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$10) [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&v); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,n$10,args,args,v,args,args,args,args,args,args,args); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=*&args:int [line 12, column 22]\n n$9=*&args:int [line 12, column 22]\n n$10=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int,n$8:int,n$9:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$10) [line 12, column 3]\n " shape="box"] "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_3" -> "div<5ae447456b906d06>#12298750679068733123.dd4ff2f9113143f49a67d69f1e7c59b7_2" ; @@ -95,7 +95,7 @@ digraph cfg { "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_2" [label="2: Exit div \n " color=yellow style=filled] -"div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=*&args:int [line 12, column 22]\n n$9=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int,n$8:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$9) [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&v); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,n$9,args,args,v,args,args,args,args,args,args); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=*&args:int [line 12, column 22]\n n$9=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int,n$8:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$9) [line 12, column 3]\n " shape="box"] "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_3" -> "div#13538112871773045902.edabdd6d501cca67b2efc95f4b62c47c_2" ; @@ -106,7 +106,7 @@ digraph cfg { "div#6206795879557593257.947579aeef725938370fdf2599d7b021_2" [label="2: Exit div \n " color=yellow style=filled] -"div#6206795879557593257.947579aeef725938370fdf2599d7b021_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$8) [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&v); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,n$8,args,args,v,args,args,args,args,args); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div#6206795879557593257.947579aeef725938370fdf2599d7b021_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=*&args:int [line 12, column 22]\n n$8=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int,n$7:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$8) [line 12, column 3]\n " shape="box"] "div#6206795879557593257.947579aeef725938370fdf2599d7b021_3" -> "div#6206795879557593257.947579aeef725938370fdf2599d7b021_2" ; @@ -117,7 +117,7 @@ digraph cfg { "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_2" [label="2: Exit div \n " color=yellow style=filled] -"div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$7) [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&v); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,n$7,args,args,v,args,args,args,args); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=*&args:int [line 12, column 22]\n n$7=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int,n$6:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$7) [line 12, column 3]\n " shape="box"] "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_3" -> "div#3336039933926765080.205c84e7d2493ff784c3c896709c77b5_2" ; @@ -128,7 +128,7 @@ digraph cfg { "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_2" [label="2: Exit div \n " color=yellow style=filled] -"div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$6) [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&v); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6,args,v,args,args,args,args); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=*&args:int [line 12, column 22]\n n$6=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int,n$5:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$6) [line 12, column 3]\n " shape="box"] "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_3" -> "div#5076243118329059791.a386b7ce634391a0b6d23e04590e10f7_2" ; @@ -139,7 +139,7 @@ digraph cfg { "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_2" [label="2: Exit div \n " color=yellow style=filled] -"div#8757625089851425298.b2435e522727548b9dd98f01f659493d_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$5) [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&v); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,args,v,args,args,args); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div#8757625089851425298.b2435e522727548b9dd98f01f659493d_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=*&args:int [line 12, column 22]\n n$5=_fun_div(n$1:int,n$2:int,n$3:int,n$4:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$5) [line 12, column 3]\n " shape="box"] "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_3" -> "div#8757625089851425298.b2435e522727548b9dd98f01f659493d_2" ; @@ -150,7 +150,7 @@ digraph cfg { "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_2" [label="2: Exit div \n " color=yellow style=filled] -"div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=_fun_div(n$1:int,n$2:int,n$3:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$4) [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&v); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,args,v,args,args); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=*&args:int [line 12, column 22]\n n$4=_fun_div(n$1:int,n$2:int,n$3:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$4) [line 12, column 3]\n " shape="box"] "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_3" -> "div#6808557750472602405.0771eddf16547fd3a5d483a3bde846ec_2" ; @@ -161,7 +161,7 @@ digraph cfg { "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_2" [label="2: Exit div \n " color=yellow style=filled] -"div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=_fun_div(n$1:int,n$2:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$3) [line 12, column 3]\n NULLIFY(&v); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,v,args,args); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=*&args:int [line 12, column 22]\n n$3=_fun_div(n$1:int,n$2:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$3) [line 12, column 3]\n " shape="box"] "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_3" -> "div#9554349413120774508.47a551956d899936159a9bcecb2ac6f8_2" ; @@ -172,7 +172,7 @@ digraph cfg { "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_2" [label="2: Exit div \n " color=yellow style=filled] -"div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=_fun_div(n$1:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$2) [line 12, column 3]\n NULLIFY(&v); [line 12, column 3]\n NULLIFY(&args); [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,v,args); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 14]\n n$1=*&args:int [line 12, column 22]\n n$2=_fun_div(n$1:int) [line 12, column 18]\n *&return:int=((1 / n$0) + n$2) [line 12, column 3]\n " shape="box"] "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_3" -> "div#3427454070930604315.a63095b54e874547d61f722fd3ac0e3d_2" ; @@ -183,7 +183,7 @@ digraph cfg { "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_2" [label="2: Exit no_div0_10args \n " color=yellow style=filled] -"no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_3" [label="3: Return Stmt \n n$0=_fun_div<5ae447456b906d06>(1:int,2:int,3:int,4:int,5:int,6:int,7:int,8:int,9:int,10:int) [line 24, column 31]\n *&return:int=n$0 [line 24, column 24]\n EXIT_SCOPE(n$0); [line 24, column 24]\n APPLY_ABSTRACTION; [line 24, column 24]\n " shape="box"] +"no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_3" [label="3: Return Stmt \n n$0=_fun_div<5ae447456b906d06>(1:int,2:int,3:int,4:int,5:int,6:int,7:int,8:int,9:int,10:int) [line 24, column 31]\n *&return:int=n$0 [line 24, column 24]\n " shape="box"] "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_3" -> "no_div0_10args#17558686169582292843.344d82e7f0635a50a510c9184e41cf57_2" ; @@ -194,7 +194,7 @@ digraph cfg { "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_2" [label="2: Exit no_div0_3_args \n " color=yellow style=filled] -"no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,2:int,3:int) [line 23, column 31]\n *&return:int=n$0 [line 23, column 24]\n EXIT_SCOPE(n$0); [line 23, column 24]\n APPLY_ABSTRACTION; [line 23, column 24]\n " shape="box"] +"no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_3" [label="3: Return Stmt \n n$0=_fun_div(1:int,2:int,3:int) [line 23, column 31]\n *&return:int=n$0 [line 23, column 24]\n " shape="box"] "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_3" -> "no_div0_3_args#17583117370113944842.458cf17f8d452c5c6e23fed0e741bf03_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot index 3abce4785..9b7762cfb 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/method.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_1" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" ; -"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_2" [label="2: Exit method::div0_getter \n NULLIFY(&g); [line 41, column 1]\n NULLIFY(&x2); [line 41, column 1]\n " color=yellow style=filled] +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_2" [label="2: Exit method::div0_getter \n " color=yellow style=filled] -"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" [label="3: Return Stmt \n _=*&g:method::Getter [line 40, column 14]\n n$1=_fun_method::Getter::get(&g:method::Getter&,&x2:method::X2&) [line 40, column 14]\n *&return:int=(1 / n$1) [line 40, column 3]\n EXIT_SCOPE(_,n$1,x2,g); [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" [label="3: Return Stmt \n _=*&g:method::Getter [line 40, column 14]\n n$1=_fun_method::Getter::get(&g:method::Getter&,&x2:method::X2&) [line 40, column 14]\n *&return:int=(1 / n$1) [line 40, column 3]\n " shape="box"] "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_2" ; -"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 39, column 3]\n n$2=_fun_method::Getter::Getter(&g:method::Getter*) [line 39, column 10]\n EXIT_SCOPE(n$2); [line 39, column 10]\n " shape="box"] +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 39, column 3]\n n$2=_fun_method::Getter::Getter(&g:method::Getter*) [line 39, column 10]\n " shape="box"] "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_3" ; -"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 38, column 3]\n n$3=_fun_method::X2::X2(&x2:method::X2*) [line 38, column 6]\n EXIT_SCOPE(n$3); [line 38, column 6]\n " shape="box"] +"div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 38, column 3]\n n$3=_fun_method::X2::X2(&x2:method::X2*) [line 38, column 6]\n " shape="box"] "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_5" -> "div0_getter#method#14570248362286164751.5f9f1e67fd1ac95f6c38eb7d407ea9ec_4" ; @@ -23,22 +23,22 @@ digraph cfg { "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_1" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" ; -"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_2" [label="2: Exit method::div0_getter_templ \n NULLIFY(&x2); [line 54, column 1]\n NULLIFY(&x3); [line 54, column 1]\n NULLIFY(&g); [line 54, column 1]\n " color=yellow style=filled] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_2" [label="2: Exit method::div0_getter_templ \n " color=yellow style=filled] -"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 53, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x3:method::X3&,&x2:method::X2&) [line 53, column 14]\n *&return:int=(1 / n$1) [line 53, column 3]\n EXIT_SCOPE(_,n$1,g,x3,x2); [line 53, column 3]\n APPLY_ABSTRACTION; [line 53, column 3]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 53, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x3:method::X3&,&x2:method::X2&) [line 53, column 14]\n *&return:int=(1 / n$1) [line 53, column 3]\n " shape="box"] "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_2" ; -"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 52, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 52, column 19]\n EXIT_SCOPE(n$2); [line 52, column 19]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 52, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 52, column 19]\n " shape="box"] "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_3" ; -"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x3:method::X3); [line 51, column 3]\n n$3=_fun_method::X3::X3(&x3:method::X3*) [line 51, column 6]\n EXIT_SCOPE(n$3); [line 51, column 6]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x3:method::X3); [line 51, column 3]\n n$3=_fun_method::X3::X3(&x3:method::X3*) [line 51, column 6]\n " shape="box"] "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_4" ; -"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 50, column 3]\n n$4=_fun_method::X2::X2(&x2:method::X2*) [line 50, column 6]\n EXIT_SCOPE(n$4); [line 50, column 6]\n " shape="box"] +"div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 50, column 3]\n n$4=_fun_method::X2::X2(&x2:method::X2*) [line 50, column 6]\n " shape="box"] "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_6" -> "div0_getter_templ#method#6375326311998023520.359f49fd177ddd10abb56481c8c0c0e0_5" ; @@ -46,22 +46,22 @@ digraph cfg { "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_1" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" ; -"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_2" [label="2: Exit method::div0_getter_templ2 \n NULLIFY(&x2_2); [line 61, column 1]\n NULLIFY(&x2_1); [line 61, column 1]\n NULLIFY(&g); [line 61, column 1]\n " color=yellow style=filled] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_2" [label="2: Exit method::div0_getter_templ2 \n " color=yellow style=filled] -"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 60, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x2_1:method::X2&,&x2_2:method::X2&) [line 60, column 14]\n *&return:int=(1 / n$1) [line 60, column 3]\n EXIT_SCOPE(_,n$1,g,x2_1,x2_2); [line 60, column 3]\n APPLY_ABSTRACTION; [line 60, column 3]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 60, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x2_1:method::X2&,&x2_2:method::X2&) [line 60, column 14]\n *&return:int=(1 / n$1) [line 60, column 3]\n " shape="box"] "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_2" ; -"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 59, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 59, column 19]\n EXIT_SCOPE(n$2); [line 59, column 19]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 59, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 59, column 19]\n " shape="box"] "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_3" ; -"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2_2:method::X2); [line 58, column 3]\n n$3=_fun_method::X2::X2(&x2_2:method::X2*) [line 58, column 6]\n EXIT_SCOPE(n$3); [line 58, column 6]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2_2:method::X2); [line 58, column 3]\n n$3=_fun_method::X2::X2(&x2_2:method::X2*) [line 58, column 6]\n " shape="box"] "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_4" ; -"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2_1:method::X2); [line 57, column 3]\n n$4=_fun_method::X2::X2(&x2_1:method::X2*) [line 57, column 6]\n EXIT_SCOPE(n$4); [line 57, column 6]\n " shape="box"] +"div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x2_1:method::X2); [line 57, column 3]\n n$4=_fun_method::X2::X2(&x2_1:method::X2*) [line 57, column 6]\n " shape="box"] "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_6" -> "div0_getter_templ2#method#6451937884879872417.49c23913cff8a0a59e8e2158ec845f0c_5" ; @@ -69,18 +69,18 @@ digraph cfg { "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_1" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" ; -"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_2" [label="2: Exit method::div1_getter \n NULLIFY(&g); [line 47, column 1]\n NULLIFY(&x1); [line 47, column 1]\n " color=yellow style=filled] +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_2" [label="2: Exit method::div1_getter \n " color=yellow style=filled] -"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" [label="3: Return Stmt \n _=*&g:method::Getter [line 46, column 14]\n n$1=_fun_method::Getter::get(&g:method::Getter&,&x1:method::X1&) [line 46, column 14]\n *&return:int=(1 / n$1) [line 46, column 3]\n EXIT_SCOPE(_,n$1,x1,g); [line 46, column 3]\n APPLY_ABSTRACTION; [line 46, column 3]\n " shape="box"] +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" [label="3: Return Stmt \n _=*&g:method::Getter [line 46, column 14]\n n$1=_fun_method::Getter::get(&g:method::Getter&,&x1:method::X1&) [line 46, column 14]\n *&return:int=(1 / n$1) [line 46, column 3]\n " shape="box"] "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_2" ; -"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 45, column 3]\n n$2=_fun_method::Getter::Getter(&g:method::Getter*) [line 45, column 10]\n EXIT_SCOPE(n$2); [line 45, column 10]\n " shape="box"] +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::Getter); [line 45, column 3]\n n$2=_fun_method::Getter::Getter(&g:method::Getter*) [line 45, column 10]\n " shape="box"] "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_3" ; -"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:method::X1); [line 44, column 3]\n n$3=_fun_method::X1::X1(&x1:method::X1*) [line 44, column 6]\n EXIT_SCOPE(n$3); [line 44, column 6]\n " shape="box"] +"div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1:method::X1); [line 44, column 3]\n n$3=_fun_method::X1::X1(&x1:method::X1*) [line 44, column 6]\n " shape="box"] "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_5" -> "div1_getter#method#14010655706182645930.dfb00d82a62eb9bd9507d251472215d9_4" ; @@ -88,22 +88,22 @@ digraph cfg { "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_1" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" ; -"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_2" [label="2: Exit method::div1_getter_templ \n NULLIFY(&g); [line 68, column 1]\n NULLIFY(&x1); [line 68, column 1]\n NULLIFY(&x2); [line 68, column 1]\n " color=yellow style=filled] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_2" [label="2: Exit method::div1_getter_templ \n " color=yellow style=filled] -"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 67, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x2:method::X2&,&x1:method::X1&) [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n EXIT_SCOPE(_,n$1,x2,x1,g); [line 67, column 3]\n APPLY_ABSTRACTION; [line 67, column 3]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 67, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x2:method::X2&,&x1:method::X1&) [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n " shape="box"] "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_2" ; -"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 66, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 66, column 19]\n EXIT_SCOPE(n$2); [line 66, column 19]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 66, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 66, column 19]\n " shape="box"] "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_3" ; -"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 65, column 3]\n n$3=_fun_method::X2::X2(&x2:method::X2*) [line 65, column 6]\n EXIT_SCOPE(n$3); [line 65, column 6]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x2:method::X2); [line 65, column 3]\n n$3=_fun_method::X2::X2(&x2:method::X2*) [line 65, column 6]\n " shape="box"] "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_4" ; -"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:method::X1); [line 64, column 3]\n n$4=_fun_method::X1::X1(&x1:method::X1*) [line 64, column 6]\n EXIT_SCOPE(n$4); [line 64, column 6]\n " shape="box"] +"div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1:method::X1); [line 64, column 3]\n n$4=_fun_method::X1::X1(&x1:method::X1*) [line 64, column 6]\n " shape="box"] "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_6" -> "div1_getter_templ#method#11958064193628013457.8a8112afb18681951fdb43c93893e0c5_5" ; @@ -111,22 +111,22 @@ digraph cfg { "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_1" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" ; -"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_2" [label="2: Exit method::div1_getter_templ2 \n NULLIFY(&x1_1); [line 75, column 1]\n NULLIFY(&g); [line 75, column 1]\n NULLIFY(&x1_2); [line 75, column 1]\n " color=yellow style=filled] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_2" [label="2: Exit method::div1_getter_templ2 \n " color=yellow style=filled] -"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 74, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x1_1:method::X1&,&x1_2:method::X1&) [line 74, column 14]\n *&return:int=(1 / n$1) [line 74, column 3]\n EXIT_SCOPE(_,n$1,x1_2,g,x1_1); [line 74, column 3]\n APPLY_ABSTRACTION; [line 74, column 3]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" [label="3: Return Stmt \n _=*&g:method::GetterTempl [line 74, column 14]\n n$1=_fun_method::GetterTempl::get(&g:method::GetterTempl&,&x1_1:method::X1&,&x1_2:method::X1&) [line 74, column 14]\n *&return:int=(1 / n$1) [line 74, column 3]\n " shape="box"] "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_2" ; -"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 73, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 73, column 19]\n EXIT_SCOPE(n$2); [line 73, column 19]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" [label="4: DeclStmt \n VARIABLE_DECLARED(g:method::GetterTempl); [line 73, column 3]\n n$2=_fun_method::GetterTempl::GetterTempl(&g:method::GetterTempl*) [line 73, column 19]\n " shape="box"] "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_3" ; -"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1_2:method::X1); [line 72, column 3]\n n$3=_fun_method::X1::X1(&x1_2:method::X1*) [line 72, column 6]\n EXIT_SCOPE(n$3); [line 72, column 6]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x1_2:method::X1); [line 72, column 3]\n n$3=_fun_method::X1::X1(&x1_2:method::X1*) [line 72, column 6]\n " shape="box"] "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_4" ; -"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1_1:method::X1); [line 71, column 3]\n n$4=_fun_method::X1::X1(&x1_1:method::X1*) [line 71, column 6]\n EXIT_SCOPE(n$4); [line 71, column 6]\n " shape="box"] +"div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x1_1:method::X1); [line 71, column 3]\n n$4=_fun_method::X1::X1(&x1_1:method::X1*) [line 71, column 6]\n " shape="box"] "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_6" -> "div1_getter_templ2#method#7327429174804405806.fe61550d5271fa95726c7580c68f9015_5" ; @@ -137,7 +137,7 @@ digraph cfg { "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_2" [label="2: Exit method::Getter::get \n " color=yellow style=filled] -"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" [label="3: Return Stmt \n n$0=*&s:method::X2& [line 25, column 12]\n _=*n$0:method::X2 [line 25, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n NULLIFY(&s); [line 25, column 5]\n EXIT_SCOPE(_,n$0,n$2,s); [line 25, column 5]\n APPLY_ABSTRACTION; [line 25, column 5]\n " shape="box"] +"get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" [label="3: Return Stmt \n n$0=*&s:method::X2& [line 25, column 12]\n _=*n$0:method::X2 [line 25, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n " shape="box"] "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_3" -> "get#Getter#method#(114488311005334347).9c4c4261c299bcfcd879652b3f97fdce_2" ; @@ -148,7 +148,7 @@ digraph cfg { "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_2" [label="2: Exit method::Getter::get \n " color=yellow style=filled] -"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" [label="3: Return Stmt \n n$0=*&s:method::X1& [line 25, column 12]\n _=*n$0:method::X1 [line 25, column 12]\n n$2=_fun_method::X1::get(n$0:method::X1&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n NULLIFY(&s); [line 25, column 5]\n EXIT_SCOPE(_,n$0,n$2,s); [line 25, column 5]\n APPLY_ABSTRACTION; [line 25, column 5]\n " shape="box"] +"get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" [label="3: Return Stmt \n n$0=*&s:method::X1& [line 25, column 12]\n _=*n$0:method::X1 [line 25, column 12]\n n$2=_fun_method::X1::get(n$0:method::X1&) [line 25, column 12]\n *&return:int=n$2 [line 25, column 5]\n " shape="box"] "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_3" -> "get#Getter#method#(3247992624161763984).d85954e5db9a3e87e1f85274548baec1_2" ; @@ -166,7 +166,7 @@ digraph cfg { "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_2" [label="2: Exit method::GetterTempl::get \n " color=yellow style=filled] -"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" [label="3: Return Stmt \n n$0=*&t:method::X1& [line 33, column 12]\n _=*n$0:method::X1 [line 33, column 12]\n n$2=_fun_method::X1::get(n$0:method::X1&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1::get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n NULLIFY(&s); [line 33, column 5]\n NULLIFY(&t); [line 33, column 5]\n EXIT_SCOPE(_,_,n$0,n$2,n$3,n$5,s,t); [line 33, column 5]\n APPLY_ABSTRACTION; [line 33, column 5]\n " shape="box"] +"get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" [label="3: Return Stmt \n n$0=*&t:method::X1& [line 33, column 12]\n _=*n$0:method::X1 [line 33, column 12]\n n$2=_fun_method::X1::get(n$0:method::X1&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1::get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_3" -> "get#GetterTempl#method#(1597660249660822780).26089da113d1a8570a849aa988e4ebd3_2" ; @@ -184,7 +184,7 @@ digraph cfg { "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_2" [label="2: Exit method::GetterTempl::get \n " color=yellow style=filled] -"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" [label="3: Return Stmt \n n$0=*&t:method::X3& [line 33, column 12]\n _=*n$0:method::X3 [line 33, column 12]\n n$2=_fun_method::X3::get(n$0:method::X3&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2::get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n NULLIFY(&s); [line 33, column 5]\n NULLIFY(&t); [line 33, column 5]\n EXIT_SCOPE(_,_,n$0,n$2,n$3,n$5,s,t); [line 33, column 5]\n APPLY_ABSTRACTION; [line 33, column 5]\n " shape="box"] +"get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" [label="3: Return Stmt \n n$0=*&t:method::X3& [line 33, column 12]\n _=*n$0:method::X3 [line 33, column 12]\n n$2=_fun_method::X3::get(n$0:method::X3&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2::get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_3" -> "get#GetterTempl#method#(10966570090595029900).9a24a249e802c1b058a8d736330be11a_2" ; @@ -202,7 +202,7 @@ digraph cfg { "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_2" [label="2: Exit method::GetterTempl::get \n " color=yellow style=filled] -"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2::get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n NULLIFY(&s); [line 33, column 5]\n NULLIFY(&t); [line 33, column 5]\n EXIT_SCOPE(_,_,n$0,n$2,n$3,n$5,s,t); [line 33, column 5]\n APPLY_ABSTRACTION; [line 33, column 5]\n " shape="box"] +"get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X2& [line 33, column 22]\n _=*n$3:method::X2 [line 33, column 22]\n n$5=_fun_method::X2::get(n$3:method::X2&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_3" -> "get#GetterTempl#method#(242818219889731161).ce1c035f50382c57a6002fb874c7d273_2" ; @@ -213,7 +213,7 @@ digraph cfg { "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_2" [label="2: Exit method::GetterTempl::get \n " color=yellow style=filled] -"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1::get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n NULLIFY(&s); [line 33, column 5]\n NULLIFY(&t); [line 33, column 5]\n EXIT_SCOPE(_,_,n$0,n$2,n$3,n$5,s,t); [line 33, column 5]\n APPLY_ABSTRACTION; [line 33, column 5]\n " shape="box"] +"get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" [label="3: Return Stmt \n n$0=*&t:method::X2& [line 33, column 12]\n _=*n$0:method::X2 [line 33, column 12]\n n$2=_fun_method::X2::get(n$0:method::X2&) [line 33, column 12]\n n$3=*&s:method::X1& [line 33, column 22]\n _=*n$3:method::X1 [line 33, column 22]\n n$5=_fun_method::X1::get(n$3:method::X1&) [line 33, column 22]\n *&return:int=(n$2 + n$5) [line 33, column 5]\n " shape="box"] "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_3" -> "get#GetterTempl#method#(5585877041217346556).4f87183f5216c7461b5259807b1f72ac_2" ; @@ -231,7 +231,7 @@ digraph cfg { "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_2" [label="2: Exit method::X1::get \n " color=yellow style=filled] -"get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 15]\n APPLY_ABSTRACTION; [line 11, column 15]\n " shape="box"] +"get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_3" [label="3: Return Stmt \n *&return:int=1 [line 11, column 15]\n " shape="box"] "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_3" -> "get#X1#method#(3540560026209954150).2509f5dd5568220867b48d85b777a860_2" ; @@ -249,7 +249,7 @@ digraph cfg { "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_2" [label="2: Exit method::X2::get \n " color=yellow style=filled] -"get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 15]\n APPLY_ABSTRACTION; [line 15, column 15]\n " shape="box"] +"get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 15]\n " shape="box"] "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_3" -> "get#X2#method#(12355996928057833031).c7a6c1beedda2f062a60f83f9b206b30_2" ; @@ -267,7 +267,7 @@ digraph cfg { "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_2" [label="2: Exit method::X3::get \n " color=yellow style=filled] -"get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_3" [label="3: Return Stmt \n *&return:int=0 [line 19, column 15]\n APPLY_ABSTRACTION; [line 19, column 15]\n " shape="box"] +"get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_3" [label="3: Return Stmt \n *&return:int=0 [line 19, column 15]\n " shape="box"] "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_3" -> "get#X3#method#(17779304111871376612).93de680a5d7c38b89b487ae7f0d986d6_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/templates/simple.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/templates/simple.cpp.dot index 8f8223345..caf505203 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/simple.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/simple.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_2" [label="2: Exit div0_struct_field \n " color=yellow style=filled] -"div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" [label="3: Return Stmt \n n$0=*&v:X& [line 24, column 14]\n n$1=*n$0.field:int [line 24, column 14]\n *&return:int=(1 / n$1) [line 24, column 3]\n NULLIFY(&v); [line 24, column 3]\n EXIT_SCOPE(n$0,n$1,v); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" [label="3: Return Stmt \n n$0=*&v:X& [line 24, column 14]\n n$1=*n$0.field:int [line 24, column 14]\n *&return:int=(1 / n$1) [line 24, column 3]\n " shape="box"] "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" -> "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_2" ; -"div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&v:X& [line 23, column 3]\n *n$2.field:int=0 [line 23, column 3]\n EXIT_SCOPE(n$2); [line 23, column 3]\n " shape="box"] +"div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&v:X& [line 23, column 3]\n *n$2.field:int=0 [line 23, column 3]\n " shape="box"] "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_4" -> "div0_struct_field#9739930445713322699.789b28ce09db76d69bc6373aefeacf6a_3" ; @@ -22,11 +22,11 @@ digraph cfg { "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_2" [label="2: Exit div0_template_field \n " color=yellow style=filled] -"div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_3" [label="3: Return Stmt \n n$0=*&v:Container& [line 19, column 14]\n n$1=*n$0.field:int [line 19, column 14]\n *&return:int=(1 / n$1) [line 19, column 3]\n NULLIFY(&v); [line 19, column 3]\n EXIT_SCOPE(n$0,n$1,v); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_3" [label="3: Return Stmt \n n$0=*&v:Container& [line 19, column 14]\n n$1=*n$0.field:int [line 19, column 14]\n *&return:int=(1 / n$1) [line 19, column 3]\n " shape="box"] "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_3" -> "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_2" ; -"div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&v:Container& [line 18, column 3]\n *n$2.field:int=0 [line 18, column 3]\n EXIT_SCOPE(n$2); [line 18, column 3]\n " shape="box"] +"div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&v:Container& [line 18, column 3]\n *n$2.field:int=0 [line 18, column 3]\n " shape="box"] "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_4" -> "div0_template_field#16893301392201012428.8e63a0ece60a1b5e4e7b3cfa5d3dddd8_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 34eda93f2..00506046e 100644 --- a/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/templates/sizeof_pack.cpp.dot @@ -4,10 +4,10 @@ digraph cfg { "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_1" -> "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" ; -"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_2" [label="2: Exit __infer_globals_initializer_test \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 21, column 50]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 21, column 50]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 21, column 50]\n " color=yellow style=filled] +"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_2" [label="2: Exit __infer_globals_initializer_test \n " color=yellow style=filled] -"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$test:int); [line 21, column 1]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:int const ); [line 21, column 43]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 21, column 43]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:int const ); [line 21, column 46]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:int=0 [line 21, column 46]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 21, column 49]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 21, column 49]\n n$3=_fun_hash_combine_generic(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const &,&0$?%__sil_tmpSIL_materialize_temp__n$1:int const &,&0$?%__sil_tmpSIL_materialize_temp__n$2:int const &) [line 21, column 12]\n *&#GB$test:int=n$3 [line 21, column 1]\n EXIT_SCOPE(n$3,0$?%__sil_tmpSIL_materialize_temp__n$0,0$?%__sil_tmpSIL_materialize_temp__n$2,0$?%__sil_tmpSIL_materialize_temp__n$1); [line 21, column 1]\n APPLY_ABSTRACTION; [line 21, column 1]\n " shape="box"] +"__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$test:int); [line 21, column 1]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:int const ); [line 21, column 43]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:int=0 [line 21, column 43]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$1:int const ); [line 21, column 46]\n *&0$?%__sil_tmpSIL_materialize_temp__n$1:int=0 [line 21, column 46]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$2:int const ); [line 21, column 49]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int=0 [line 21, column 49]\n n$3=_fun_hash_combine_generic(&0$?%__sil_tmpSIL_materialize_temp__n$0:int const &,&0$?%__sil_tmpSIL_materialize_temp__n$1:int const &,&0$?%__sil_tmpSIL_materialize_temp__n$2:int const &) [line 21, column 12]\n *&#GB$test:int=n$3 [line 21, column 1]\n " shape="box"] "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_3" -> "__infer_globals_initializer_test.19c6153ea70b713d8d2a1a0fd4ae91e3_2" ; @@ -18,7 +18,7 @@ digraph cfg { "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_2" [label="2: Exit hash_combine_generic \n " color=yellow style=filled] -"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 3]\n " shape="box"] "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_3" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_2" ; @@ -26,19 +26,19 @@ 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, if) \n PRUNE((_t$0 == (unsigned long)0), true); [line 15, column 7]\n EXIT_SCOPE(_t$0); [line 15, column 7]\n " shape="invhouse"] +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_5" [label="5: Prune (true branch, if) \n PRUNE((_t$0 == (unsigned long)0), true); [line 15, 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, if) \n PRUNE(!(_t$0 == (unsigned long)0), false); [line 15, column 7]\n NULLIFY(&seed); [line 15, column 7]\n EXIT_SCOPE(_t$0,seed); [line 15, column 7]\n " shape="invhouse"] +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_6" [label="6: Prune (false branch, if) \n PRUNE(!(_t$0 == (unsigned long)0), false); [line 15, column 7]\n " shape="invhouse"] "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_6" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_4" ; -"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_7" [label="7: Return Stmt \n n$0=*&seed:int [line 16, column 12]\n *&return:int=n$0 [line 16, column 5]\n NULLIFY(&seed); [line 16, column 5]\n EXIT_SCOPE(n$0,seed); [line 16, column 5]\n APPLY_ABSTRACTION; [line 16, column 5]\n " shape="box"] +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_7" [label="7: Return Stmt \n n$0=*&seed:int [line 16, column 12]\n *&return:int=n$0 [line 16, column 5]\n " shape="box"] "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_7" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_2" ; -"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" [label="8: DeclStmt \n VARIABLE_DECLARED(seed:int); [line 14, column 3]\n n$4=*&t:int const & [line 14, column 27]\n n$5=*n$4:int [line 14, column 27]\n n$6=_fun_MyHasher::hash(n$5:int) [line 14, column 14]\n *&seed:int=n$6 [line 14, column 3]\n NULLIFY(&t); [line 14, column 3]\n EXIT_SCOPE(n$4,n$5,n$6,t); [line 14, column 3]\n " shape="box"] +"hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" [label="8: DeclStmt \n VARIABLE_DECLARED(seed:int); [line 14, column 3]\n n$4=*&t:int const & [line 14, column 27]\n n$5=*n$4:int [line 14, column 27]\n n$6=_fun_MyHasher::hash(n$5:int) [line 14, column 14]\n *&seed:int=n$6 [line 14, column 3]\n " shape="box"] "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_8" -> "hash_combine_generic#343026119801841589.3016efe6a900b985af0e18a37325385b_5" ; @@ -50,7 +50,7 @@ digraph cfg { "hash#MyHasher#(17640498711428072031).032c86352e5db68decc9e37acbed2615_2" [label="2: Exit MyHasher::hash \n " color=yellow style=filled] -"hash#MyHasher#(17640498711428072031).032c86352e5db68decc9e37acbed2615_3" [label="3: Return Stmt \n *&return:int=1 [line 9, column 28]\n APPLY_ABSTRACTION; [line 9, column 28]\n " shape="box"] +"hash#MyHasher#(17640498711428072031).032c86352e5db68decc9e37acbed2615_3" [label="3: Return Stmt \n *&return:int=1 [line 9, column 28]\n " shape="box"] "hash#MyHasher#(17640498711428072031).032c86352e5db68decc9e37acbed2615_3" -> "hash#MyHasher#(17640498711428072031).032c86352e5db68decc9e37acbed2615_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/casts.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/casts.cpp.dot index 88f48d910..bf4673d69 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/casts.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/casts.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_2" [label="2: Exit functional_cast \n " color=yellow style=filled] -"functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:int); [line 13, column 26]\n *&a:int=(2 + 3.4) [line 13, column 26]\n NULLIFY(&a); [line 13, column 26]\n EXIT_SCOPE(a); [line 13, column 26]\n APPLY_ABSTRACTION; [line 13, column 26]\n " shape="box"] +"functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:int); [line 13, column 26]\n *&a:int=(2 + 3.4) [line 13, column 26]\n " shape="box"] "functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_3" -> "functional_cast#14011367992313068291.82cd85208f04494c7a6533d123f52fe0_2" ; @@ -18,7 +18,7 @@ digraph cfg { "stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_2" [label="2: Exit stat_cast \n " color=yellow style=filled] -"stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_3" [label="3: DeclStmt \n VARIABLE_DECLARED(la:long long); [line 10, column 3]\n n$0=*&a:int [line 10, column 41]\n *&la:long long=n$0 [line 10, column 3]\n NULLIFY(&a); [line 10, column 3]\n NULLIFY(&la); [line 10, column 3]\n EXIT_SCOPE(n$0,a,la); [line 10, column 3]\n APPLY_ABSTRACTION; [line 10, column 3]\n " shape="box"] +"stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_3" [label="3: DeclStmt \n VARIABLE_DECLARED(la:long long); [line 10, column 3]\n n$0=*&a:int [line 10, column 41]\n *&la:long long=n$0 [line 10, column 3]\n " shape="box"] "stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_3" -> "stat_cast#12446126613472042601.03b0c783caaf8ed84eb6e909b7645c57_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot index 1c4a07583..28883cccc 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/const.cpp.dot @@ -4,14 +4,14 @@ digraph cfg { "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_1" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_8" ; -"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_2" [label="2: Exit call_const_params_with_address \n NULLIFY(&cx); [line 20, column 1]\n NULLIFY(&x); [line 20, column 1]\n " color=yellow style=filled] +"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_2" [label="2: Exit call_const_params_with_address \n " color=yellow style=filled] -"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_3" [label="3: Call _fun_const_in_param2 \n n$0=_fun_const_in_param2(&cx:int const *) [line 19, column 3]\n EXIT_SCOPE(n$0,cx); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_3" [label="3: Call _fun_const_in_param2 \n n$0=_fun_const_in_param2(&cx:int const *) [line 19, column 3]\n " shape="box"] "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_3" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_2" ; -"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_4" [label="4: Call _fun_const_in_param1 \n n$1=_fun_const_in_param1(&cx:int const *) [line 18, column 3]\n EXIT_SCOPE(n$1); [line 18, column 3]\n " shape="box"] +"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_4" [label="4: Call _fun_const_in_param1 \n n$1=_fun_const_in_param1(&cx:int const *) [line 18, column 3]\n " shape="box"] "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_4" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_3" ; @@ -19,11 +19,11 @@ digraph cfg { "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_5" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_4" ; -"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_6" [label="6: Call _fun_const_in_param2 \n n$2=_fun_const_in_param2(&x:int*) [line 14, column 3]\n EXIT_SCOPE(n$2,x); [line 14, column 3]\n " shape="box"] +"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_6" [label="6: Call _fun_const_in_param2 \n n$2=_fun_const_in_param2(&x:int*) [line 14, column 3]\n " shape="box"] "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_6" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_5" ; -"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_7" [label="7: Call _fun_const_in_param1 \n n$3=_fun_const_in_param1(&x:int*) [line 13, column 3]\n EXIT_SCOPE(n$3); [line 13, column 3]\n " shape="box"] +"call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_7" [label="7: Call _fun_const_in_param1 \n n$3=_fun_const_in_param1(&x:int*) [line 13, column 3]\n " shape="box"] "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_7" -> "call_const_params_with_address#9224946220162093338.ede5d9916aae78a9bdce4ac18328cdb4_6" ; @@ -38,7 +38,7 @@ digraph cfg { "call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_2" [label="2: Exit call_const_params_with_pointer1 \n " color=yellow style=filled] -"call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_3" [label="3: Call _fun_const_in_param1 \n n$0=*&p:int* [line 24, column 19]\n n$1=_fun_const_in_param1(n$0:int*) [line 24, column 3]\n NULLIFY(&p); [line 24, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_3" [label="3: Call _fun_const_in_param1 \n n$0=*&p:int* [line 24, column 19]\n n$1=_fun_const_in_param1(n$0:int*) [line 24, column 3]\n " shape="box"] "call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_3" -> "call_const_params_with_pointer1#3193967915651281089.e26879dad7f44305c11fcc69c90dba86_2" ; @@ -53,7 +53,7 @@ digraph cfg { "call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_2" [label="2: Exit call_const_params_with_pointer2 \n " color=yellow style=filled] -"call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_3" [label="3: Call _fun_const_in_param2 \n n$0=*&p:int* [line 28, column 19]\n n$1=_fun_const_in_param2(n$0:int*) [line 28, column 3]\n NULLIFY(&p); [line 28, column 3]\n EXIT_SCOPE(n$0,n$1,p); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_3" [label="3: Call _fun_const_in_param2 \n n$0=*&p:int* [line 28, column 19]\n n$1=_fun_const_in_param2(n$0:int*) [line 28, column 3]\n " shape="box"] "call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_3" -> "call_const_params_with_pointer2#3191133374674320806.7e564aa4edfd75304391a38942d7e07f_2" ; @@ -68,7 +68,7 @@ digraph cfg { "call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_2" [label="2: Exit call_const_params_with_pointer3 \n " color=yellow style=filled] -"call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_3" [label="3: Call _fun_const_in_param2 \n n$0=*&cp:int* [line 33, column 19]\n n$1=_fun_const_in_param2(n$0:int*) [line 33, column 3]\n NULLIFY(&cp); [line 33, column 3]\n EXIT_SCOPE(n$0,n$1,cp); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_3" [label="3: Call _fun_const_in_param2 \n n$0=*&cp:int* [line 33, column 19]\n n$1=_fun_const_in_param2(n$0:int*) [line 33, column 3]\n " shape="box"] "call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_3" -> "call_const_params_with_pointer3#3191979998627854051.cb64d3f1c70e7ecb4d702fb494a6ddf9_2" ; @@ -83,7 +83,7 @@ digraph cfg { "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_2" [label="2: Exit const_in_param1 \n " color=yellow style=filled] -"const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_3" [label="3: Return Stmt \n n$0=*&p:int const * [line 7, column 45]\n n$1=*n$0:int [line 7, column 44]\n *&return:int=n$1 [line 7, column 37]\n NULLIFY(&p); [line 7, column 37]\n EXIT_SCOPE(n$0,n$1,p); [line 7, column 37]\n APPLY_ABSTRACTION; [line 7, column 37]\n " shape="box"] +"const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_3" [label="3: Return Stmt \n n$0=*&p:int const * [line 7, column 45]\n n$1=*n$0:int [line 7, column 44]\n *&return:int=n$1 [line 7, column 37]\n " shape="box"] "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_3" -> "const_in_param1#18320019178437505814.a844808a0d69c55797f9fb0995e0aee5_2" ; @@ -94,7 +94,7 @@ digraph cfg { "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_2" [label="2: Exit const_in_param2 \n " color=yellow style=filled] -"const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_3" [label="3: Return Stmt \n n$0=*&p:int const * [line 9, column 51]\n n$1=*n$0:int [line 9, column 50]\n *&return:int=n$1 [line 9, column 43]\n NULLIFY(&p); [line 9, column 43]\n EXIT_SCOPE(n$0,n$1,p); [line 9, column 43]\n APPLY_ABSTRACTION; [line 9, column 43]\n " shape="box"] +"const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_3" [label="3: Return Stmt \n n$0=*&p:int const * [line 9, column 51]\n n$1=*n$0:int [line 9, column 50]\n *&return:int=n$1 [line 9, column 43]\n " shape="box"] "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_3" -> "const_in_param2#8428058276837502013.07a7436b2e073e84a0e279fb805bdcec_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/functions.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/functions.cpp.dot index d2074c947..ecd7c5817 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/functions.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/functions.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_2" [label="2: Exit fun_default \n " color=yellow style=filled] -"fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_3" [label="3: Return Stmt \n n$0=*&a:int [line 8, column 48]\n n$1=*&b:int [line 8, column 52]\n *&return:int=(n$0 + n$1) [line 8, column 41]\n NULLIFY(&a); [line 8, column 41]\n NULLIFY(&b); [line 8, column 41]\n EXIT_SCOPE(n$0,n$1,a,b); [line 8, column 41]\n APPLY_ABSTRACTION; [line 8, column 41]\n " shape="box"] +"fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_3" [label="3: Return Stmt \n n$0=*&a:int [line 8, column 48]\n n$1=*&b:int [line 8, column 52]\n *&return:int=(n$0 + n$1) [line 8, column 41]\n " shape="box"] "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_3" -> "fun_default#3756902107033500271.2ec7d2bd4212c5f505ea908a5f86109a_2" ; @@ -18,7 +18,7 @@ digraph cfg { "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_2" [label="2: Exit fun_default_decl \n " color=yellow style=filled] -"fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_3" [label="3: Return Stmt \n n$0=*&a:int [line 12, column 45]\n n$1=*&b:int [line 12, column 49]\n *&return:int=(n$0 + n$1) [line 12, column 38]\n NULLIFY(&a); [line 12, column 38]\n NULLIFY(&b); [line 12, column 38]\n EXIT_SCOPE(n$0,n$1,a,b); [line 12, column 38]\n APPLY_ABSTRACTION; [line 12, column 38]\n " shape="box"] +"fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_3" [label="3: Return Stmt \n n$0=*&a:int [line 12, column 45]\n n$1=*&b:int [line 12, column 49]\n *&return:int=(n$0 + n$1) [line 12, column 38]\n " shape="box"] "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_3" -> "fun_default_decl#2242811051034255145.cfa4c1bed9f6b81332cbfea2722a24d0_2" ; @@ -29,7 +29,7 @@ digraph cfg { "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_2" [label="2: Exit fun_ignore_param \n " color=yellow style=filled] -"fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_3" [label="3: Return Stmt \n n$0=*&a:int [line 14, column 48]\n *&return:int=n$0 [line 14, column 41]\n NULLIFY(&a); [line 14, column 41]\n EXIT_SCOPE(n$0,a); [line 14, column 41]\n APPLY_ABSTRACTION; [line 14, column 41]\n " shape="box"] +"fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_3" [label="3: Return Stmt \n n$0=*&a:int [line 14, column 48]\n *&return:int=n$0 [line 14, column 41]\n " shape="box"] "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_3" -> "fun_ignore_param#16945920541083530946.f4a6287781e779dff615587871d0273e_2" ; @@ -40,23 +40,23 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call _fun_fun_default_decl \n n$0=_fun_fun_default_decl(6:int,6:int) [line 22, column 3]\n EXIT_SCOPE(n$0); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: Call _fun_fun_default_decl \n n$0=_fun_fun_default_decl(6:int,6:int) [line 22, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: Call _fun_fun_default_decl \n n$1=_fun_fun_default_decl(6:int,5:int) [line 21, column 3]\n EXIT_SCOPE(n$1); [line 21, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: Call _fun_fun_default_decl \n n$1=_fun_fun_default_decl(6:int,5:int) [line 21, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: Call _fun_fun_default \n n$2=_fun_fun_default(3:int,5:int) [line 19, column 3]\n EXIT_SCOPE(n$2); [line 19, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: Call _fun_fun_default \n n$2=_fun_fun_default(3:int,5:int) [line 19, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: Call _fun_fun_default \n n$3=_fun_fun_default(1:int,5:int) [line 18, column 3]\n EXIT_SCOPE(n$3); [line 18, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: Call _fun_fun_default \n n$3=_fun_fun_default(1:int,5:int) [line 18, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: Call _fun_fun_default \n n$4=_fun_fun_default(1:int,2:int) [line 17, column 3]\n EXIT_SCOPE(n$4); [line 17, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" [label="7: Call _fun_fun_default \n n$4=_fun_fun_default(1:int,2:int) [line 17, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_7" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" ; @@ -67,7 +67,7 @@ digraph cfg { "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_2" [label="2: Exit test2 \n " color=yellow style=filled] -"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" [label="3: Call _fun_fun_ignore_param \n n$0=_fun_fun_ignore_param(1:int,1:int,1:int) [line 25, column 16]\n EXIT_SCOPE(n$0); [line 25, column 16]\n APPLY_ABSTRACTION; [line 25, column 16]\n " shape="box"] +"test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" [label="3: Call _fun_fun_ignore_param \n n$0=_fun_fun_ignore_param(1:int,1:int,1:int) [line 25, column 16]\n " shape="box"] "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_3" -> "test2#3587805488049044947.69e45cfdc4e36a6f741ce3985858724b_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot index 218bb3ddf..6f52bbfa1 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance.cpp.dot @@ -7,39 +7,39 @@ digraph cfg { "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_2" [label="2: Exit call_static_methods \n " color=yellow style=filled] -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_3" [label="3: Call _fun_Sub::fun_redefine \n n$0=*&s2:Sub* [line 30, column 3]\n _=*n$0:Sub [line 30, column 3]\n n$2=_fun_Sub::fun_redefine(n$0:Sub*) [line 30, column 3]\n NULLIFY(&s2); [line 30, column 3]\n EXIT_SCOPE(_,n$0,n$2,s2); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_3" [label="3: Call _fun_Sub::fun_redefine \n n$0=*&s2:Sub* [line 30, column 3]\n _=*n$0:Sub [line 30, column 3]\n n$2=_fun_Sub::fun_redefine(n$0:Sub*) [line 30, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_3" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_2" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_4" [label="4: Call _fun_Base::fun_redefine \n n$3=*&s1:Base* [line 29, column 3]\n _=*n$3:Base [line 29, column 3]\n n$5=_fun_Base::fun_redefine(n$3:Base*) [line 29, column 3]\n NULLIFY(&s1); [line 29, column 3]\n EXIT_SCOPE(_,n$3,n$5,s1); [line 29, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_4" [label="4: Call _fun_Base::fun_redefine \n n$3=*&s1:Base* [line 29, column 3]\n _=*n$3:Base [line 29, column 3]\n n$5=_fun_Base::fun_redefine(n$3:Base*) [line 29, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_4" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_3" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_5" [label="5: Call _fun_Base::fun_redefine \n n$6=*&b:Base* [line 28, column 3]\n _=*n$6:Base [line 28, column 3]\n n$8=_fun_Base::fun_redefine(n$6:Base*) [line 28, column 3]\n NULLIFY(&b); [line 28, column 3]\n EXIT_SCOPE(_,n$6,n$8,b); [line 28, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_5" [label="5: Call _fun_Base::fun_redefine \n n$6=*&b:Base* [line 28, column 3]\n _=*n$6:Base [line 28, column 3]\n n$8=_fun_Base::fun_redefine(n$6:Base*) [line 28, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_5" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_4" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_6" [label="6: Call _fun_Base::fun \n n$9=*&s2:Sub* [line 26, column 3]\n _=*n$9:Sub [line 26, column 3]\n n$11=_fun_Base::fun(n$9:Sub*) [line 26, column 3]\n EXIT_SCOPE(_,n$9,n$11); [line 26, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_6" [label="6: Call _fun_Base::fun \n n$9=*&s2:Sub* [line 26, column 3]\n _=*n$9:Sub [line 26, column 3]\n n$11=_fun_Base::fun(n$9:Sub*) [line 26, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_6" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_5" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_7" [label="7: Call _fun_Base::fun \n n$12=*&s1:Base* [line 25, column 3]\n _=*n$12:Base [line 25, column 3]\n n$14=_fun_Base::fun(n$12:Base*) [line 25, column 3]\n EXIT_SCOPE(_,n$12,n$14); [line 25, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_7" [label="7: Call _fun_Base::fun \n n$12=*&s1:Base* [line 25, column 3]\n _=*n$12:Base [line 25, column 3]\n n$14=_fun_Base::fun(n$12:Base*) [line 25, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_7" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_6" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" [label="8: Call _fun_Base::fun \n n$15=*&b:Base* [line 24, column 3]\n _=*n$15:Base [line 24, column 3]\n n$17=_fun_Base::fun(n$15:Base*) [line 24, column 3]\n EXIT_SCOPE(_,n$15,n$17); [line 24, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" [label="8: Call _fun_Base::fun \n n$15=*&b:Base* [line 24, column 3]\n _=*n$15:Base [line 24, column 3]\n n$17=_fun_Base::fun(n$15:Base*) [line 24, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_7" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" [label="9: DeclStmt \n VARIABLE_DECLARED(s2:Sub*); [line 22, column 3]\n n$18=_fun___new(sizeof(t=Sub):unsigned long) [line 22, column 13]\n n$19=_fun_Sub::Sub(n$18:Sub*) [line 22, column 17]\n *&s2:Sub*=n$18 [line 22, column 3]\n EXIT_SCOPE(n$18,n$19); [line 22, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" [label="9: DeclStmt \n VARIABLE_DECLARED(s2:Sub*); [line 22, column 3]\n n$18=_fun___new(sizeof(t=Sub):unsigned long) [line 22, column 13]\n n$19=_fun_Sub::Sub(n$18:Sub*) [line 22, column 17]\n *&s2:Sub*=n$18 [line 22, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_8" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" [label="10: DeclStmt \n VARIABLE_DECLARED(s1:Base*); [line 21, column 3]\n n$20=_fun___new(sizeof(t=Sub):unsigned long) [line 21, column 14]\n n$21=_fun_Sub::Sub(n$20:Sub*) [line 21, column 18]\n *&s1:Sub*=n$20 [line 21, column 3]\n EXIT_SCOPE(n$20,n$21); [line 21, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" [label="10: DeclStmt \n VARIABLE_DECLARED(s1:Base*); [line 21, column 3]\n n$20=_fun___new(sizeof(t=Sub):unsigned long) [line 21, column 14]\n n$21=_fun_Sub::Sub(n$20:Sub*) [line 21, column 18]\n *&s1:Sub*=n$20 [line 21, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_9" ; -"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" [label="11: DeclStmt \n VARIABLE_DECLARED(b:Base*); [line 20, column 3]\n n$22=_fun___new(sizeof(t=Base):unsigned long) [line 20, column 13]\n n$23=_fun_Base::Base(n$22:Base*) [line 20, column 17]\n *&b:Base*=n$22 [line 20, column 3]\n EXIT_SCOPE(n$22,n$23); [line 20, column 3]\n " shape="box"] +"call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" [label="11: DeclStmt \n VARIABLE_DECLARED(b:Base*); [line 20, column 3]\n n$22=_fun___new(sizeof(t=Base):unsigned long) [line 20, column 13]\n n$23=_fun_Base::Base(n$22:Base*) [line 20, column 17]\n *&b:Base*=n$22 [line 20, column 3]\n " shape="box"] "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_11" -> "call_static_methods#2229162425019005814.6b8ed680875ca5e183f8fa3b51ea6718_10" ; @@ -50,7 +50,7 @@ digraph cfg { "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_2" [label="2: Exit Base::fun_redefine \n " color=yellow style=filled] -"fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_3" [label="3: Return Stmt \n *&return:int=10 [line 11, column 24]\n APPLY_ABSTRACTION; [line 11, column 24]\n " shape="box"] +"fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_3" [label="3: Return Stmt \n *&return:int=10 [line 11, column 24]\n " shape="box"] "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_3" -> "fun_redefine#Base#(2650804992698061987).67136e8e6ad0793f86461827c32086fc_2" ; @@ -61,7 +61,7 @@ digraph cfg { "fun#Base#(4745240833868289958).678df3fd06599dafd933a3bb8b9491bc_2" [label="2: Exit Base::fun \n " color=yellow style=filled] -"fun#Base#(4745240833868289958).678df3fd06599dafd933a3bb8b9491bc_3" [label="3: Return Stmt \n *&return:int=1 [line 10, column 15]\n APPLY_ABSTRACTION; [line 10, column 15]\n " shape="box"] +"fun#Base#(4745240833868289958).678df3fd06599dafd933a3bb8b9491bc_3" [label="3: Return Stmt \n *&return:int=1 [line 10, column 15]\n " shape="box"] "fun#Base#(4745240833868289958).678df3fd06599dafd933a3bb8b9491bc_3" -> "fun#Base#(4745240833868289958).678df3fd06599dafd933a3bb8b9491bc_2" ; @@ -79,7 +79,7 @@ digraph cfg { "fun_redefine#Sub#(17129416942188381963).92112cf746626b3b7cdf24f41680fdb8_2" [label="2: Exit Sub::fun_redefine \n " color=yellow style=filled] -"fun_redefine#Sub#(17129416942188381963).92112cf746626b3b7cdf24f41680fdb8_3" [label="3: Return Stmt \n *&return:int=20 [line 16, column 24]\n APPLY_ABSTRACTION; [line 16, column 24]\n " shape="box"] +"fun_redefine#Sub#(17129416942188381963).92112cf746626b3b7cdf24f41680fdb8_3" [label="3: Return Stmt \n *&return:int=20 [line 16, column 24]\n " shape="box"] "fun_redefine#Sub#(17129416942188381963).92112cf746626b3b7cdf24f41680fdb8_3" -> "fun_redefine#Sub#(17129416942188381963).92112cf746626b3b7cdf24f41680fdb8_2" ; @@ -90,7 +90,7 @@ digraph cfg { "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" [label="2: Exit Sub::Sub \n " color=yellow style=filled] -"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" [label="3: Constructor Init \n n$1=*&this:Sub* [line 14, column 7]\n n$2=_fun_Base::Base(n$1:Sub*) [line 14, column 7]\n NULLIFY(&this); [line 14, column 7]\n EXIT_SCOPE(n$1,n$2,this); [line 14, column 7]\n APPLY_ABSTRACTION; [line 14, column 7]\n " shape="box"] +"Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" [label="3: Constructor Init \n n$1=*&this:Sub* [line 14, column 7]\n n$2=_fun_Base::Base(n$1:Sub*) [line 14, column 7]\n " shape="box"] "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_3" -> "Sub#Sub#{11878357359117042972|constexpr}.886e3a99a94b49e456c4d39277ccc93b_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot index 4417300a1..5200baeab 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_casts.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_2" [label="2: Exit inheritance_casts::div \n " color=yellow style=filled] -"div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_3" [label="3: Return Stmt \n n$0=*&x:inheritance_casts::A const & [line 24, column 34]\n n$1=*n$0.f:int [line 24, column 34]\n *&return:int=(1 / n$1) [line 24, column 23]\n NULLIFY(&x); [line 24, column 23]\n EXIT_SCOPE(n$0,n$1,x); [line 24, column 23]\n APPLY_ABSTRACTION; [line 24, column 23]\n " shape="box"] +"div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_3" [label="3: Return Stmt \n n$0=*&x:inheritance_casts::A const & [line 24, column 34]\n n$1=*n$0.f:int [line 24, column 34]\n *&return:int=(1 / n$1) [line 24, column 23]\n " shape="box"] "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_3" -> "div#inheritance_casts#6922777222181710886.49c2c177ef4708a5a378ab243af3c697_2" ; @@ -15,10 +15,10 @@ digraph cfg { "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_1" -> "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" ; -"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_2" [label="2: Exit inheritance_casts::div0_A \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 26, column 37]\n " color=yellow style=filled] +"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_2" [label="2: Exit inheritance_casts::div0_A \n " color=yellow style=filled] -"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const ); [line 26, column 27]\n n$5=_fun_inheritance_casts::getA(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) assign_last [line 26, column 27]\n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 26, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const [line 26, column 34]\n n$2=_fun_inheritance_casts::A::~A(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const *) injected [line 26, column 34]\n *&return:int=n$6 [line 26, column 16]\n EXIT_SCOPE(_,n$2,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 26, column 16]\n APPLY_ABSTRACTION; [line 26, column 16]\n " shape="box"] +"div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const ); [line 26, column 27]\n n$5=_fun_inheritance_casts::getA(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) assign_last [line 26, column 27]\n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 26, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const [line 26, column 34]\n n$2=_fun_inheritance_casts::A::~A(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const *) injected [line 26, column 34]\n *&return:int=n$6 [line 26, column 16]\n " shape="box"] "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_3" -> "div0_A#inheritance_casts#7658516495554603699.e5c3e3413f6eac12dda7dd76db597c34_2" ; @@ -26,10 +26,10 @@ digraph cfg { "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_1" -> "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" ; -"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_2" [label="2: Exit inheritance_casts::div0_B \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 30, column 37]\n " color=yellow style=filled] +"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_2" [label="2: Exit inheritance_casts::div0_B \n " color=yellow style=filled] -"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const ); [line 30, column 27]\n n$5=_fun_inheritance_casts::getB(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) assign_last [line 30, column 27]\n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 30, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const [line 30, column 34]\n n$2=_fun_inheritance_casts::B::~B(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const *) injected [line 30, column 34]\n *&return:int=n$6 [line 30, column 16]\n EXIT_SCOPE(_,n$2,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 30, column 16]\n APPLY_ABSTRACTION; [line 30, column 16]\n " shape="box"] +"div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const ); [line 30, column 27]\n n$5=_fun_inheritance_casts::getB(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) assign_last [line 30, column 27]\n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 30, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const [line 30, column 34]\n n$2=_fun_inheritance_casts::B::~B(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const *) injected [line 30, column 34]\n *&return:int=n$6 [line 30, column 16]\n " shape="box"] "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_3" -> "div0_B#inheritance_casts#9651791439006644302.4d2c177357a796fa9b436df4f92f3de8_2" ; @@ -37,10 +37,10 @@ digraph cfg { "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_1" -> "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" ; -"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_2" [label="2: Exit inheritance_casts::div1_A \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 28, column 37]\n " color=yellow style=filled] +"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_2" [label="2: Exit inheritance_casts::div1_A \n " color=yellow style=filled] -"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const ); [line 28, column 27]\n n$5=_fun_inheritance_casts::getA(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) assign_last [line 28, column 27]\n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 28, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const [line 28, column 34]\n n$2=_fun_inheritance_casts::A::~A(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const *) injected [line 28, column 34]\n *&return:int=n$6 [line 28, column 16]\n EXIT_SCOPE(_,n$2,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 28, column 16]\n APPLY_ABSTRACTION; [line 28, column 16]\n " shape="box"] +"div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const ); [line 28, column 27]\n n$5=_fun_inheritance_casts::getA(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A*) assign_last [line 28, column 27]\n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const &) [line 28, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const [line 28, column 34]\n n$2=_fun_inheritance_casts::A::~A(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::A const *) injected [line 28, column 34]\n *&return:int=n$6 [line 28, column 16]\n " shape="box"] "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_3" -> "div1_A#inheritance_casts#14706027417800210732.96d94ec773e2890c763d57de8a52982b_2" ; @@ -48,10 +48,10 @@ digraph cfg { "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_1" -> "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" ; -"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_2" [label="2: Exit inheritance_casts::div1_B \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 32, column 37]\n " color=yellow style=filled] +"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_2" [label="2: Exit inheritance_casts::div1_B \n " color=yellow style=filled] -"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const ); [line 32, column 27]\n n$5=_fun_inheritance_casts::getB(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) assign_last [line 32, column 27]\n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 32, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const [line 32, column 34]\n n$2=_fun_inheritance_casts::B::~B(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const *) injected [line 32, column 34]\n *&return:int=n$6 [line 32, column 16]\n EXIT_SCOPE(_,n$2,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 32, column 16]\n APPLY_ABSTRACTION; [line 32, column 16]\n " shape="box"] +"div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const ); [line 32, column 27]\n n$5=_fun_inheritance_casts::getB(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B*) assign_last [line 32, column 27]\n n$6=_fun_inheritance_casts::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const &) [line 32, column 23]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const [line 32, column 34]\n n$2=_fun_inheritance_casts::B::~B(&0$?%__sil_tmpSIL_materialize_temp__n$0:inheritance_casts::B const *) injected [line 32, column 34]\n *&return:int=n$6 [line 32, column 16]\n " shape="box"] "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_3" -> "div1_B#inheritance_casts#15202051198007397773.6fa30ed113dcaca42095f52f33fb0c86_2" ; @@ -59,18 +59,18 @@ digraph cfg { "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_1" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" ; -"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_2" [label="2: Exit inheritance_casts::getA \n NULLIFY(&x); [line 22, column 1]\n " color=yellow style=filled] +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_2" [label="2: Exit inheritance_casts::getA \n " color=yellow style=filled] -"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::A* [line 21, column 3]\n n$1=_fun_inheritance_casts::A::A(n$0:inheritance_casts::A*,&x:inheritance_casts::A&) [line 21, column 10]\n _=*&x:inheritance_casts::A [line 21, column 10]\n n$3=_fun_inheritance_casts::A::~A(&x:inheritance_casts::A*) injected [line 21, column 10]\n NULLIFY(&__return_param); [line 21, column 10]\n EXIT_SCOPE(_,n$0,n$1,n$3,__return_param,x); [line 21, column 10]\n APPLY_ABSTRACTION; [line 21, column 10]\n " shape="box"] +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::A* [line 21, column 3]\n n$1=_fun_inheritance_casts::A::A(n$0:inheritance_casts::A*,&x:inheritance_casts::A&) [line 21, column 10]\n _=*&x:inheritance_casts::A [line 21, column 10]\n n$3=_fun_inheritance_casts::A::~A(&x:inheritance_casts::A*) injected [line 21, column 10]\n " shape="box"] "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_2" ; -"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 20, column 9]\n *&x.f:int=n$5 [line 20, column 3]\n NULLIFY(&f); [line 20, column 3]\n EXIT_SCOPE(n$5,f); [line 20, column 3]\n " shape="box"] +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 20, column 9]\n *&x.f:int=n$5 [line 20, column 3]\n " shape="box"] "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_3" ; -"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::A); [line 19, column 3]\n n$6=_fun_inheritance_casts::A::A(&x:inheritance_casts::A*) [line 19, column 5]\n EXIT_SCOPE(n$6); [line 19, column 5]\n " shape="box"] +"getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::A); [line 19, column 3]\n n$6=_fun_inheritance_casts::A::A(&x:inheritance_casts::A*) [line 19, column 5]\n " shape="box"] "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_5" -> "getA#inheritance_casts(class inheritance_casts::A)#5702196550029280494.bf770d8fdf04212f16e0b3beb3d4c512_4" ; @@ -78,18 +78,18 @@ digraph cfg { "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_1" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" ; -"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_2" [label="2: Exit inheritance_casts::getB \n NULLIFY(&x); [line 17, column 1]\n " color=yellow style=filled] +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_2" [label="2: Exit inheritance_casts::getB \n " color=yellow style=filled] -"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::B* [line 16, column 3]\n n$1=_fun_inheritance_casts::B::B(n$0:inheritance_casts::B*,&x:inheritance_casts::B&) [line 16, column 10]\n _=*&x:inheritance_casts::B [line 16, column 10]\n n$3=_fun_inheritance_casts::B::~B(&x:inheritance_casts::B*) injected [line 16, column 10]\n NULLIFY(&__return_param); [line 16, column 10]\n EXIT_SCOPE(_,n$0,n$1,n$3,x,__return_param); [line 16, column 10]\n APPLY_ABSTRACTION; [line 16, column 10]\n " shape="box"] +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" [label="3: Return Stmt \n n$0=*&__return_param:inheritance_casts::B* [line 16, column 3]\n n$1=_fun_inheritance_casts::B::B(n$0:inheritance_casts::B*,&x:inheritance_casts::B&) [line 16, column 10]\n _=*&x:inheritance_casts::B [line 16, column 10]\n n$3=_fun_inheritance_casts::B::~B(&x:inheritance_casts::B*) injected [line 16, column 10]\n " shape="box"] "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_2" ; -"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 15, column 9]\n *&x.f:int=n$5 [line 15, column 3]\n NULLIFY(&f); [line 15, column 3]\n EXIT_SCOPE(n$5,f); [line 15, column 3]\n " shape="box"] +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&f:int [line 15, column 9]\n *&x.f:int=n$5 [line 15, column 3]\n " shape="box"] "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_3" ; -"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::B); [line 14, column 3]\n n$6=_fun_inheritance_casts::B::B(&x:inheritance_casts::B*) [line 14, column 5]\n EXIT_SCOPE(n$6); [line 14, column 5]\n " shape="box"] +"getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:inheritance_casts::B); [line 14, column 3]\n n$6=_fun_inheritance_casts::B::B(&x:inheritance_casts::B*) [line 14, column 5]\n " shape="box"] "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_5" -> "getB#inheritance_casts(class inheritance_casts::B)#7572693428029732371.903fb8dc56797768f6ca6ebdf511cdaf_4" ; @@ -100,7 +100,7 @@ digraph cfg { "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_2" [label="2: Exit inheritance_casts::A::A \n " color=yellow style=filled] -"A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::A* [line 8, column 8]\n n$2=*&__param_0:inheritance_casts::A& [line 8, column 8]\n n$3=*n$2.f:int [line 8, column 8]\n *n$1.f:int=n$3 [line 8, column 8]\n NULLIFY(&this); [line 8, column 8]\n NULLIFY(&__param_0); [line 8, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 8, column 8]\n APPLY_ABSTRACTION; [line 8, column 8]\n " shape="box"] +"A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::A* [line 8, column 8]\n n$2=*&__param_0:inheritance_casts::A& [line 8, column 8]\n n$3=*n$2.f:int [line 8, column 8]\n *n$1.f:int=n$3 [line 8, column 8]\n " shape="box"] "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_3" -> "A#A#inheritance_casts#{10902709585585133973|constexpr}.68880ef701101d56bd12eca3d63ad60a_2" ; @@ -118,7 +118,7 @@ digraph cfg { "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_2" [label="2: Exit inheritance_casts::B::B \n " color=yellow style=filled] -"B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::B* [line 11, column 8]\n n$2=*&__param_0:inheritance_casts::B& [line 11, column 8]\n n$3=_fun_inheritance_casts::A::A(n$1:inheritance_casts::B*,n$2:inheritance_casts::B&) [line 11, column 8]\n NULLIFY(&this); [line 11, column 8]\n NULLIFY(&__param_0); [line 11, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 11, column 8]\n APPLY_ABSTRACTION; [line 11, column 8]\n " shape="box"] +"B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::B* [line 11, column 8]\n n$2=*&__param_0:inheritance_casts::B& [line 11, column 8]\n n$3=_fun_inheritance_casts::A::A(n$1:inheritance_casts::B*,n$2:inheritance_casts::B&) [line 11, column 8]\n " shape="box"] "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_3" -> "B#B#inheritance_casts#{757591507791864682|constexpr}.5bcf15d1bf21f1370c2f899ddef4b1c9_2" ; @@ -129,7 +129,7 @@ digraph cfg { "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_2" [label="2: Exit inheritance_casts::B::B \n " color=yellow style=filled] -"B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::B* [line 11, column 8]\n n$2=_fun_inheritance_casts::A::A(n$1:inheritance_casts::B*) [line 11, column 8]\n NULLIFY(&this); [line 11, column 8]\n EXIT_SCOPE(n$1,n$2,this); [line 11, column 8]\n APPLY_ABSTRACTION; [line 11, column 8]\n " shape="box"] +"B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" [label="3: Constructor Init \n n$1=*&this:inheritance_casts::B* [line 11, column 8]\n n$2=_fun_inheritance_casts::A::A(n$1:inheritance_casts::B*) [line 11, column 8]\n " shape="box"] "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_3" -> "B#B#inheritance_casts#{9678838365339542453}.8b569e08272bb08f8843c357c8546f65_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot index fda107a5b..757faa945 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/inheritance_field.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_2" [label="2: Exit div0_b1 \n " color=yellow style=filled] -"div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 22, column 14]\n n$1=*n$0.b1:int [line 22, column 14]\n *&return:int=(1 / n$1) [line 22, column 3]\n NULLIFY(&s); [line 22, column 3]\n EXIT_SCOPE(n$0,n$1,s); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 22, column 14]\n n$1=*n$0.b1:int [line 22, column 14]\n *&return:int=(1 / n$1) [line 22, column 3]\n " shape="box"] "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" -> "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_2" ; -"div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 21, column 3]\n *n$2.b1:int=0 [line 21, column 3]\n EXIT_SCOPE(n$2); [line 21, column 3]\n " shape="box"] +"div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 21, column 3]\n *n$2.b1:int=0 [line 21, column 3]\n " shape="box"] "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_4" -> "div0_b1#17650173920024552929.38acfc238efbf35c1ac5da7290b49422_3" ; @@ -22,15 +22,15 @@ digraph cfg { "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_2" [label="2: Exit div0_b1_s \n " color=yellow style=filled] -"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 50, column 15]\n n$1=*n$0.b1:int [line 50, column 15]\n n$2=*&s:Sub* [line 50, column 23]\n n$3=*n$2.s:int [line 50, column 23]\n *&return:int=(1 / (n$1 - n$3)) [line 50, column 3]\n NULLIFY(&s); [line 50, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,s); [line 50, column 3]\n APPLY_ABSTRACTION; [line 50, column 3]\n " shape="box"] +"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 50, column 15]\n n$1=*n$0.b1:int [line 50, column 15]\n n$2=*&s:Sub* [line 50, column 23]\n n$3=*n$2.s:int [line 50, column 23]\n *&return:int=(1 / (n$1 - n$3)) [line 50, column 3]\n " shape="box"] "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_2" ; -"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 49, column 3]\n *n$4.s:int=1 [line 49, column 3]\n EXIT_SCOPE(n$4); [line 49, column 3]\n " shape="box"] +"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 49, column 3]\n *n$4.s:int=1 [line 49, column 3]\n " shape="box"] "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_3" ; -"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 48, column 3]\n *n$5.b1:int=1 [line 48, column 3]\n EXIT_SCOPE(n$5); [line 48, column 3]\n " shape="box"] +"div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 48, column 3]\n *n$5.b1:int=1 [line 48, column 3]\n " shape="box"] "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_5" -> "div0_b1_s(class Sub)#4574535260514480977.bea603e96ca808f341ce0e5424d96c83_4" ; @@ -41,11 +41,11 @@ digraph cfg { "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_2" [label="2: Exit div0_b2 \n " color=yellow style=filled] -"div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 27, column 14]\n n$1=*n$0.b2:int [line 27, column 14]\n *&return:int=(1 / n$1) [line 27, column 3]\n NULLIFY(&s); [line 27, column 3]\n EXIT_SCOPE(n$0,n$1,s); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 27, column 14]\n n$1=*n$0.b2:int [line 27, column 14]\n *&return:int=(1 / n$1) [line 27, column 3]\n " shape="box"] "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" -> "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_2" ; -"div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 26, column 3]\n *n$2.b2:int=0 [line 26, column 3]\n EXIT_SCOPE(n$2); [line 26, column 3]\n " shape="box"] +"div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 26, column 3]\n *n$2.b2:int=0 [line 26, column 3]\n " shape="box"] "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_4" -> "div0_b2#6935029956526426132.ef88e6d1eac891cdde3f345b9b55439c_3" ; @@ -56,15 +56,15 @@ digraph cfg { "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_2" [label="2: Exit div0_cast \n " color=yellow style=filled] -"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 38, column 14]\n n$1=*n$0.b1:int [line 38, column 14]\n *&return:int=(1 / n$1) [line 38, column 3]\n NULLIFY(&b); [line 38, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 38, column 14]\n n$1=*n$0.b1:int [line 38, column 14]\n *&return:int=(1 / n$1) [line 38, column 3]\n " shape="box"] "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_2" ; -"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 37, column 3]\n n$2=*&s:Sub* [line 37, column 14]\n *&b:Sub*=n$2 [line 37, column 3]\n NULLIFY(&s); [line 37, column 3]\n EXIT_SCOPE(n$2,s); [line 37, column 3]\n " shape="box"] +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 37, column 3]\n n$2=*&s:Sub* [line 37, column 14]\n *&b:Sub*=n$2 [line 37, column 3]\n " shape="box"] "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_3" ; -"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 36, column 3]\n *n$3.b1:int=0 [line 36, column 3]\n EXIT_SCOPE(n$3); [line 36, column 3]\n " shape="box"] +"div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 36, column 3]\n *n$3.b1:int=0 [line 36, column 3]\n " shape="box"] "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_5" -> "div0_cast(class Sub)#5945090778893539301.57c132b2d87bb7310c8cb0085dede4d5_4" ; @@ -75,15 +75,15 @@ digraph cfg { "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_2" [label="2: Exit div0_cast_ref \n " color=yellow style=filled] -"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" [label="3: Return Stmt \n n$0=*&b:Base1& [line 44, column 14]\n n$1=*n$0.b1:int [line 44, column 14]\n *&return:int=(1 / n$1) [line 44, column 3]\n NULLIFY(&b); [line 44, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" [label="3: Return Stmt \n n$0=*&b:Base1& [line 44, column 14]\n n$1=*n$0.b1:int [line 44, column 14]\n *&return:int=(1 / n$1) [line 44, column 3]\n " shape="box"] "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_2" ; -"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:Base1&); [line 43, column 3]\n n$2=*&s:Sub& [line 43, column 14]\n *&b:Sub&=n$2 [line 43, column 3]\n NULLIFY(&s); [line 43, column 3]\n EXIT_SCOPE(n$2,s); [line 43, column 3]\n " shape="box"] +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:Base1&); [line 43, column 3]\n n$2=*&s:Sub& [line 43, column 14]\n *&b:Sub&=n$2 [line 43, column 3]\n " shape="box"] "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_3" ; -"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&s:Sub& [line 42, column 3]\n *n$3.b1:int=0 [line 42, column 3]\n EXIT_SCOPE(n$3); [line 42, column 3]\n " shape="box"] +"div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&s:Sub& [line 42, column 3]\n *n$3.b1:int=0 [line 42, column 3]\n " shape="box"] "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_5" -> "div0_cast_ref#11427648331886451822.4f535c7752ac1b6e5f35ab1a83dc2bd8_4" ; @@ -94,11 +94,11 @@ digraph cfg { "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_2" [label="2: Exit div0_s \n " color=yellow style=filled] -"div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 32, column 14]\n n$1=*n$0.s:int [line 32, column 14]\n *&return:int=(1 / n$1) [line 32, column 3]\n NULLIFY(&s); [line 32, column 3]\n EXIT_SCOPE(n$0,n$1,s); [line 32, column 3]\n APPLY_ABSTRACTION; [line 32, column 3]\n " shape="box"] +"div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 32, column 14]\n n$1=*n$0.s:int [line 32, column 14]\n *&return:int=(1 / n$1) [line 32, column 3]\n " shape="box"] "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" -> "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_2" ; -"div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 31, column 3]\n *n$2.s:int=0 [line 31, column 3]\n EXIT_SCOPE(n$2); [line 31, column 3]\n " shape="box"] +"div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 31, column 3]\n *n$2.s:int=0 [line 31, column 3]\n " shape="box"] "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_4" -> "div0_s#16566672704220882536.127f1e4fb94cf0b77844a4e153e0f991_3" ; @@ -109,15 +109,15 @@ digraph cfg { "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_2" [label="2: Exit div0_s_b1 \n " color=yellow style=filled] -"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 56, column 15]\n n$1=*n$0.b1:int [line 56, column 15]\n n$2=*&s:Sub* [line 56, column 23]\n n$3=*n$2.s:int [line 56, column 23]\n *&return:int=(1 / (n$1 - n$3)) [line 56, column 3]\n NULLIFY(&s); [line 56, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,s); [line 56, column 3]\n APPLY_ABSTRACTION; [line 56, column 3]\n " shape="box"] +"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" [label="3: Return Stmt \n n$0=*&s:Sub* [line 56, column 15]\n n$1=*n$0.b1:int [line 56, column 15]\n n$2=*&s:Sub* [line 56, column 23]\n n$3=*n$2.s:int [line 56, column 23]\n *&return:int=(1 / (n$1 - n$3)) [line 56, column 3]\n " shape="box"] "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_2" ; -"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 55, column 3]\n *n$4.s:int=1 [line 55, column 3]\n EXIT_SCOPE(n$4); [line 55, column 3]\n " shape="box"] +"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&s:Sub* [line 55, column 3]\n *n$4.s:int=1 [line 55, column 3]\n " shape="box"] "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_3" ; -"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 54, column 3]\n *n$5.b1:int=1 [line 54, column 3]\n EXIT_SCOPE(n$5); [line 54, column 3]\n " shape="box"] +"div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&s:Sub* [line 54, column 3]\n *n$5.b1:int=1 [line 54, column 3]\n " shape="box"] "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_5" -> "div0_s_b1(class Sub)#6365361903134380141.eab3ecee328fdfa57b4dc825af3f2f72_4" ; @@ -128,11 +128,11 @@ digraph cfg { "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_2" [label="2: Exit div1_b1 \n " color=yellow style=filled] -"div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 61, column 14]\n n$1=*n$0.b1:int [line 61, column 14]\n *&return:int=(1 / n$1) [line 61, column 3]\n NULLIFY(&s); [line 61, column 3]\n EXIT_SCOPE(n$0,n$1,s); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, column 3]\n " shape="box"] +"div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" [label="3: Return Stmt \n n$0=*&s:Sub& [line 61, column 14]\n n$1=*n$0.b1:int [line 61, column 14]\n *&return:int=(1 / n$1) [line 61, column 3]\n " shape="box"] "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" -> "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_2" ; -"div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 60, column 3]\n *n$2.b1:int=1 [line 60, column 3]\n EXIT_SCOPE(n$2); [line 60, column 3]\n " shape="box"] +"div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&s:Sub& [line 60, column 3]\n *n$2.b1:int=1 [line 60, column 3]\n " shape="box"] "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_4" -> "div1_b1#14974413951234929464.2d37fbc87faf449081172c1e2711163f_3" ; @@ -143,15 +143,15 @@ digraph cfg { "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_2" [label="2: Exit div1_cast \n " color=yellow style=filled] -"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 67, column 14]\n n$1=*n$0.b1:int [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n NULLIFY(&b); [line 67, column 3]\n EXIT_SCOPE(n$0,n$1,b); [line 67, column 3]\n APPLY_ABSTRACTION; [line 67, column 3]\n " shape="box"] +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" [label="3: Return Stmt \n n$0=*&b:Base1* [line 67, column 14]\n n$1=*n$0.b1:int [line 67, column 14]\n *&return:int=(1 / n$1) [line 67, column 3]\n " shape="box"] "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_2" ; -"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 66, column 3]\n n$2=*&s:Sub* [line 66, column 14]\n *&b:Sub*=n$2 [line 66, column 3]\n NULLIFY(&s); [line 66, column 3]\n EXIT_SCOPE(n$2,s); [line 66, column 3]\n " shape="box"] +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:Base1*); [line 66, column 3]\n n$2=*&s:Sub* [line 66, column 14]\n *&b:Sub*=n$2 [line 66, column 3]\n " shape="box"] "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_3" ; -"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 65, column 3]\n *n$3.b1:int=1 [line 65, column 3]\n EXIT_SCOPE(n$3); [line 65, column 3]\n " shape="box"] +"div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&s:Sub* [line 65, column 3]\n *n$3.b1:int=1 [line 65, column 3]\n " shape="box"] "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_5" -> "div1_cast(class Sub)#4700794712628779370.5f88f1a243823d843f8f8a851cbaf0d4_4" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot index 0be570cc1..7d84c1024 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/operator_overload.cpp.dot @@ -7,11 +7,11 @@ digraph cfg { "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_2" [label="2: Exit div0_function_op \n " color=yellow style=filled] -"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" [label="3: Return Stmt \n n$0=*&v:int [line 29, column 14]\n *&return:int=(1 / n$0) [line 29, column 3]\n NULLIFY(&v); [line 29, column 3]\n EXIT_SCOPE(n$0,v); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" [label="3: Return Stmt \n n$0=*&v:int [line 29, column 14]\n *&return:int=(1 / n$0) [line 29, column 3]\n " shape="box"] "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_2" ; -"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 28, column 3]\n n$1=*&x:X& [line 28, column 11]\n n$2=_fun_operator*(n$1:X&,0:int) [line 28, column 11]\n *&v:int=n$2 [line 28, column 3]\n NULLIFY(&x); [line 28, column 3]\n EXIT_SCOPE(n$1,n$2,x); [line 28, column 3]\n " shape="box"] +"div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 28, column 3]\n n$1=*&x:X& [line 28, column 11]\n n$2=_fun_operator*(n$1:X&,0:int) [line 28, column 11]\n *&v:int=n$2 [line 28, column 3]\n " shape="box"] "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_4" -> "div0_function_op#6873855268879531342.84fad54736dded19eef101141599a76d_3" ; @@ -22,7 +22,7 @@ digraph cfg { "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_2" [label="2: Exit div0_inheritted_op \n " color=yellow style=filled] -"div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_3" [label="3: Return Stmt \n n$1=*&y:Y& [line 40, column 14]\n n$2=_fun_X::operator[](n$1:Y&,0:int) [line 40, column 14]\n *&return:int=(1 / n$2) [line 40, column 3]\n NULLIFY(&y); [line 40, column 3]\n EXIT_SCOPE(n$1,n$2,y); [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] +"div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_3" [label="3: Return Stmt \n n$1=*&y:Y& [line 40, column 14]\n n$2=_fun_X::operator[](n$1:Y&,0:int) [line 40, column 14]\n *&return:int=(1 / n$2) [line 40, column 3]\n " shape="box"] "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_3" -> "div0_inheritted_op#3897716987010755035.349c69d7e8317217b8bcc1ac60f4e8bb_2" ; @@ -33,11 +33,11 @@ digraph cfg { "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_2" [label="2: Exit div0_method \n " color=yellow style=filled] -"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" [label="3: Return Stmt \n n$0=*&v:int [line 35, column 14]\n *&return:int=(1 / n$0) [line 35, column 3]\n NULLIFY(&v); [line 35, column 3]\n EXIT_SCOPE(n$0,v); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" [label="3: Return Stmt \n n$0=*&v:int [line 35, column 14]\n *&return:int=(1 / n$0) [line 35, column 3]\n " shape="box"] "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_2" ; -"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 34, column 3]\n n$1=*&x:X& [line 34, column 11]\n _=*n$1:X [line 34, column 11]\n n$3=_fun_X::operator[](n$1:X&,0:int) [line 34, column 11]\n *&v:int=n$3 [line 34, column 3]\n NULLIFY(&x); [line 34, column 3]\n EXIT_SCOPE(_,n$1,n$3,x); [line 34, column 3]\n " shape="box"] +"div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 34, column 3]\n n$1=*&x:X& [line 34, column 11]\n _=*n$1:X [line 34, column 11]\n n$3=_fun_X::operator[](n$1:X&,0:int) [line 34, column 11]\n *&v:int=n$3 [line 34, column 3]\n " shape="box"] "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_4" -> "div0_method#3394285867487200768.d62d68147390fdf119b5094668c7a05c_3" ; @@ -48,11 +48,11 @@ digraph cfg { "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_2" [label="2: Exit div0_method_op \n " color=yellow style=filled] -"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" [label="3: Return Stmt \n n$0=*&v:int [line 21, column 14]\n *&return:int=(1 / n$0) [line 21, column 3]\n NULLIFY(&v); [line 21, column 3]\n EXIT_SCOPE(n$0,v); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" [label="3: Return Stmt \n n$0=*&v:int [line 21, column 14]\n *&return:int=(1 / n$0) [line 21, column 3]\n " shape="box"] "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_2" ; -"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 20, column 3]\n n$2=*&x:X& [line 20, column 11]\n n$3=_fun_X::operator[](n$2:X&,0:int) [line 20, column 11]\n *&v:int=n$3 [line 20, column 3]\n NULLIFY(&x); [line 20, column 3]\n EXIT_SCOPE(n$2,n$3,x); [line 20, column 3]\n " shape="box"] +"div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(v:int); [line 20, column 3]\n n$2=*&x:X& [line 20, column 11]\n n$3=_fun_X::operator[](n$2:X&,0:int) [line 20, column 11]\n *&v:int=n$3 [line 20, column 3]\n " shape="box"] "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_4" -> "div0_method_op#16458634010327501325.9f8c8af0fef3459b668ce9bd6f32558b_3" ; @@ -63,7 +63,7 @@ digraph cfg { "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_2" [label="2: Exit div0_method_op_ptr \n " color=yellow style=filled] -"div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_3" [label="3: Return Stmt \n n$1=*&x:X* [line 24, column 45]\n n$2=_fun_X::operator[](n$1:X&,0:int) [line 24, column 43]\n *&return:int=(1 / n$2) [line 24, column 32]\n NULLIFY(&x); [line 24, column 32]\n EXIT_SCOPE(n$1,n$2,x); [line 24, column 32]\n APPLY_ABSTRACTION; [line 24, column 32]\n " shape="box"] +"div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_3" [label="3: Return Stmt \n n$1=*&x:X* [line 24, column 45]\n n$2=_fun_X::operator[](n$1:X&,0:int) [line 24, column 43]\n *&return:int=(1 / n$2) [line 24, column 32]\n " shape="box"] "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_3" -> "div0_method_op_ptr(class X)#10912550985860444792.208aa82119402d74edf40f4f285108ee_2" ; @@ -74,7 +74,7 @@ digraph cfg { "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_2" [label="2: Exit div1_method_op \n " color=yellow style=filled] -"div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_3" [label="3: Return Stmt \n n$1=*&x:X& [line 43, column 39]\n n$2=_fun_X::operator[](n$1:X&,1:int) [line 43, column 39]\n *&return:int=(1 / n$2) [line 43, column 28]\n NULLIFY(&x); [line 43, column 28]\n EXIT_SCOPE(n$1,n$2,x); [line 43, column 28]\n APPLY_ABSTRACTION; [line 43, column 28]\n " shape="box"] +"div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_3" [label="3: Return Stmt \n n$1=*&x:X& [line 43, column 39]\n n$2=_fun_X::operator[](n$1:X&,1:int) [line 43, column 39]\n *&return:int=(1 / n$2) [line 43, column 28]\n " shape="box"] "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_3" -> "div1_method_op#5439663249593761892.a2cc6fb171f5c009c72f5f33927b41f0_2" ; @@ -85,7 +85,7 @@ digraph cfg { "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_2" [label="2: Exit operator* \n " color=yellow style=filled] -"operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_3" [label="3: Return Stmt \n n$0=*&v:int [line 16, column 44]\n *&return:int=n$0 [line 16, column 37]\n NULLIFY(&v); [line 16, column 37]\n EXIT_SCOPE(n$0,v); [line 16, column 37]\n APPLY_ABSTRACTION; [line 16, column 37]\n " shape="box"] +"operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_3" [label="3: Return Stmt \n n$0=*&v:int [line 16, column 44]\n *&return:int=n$0 [line 16, column 37]\n " shape="box"] "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_3" -> "operator*#4316404986835462590.093a55f98689434d1f9613fa50369af8_2" ; @@ -96,7 +96,7 @@ digraph cfg { "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_2" [label="2: Exit X::operator[] \n " color=yellow style=filled] -"operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_3" [label="3: Return Stmt \n n$0=*&x:int [line 10, column 34]\n *&return:int=n$0 [line 10, column 27]\n NULLIFY(&x); [line 10, column 27]\n EXIT_SCOPE(n$0,x); [line 10, column 27]\n APPLY_ABSTRACTION; [line 10, column 27]\n " shape="box"] +"operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_3" [label="3: Return Stmt \n n$0=*&x:int [line 10, column 34]\n *&return:int=n$0 [line 10, column 27]\n " shape="box"] "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_3" -> "operator[]#X#(3980843005732688320).87f471ecf13fcbe94f2fb145dcf9a072_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot index 503850950..b02937d3b 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/return_struct.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_1" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" ; -"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_2" [label="2: Exit return_struct::get \n NULLIFY(&x); [line 23, column 1]\n " color=yellow style=filled] +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_2" [label="2: Exit return_struct::get \n " color=yellow style=filled] -"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" [label="3: Return Stmt \n n$0=*&__return_param:return_struct::X* [line 22, column 3]\n n$1=_fun_return_struct::X::X(n$0:return_struct::X*,&x:return_struct::X&) [line 22, column 10]\n _=*&x:return_struct::X [line 22, column 10]\n n$3=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 22, column 10]\n NULLIFY(&__return_param); [line 22, column 10]\n EXIT_SCOPE(_,n$0,n$1,n$3,x,__return_param); [line 22, column 10]\n APPLY_ABSTRACTION; [line 22, column 10]\n " shape="box"] +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" [label="3: Return Stmt \n n$0=*&__return_param:return_struct::X* [line 22, column 3]\n n$1=_fun_return_struct::X::X(n$0:return_struct::X*,&x:return_struct::X&) [line 22, column 10]\n _=*&x:return_struct::X [line 22, column 10]\n n$3=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 22, column 10]\n " shape="box"] "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_2" ; -"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&a:int [line 21, column 9]\n *&x.f:int=n$5 [line 21, column 3]\n NULLIFY(&a); [line 21, column 3]\n EXIT_SCOPE(n$5,a); [line 21, column 3]\n " shape="box"] +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" [label="4: BinaryOperatorStmt: Assign \n n$5=*&a:int [line 21, column 9]\n *&x.f:int=n$5 [line 21, column 3]\n " shape="box"] "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_3" ; -"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 20, column 3]\n n$6=_fun_return_struct::X::X(&x:return_struct::X*) [line 20, column 5]\n EXIT_SCOPE(n$6); [line 20, column 5]\n " shape="box"] +"get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 20, column 3]\n n$6=_fun_return_struct::X::X(&x:return_struct::X*) [line 20, column 5]\n " shape="box"] "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_5" -> "get#return_struct(class return_struct::X)#15206943163581446197.86e6722206a41548a013622037de2b99_4" ; @@ -23,14 +23,14 @@ digraph cfg { "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_1" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" ; -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_2" [label="2: Exit return_struct::get_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 28, column 1]\n NULLIFY(&x); [line 28, column 1]\n " color=yellow style=filled] +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_2" [label="2: Exit return_struct::get_div0 \n " color=yellow style=filled] -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 27, column 14]\n *&return:int=(1 / n$0) [line 27, column 3]\n _=*&x:return_struct::X [line 27, column 16]\n n$2=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 27, column 16]\n EXIT_SCOPE(_,n$0,n$2,x); [line 27, column 16]\n APPLY_ABSTRACTION; [line 27, column 16]\n " shape="box"] +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 27, column 14]\n *&return:int=(1 / n$0) [line 27, column 3]\n _=*&x:return_struct::X [line 27, column 16]\n n$2=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 27, column 16]\n " shape="box"] "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_2" ; -"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 26, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 26, column 9]\n n$9=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 26, column 9]\n n$10=_fun_return_struct::X::X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const &) [line 26, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const [line 26, column 14]\n n$6=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const *) injected [line 26, column 14]\n EXIT_SCOPE(_,n$6,n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 26, column 14]\n " shape="box"] +"get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 26, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 26, column 9]\n n$9=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 26, column 9]\n n$10=_fun_return_struct::X::X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const &) [line 26, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const [line 26, column 14]\n n$6=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const *) injected [line 26, column 14]\n " shape="box"] "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_4" -> "get_div0#return_struct#3543093399648500387.0c3db3a444952aefeee44e54da50327a_3" ; @@ -38,14 +38,14 @@ digraph cfg { "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_1" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" ; -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_2" [label="2: Exit return_struct::get_div1 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 40, column 1]\n NULLIFY(&x); [line 40, column 1]\n " color=yellow style=filled] +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_2" [label="2: Exit return_struct::get_div1 \n " color=yellow style=filled] -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 39, column 14]\n *&return:int=(1 / n$0) [line 39, column 3]\n _=*&x:return_struct::X [line 39, column 16]\n n$2=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 39, column 16]\n EXIT_SCOPE(_,n$0,n$2,x); [line 39, column 16]\n APPLY_ABSTRACTION; [line 39, column 16]\n " shape="box"] +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 39, column 14]\n *&return:int=(1 / n$0) [line 39, column 3]\n _=*&x:return_struct::X [line 39, column 16]\n n$2=_fun_return_struct::X::~X(&x:return_struct::X*) injected [line 39, column 16]\n " shape="box"] "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_2" ; -"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 38, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 38, column 9]\n n$9=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 38, column 9]\n n$10=_fun_return_struct::X::X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const &) [line 38, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const [line 38, column 14]\n n$6=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const *) injected [line 38, column 14]\n EXIT_SCOPE(_,n$6,n$9,n$10,0$?%__sil_tmpSIL_materialize_temp__n$4); [line 38, column 14]\n " shape="box"] +"get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:return_struct::X); [line 38, column 3]\n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const ); [line 38, column 9]\n n$9=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X*) assign_last [line 38, column 9]\n n$10=_fun_return_struct::X::X(&x:return_struct::X*,&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const &) [line 38, column 9]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const [line 38, column 14]\n n$6=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$4:return_struct::X const *) injected [line 38, column 14]\n " shape="box"] "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_4" -> "get_div1#return_struct#4287655186293816212.dabfacf04a7d838f8bdc3ef21786303d_3" ; @@ -53,18 +53,18 @@ digraph cfg { "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_1" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" ; -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_2" [label="2: Exit return_struct::get_field_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$7); [line 33, column 1]\n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 33, column 1]\n " color=yellow style=filled] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_2" [label="2: Exit return_struct::get_field_div0 \n " color=yellow style=filled] -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 32, column 14]\n n$5=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 32, column 14]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 32, column 14]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 32, column 21]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 32, column 21]\n *&return:int=(1 / n$6) [line 32, column 3]\n EXIT_SCOPE(_,n$2,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 32, column 3]\n APPLY_ABSTRACTION; [line 32, column 3]\n " shape="box"] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 32, column 14]\n n$5=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 32, column 14]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 32, column 14]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 32, column 21]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 32, column 21]\n *&return:int=(1 / n$6) [line 32, column 3]\n " shape="box"] "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_2" ; -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X [line 31, column 15]\n n$9=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X*) injected [line 31, column 15]\n EXIT_SCOPE(_,n$9,0$?%__sil_tmpSIL_materialize_temp__n$7); [line 31, column 15]\n " shape="box"] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" [label="4: Destruction(temporaries cleanup) \n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X [line 31, column 15]\n n$9=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X*) injected [line 31, column 15]\n " shape="box"] "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_3" ; -"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" [label="5: Call _fun_return_struct::X::skip \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X); [line 31, column 3]\n n$12=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X*) assign_last [line 31, column 3]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X [line 31, column 3]\n n$14=_fun_return_struct::X::skip(&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X&) [line 31, column 3]\n EXIT_SCOPE(_,n$12,n$14); [line 31, column 3]\n " shape="box"] +"get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" [label="5: Call _fun_return_struct::X::skip \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X); [line 31, column 3]\n n$12=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X*) assign_last [line 31, column 3]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X [line 31, column 3]\n n$14=_fun_return_struct::X::skip(&0$?%__sil_tmpSIL_materialize_temp__n$7:return_struct::X&) [line 31, column 3]\n " shape="box"] "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_5" -> "get_field_div0#return_struct#5765383981880135147.23dc82d8c29aaec22d9b9a68808820c3_4" ; @@ -72,10 +72,10 @@ digraph cfg { "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_1" -> "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" ; -"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_2" [label="2: Exit return_struct::get_field_div1 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 42, column 45]\n " color=yellow style=filled] +"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_2" [label="2: Exit return_struct::get_field_div1 \n " color=yellow style=filled] -"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 42, column 35]\n n$5=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 42, column 35]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 42, column 35]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 42, column 42]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 42, column 42]\n *&return:int=(1 / n$6) [line 42, column 24]\n EXIT_SCOPE(_,n$2,n$5,n$6,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 42, column 24]\n APPLY_ABSTRACTION; [line 42, column 24]\n " shape="box"] +"get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 42, column 35]\n n$5=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 42, column 35]\n n$6=*&0$?%__sil_tmpSIL_materialize_temp__n$0.f:int [line 42, column 35]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 42, column 42]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 42, column 42]\n *&return:int=(1 / n$6) [line 42, column 24]\n " shape="box"] "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_3" -> "get_field_div1#return_struct#6265027354366635900.8e009a5c61cd6a7375811ae0019c838c_2" ; @@ -83,10 +83,10 @@ digraph cfg { "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_1" -> "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" ; -"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_2" [label="2: Exit return_struct::get_method_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 46]\n " color=yellow style=filled] +"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_2" [label="2: Exit return_struct::get_method_div0 \n " color=yellow style=filled] -"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 35, column 32]\n n$5=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 35, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 32]\n n$7=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 35, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 43]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 35, column 43]\n *&return:int=n$7 [line 35, column 25]\n EXIT_SCOPE(_,_,n$2,n$5,n$7,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 25]\n APPLY_ABSTRACTION; [line 35, column 25]\n " shape="box"] +"get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 35, column 32]\n n$5=_fun_return_struct::get(0:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 35, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 32]\n n$7=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 35, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 35, column 43]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 35, column 43]\n *&return:int=n$7 [line 35, column 25]\n " shape="box"] "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_3" -> "get_method_div0#return_struct#1033779568239724265.1e897486d64ba4a977e56cdd041d6ba7_2" ; @@ -94,10 +94,10 @@ digraph cfg { "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_1" -> "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" ; -"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_2" [label="2: Exit return_struct::get_method_div1 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 44, column 46]\n " color=yellow style=filled] +"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_2" [label="2: Exit return_struct::get_method_div1 \n " color=yellow style=filled] -"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 44, column 32]\n n$5=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 44, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 32]\n n$7=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 44, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 43]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 44, column 43]\n *&return:int=n$7 [line 44, column 25]\n EXIT_SCOPE(_,_,n$2,n$5,n$7,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 44, column 25]\n APPLY_ABSTRACTION; [line 44, column 25]\n " shape="box"] +"get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X); [line 44, column 32]\n n$5=_fun_return_struct::get(1:int,&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) assign_last [line 44, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 32]\n n$7=_fun_return_struct::X::div(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X&) [line 44, column 32]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X [line 44, column 43]\n n$2=_fun_return_struct::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:return_struct::X*) injected [line 44, column 43]\n *&return:int=n$7 [line 44, column 25]\n " shape="box"] "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_3" -> "get_method_div1#return_struct#1525840708539595762.816387a0cceab2d825a8393a6ca5d5a1_2" ; @@ -108,7 +108,7 @@ digraph cfg { "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_2" [label="2: Exit return_struct::X::div \n " color=yellow style=filled] -"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" [label="3: Return Stmt \n n$0=*&this:return_struct::X* [line 15, column 26]\n n$1=*n$0.f:int [line 15, column 26]\n *&return:int=(1 / n$1) [line 15, column 15]\n NULLIFY(&this); [line 15, column 15]\n EXIT_SCOPE(n$0,n$1,this); [line 15, column 15]\n APPLY_ABSTRACTION; [line 15, column 15]\n " shape="box"] +"div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" [label="3: Return Stmt \n n$0=*&this:return_struct::X* [line 15, column 26]\n n$1=*n$0.f:int [line 15, column 26]\n *&return:int=(1 / n$1) [line 15, column 15]\n " shape="box"] "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_3" -> "div#X#return_struct#(9073902918758280554).5ec34a4946de2226a51954167b2298aa_2" ; @@ -119,7 +119,7 @@ digraph cfg { "X#X#return_struct#{16980707005325791470}.5cc7c757bfe221e617030d485a90aa08_2" [label="2: Exit return_struct::X::X \n " color=yellow style=filled] -"X#X#return_struct#{16980707005325791470}.5cc7c757bfe221e617030d485a90aa08_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:return_struct::X* [line 14, column 9]\n *n$0.f:int=1 [line 14, column 9]\n NULLIFY(&this); [line 14, column 9]\n EXIT_SCOPE(n$0,this); [line 14, column 9]\n APPLY_ABSTRACTION; [line 14, column 9]\n " shape="box"] +"X#X#return_struct#{16980707005325791470}.5cc7c757bfe221e617030d485a90aa08_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:return_struct::X* [line 14, column 9]\n *n$0.f:int=1 [line 14, column 9]\n " shape="box"] "X#X#return_struct#{16980707005325791470}.5cc7c757bfe221e617030d485a90aa08_3" -> "X#X#return_struct#{16980707005325791470}.5cc7c757bfe221e617030d485a90aa08_2" ; @@ -130,7 +130,7 @@ digraph cfg { "X#X#return_struct#{2874542973664462157}.c7820661c77babcd49c610d7742e613f_2" [label="2: Exit return_struct::X::X \n " color=yellow style=filled] -"X#X#return_struct#{2874542973664462157}.c7820661c77babcd49c610d7742e613f_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:return_struct::X* [line 13, column 19]\n n$1=*&x:return_struct::X const & [line 13, column 23]\n n$2=*n$1.f:int [line 13, column 23]\n *n$0.f:int=n$2 [line 13, column 19]\n NULLIFY(&x); [line 13, column 19]\n NULLIFY(&this); [line 13, column 19]\n EXIT_SCOPE(n$0,n$1,n$2,x,this); [line 13, column 19]\n APPLY_ABSTRACTION; [line 13, column 19]\n " shape="box"] +"X#X#return_struct#{2874542973664462157}.c7820661c77babcd49c610d7742e613f_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:return_struct::X* [line 13, column 19]\n n$1=*&x:return_struct::X const & [line 13, column 23]\n n$2=*n$1.f:int [line 13, column 23]\n *n$0.f:int=n$2 [line 13, column 19]\n " shape="box"] "X#X#return_struct#{2874542973664462157}.c7820661c77babcd49c610d7742e613f_3" -> "X#X#return_struct#{2874542973664462157}.c7820661c77babcd49c610d7742e613f_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/struct.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/struct.cpp.dot index 4add2f10d..8e3052ad4 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/struct.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/struct.cpp.dot @@ -7,19 +7,19 @@ digraph cfg { "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" [label="2: Exit test \n " color=yellow style=filled] -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&xc:X_class* [line 27, column 3]\n *n$0.b:int=20 [line 27, column 3]\n NULLIFY(&xc); [line 27, column 3]\n EXIT_SCOPE(n$0,xc); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&xc:X_class* [line 27, column 3]\n *n$0.b:int=20 [line 27, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_2" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&xc:X_class* [line 26, column 3]\n *n$1.a:int=10 [line 26, column 3]\n EXIT_SCOPE(n$1); [line 26, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&xc:X_class* [line 26, column 3]\n *n$1.a:int=10 [line 26, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_3" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&xs:X_struct* [line 23, column 3]\n *n$2.b:int=20 [line 23, column 3]\n NULLIFY(&xs); [line 23, column 3]\n EXIT_SCOPE(n$2,xs); [line 23, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&xs:X_struct* [line 23, column 3]\n *n$2.b:int=20 [line 23, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_4" ; -"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&xs:X_struct* [line 22, column 3]\n *n$3.a:int=10 [line 22, column 3]\n EXIT_SCOPE(n$3); [line 22, column 3]\n " shape="box"] +"test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" [label="6: BinaryOperatorStmt: Assign \n n$3=*&xs:X_struct* [line 22, column 3]\n *n$3.a:int=10 [line 22, column 3]\n " shape="box"] "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_6" -> "test#18241244337164948030.afc14f193ad97442f67ac7183be789bc_5" ; 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 d475dda34..a1a8833b5 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 @@ -4,10 +4,10 @@ digraph cfg { "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_1" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_2" [label="2: Exit struct_forward_declare::X_Y_div0 \n NULLIFY(&x); [line 53, column 1]\n " color=yellow style=filled] +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_2" [label="2: Exit struct_forward_declare::X_Y_div0 \n " color=yellow style=filled] -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" [label="3: Return Stmt \n _=*&x:struct_forward_declare::X [line 52, column 14]\n n$1=_fun_struct_forward_declare::X::getF(&x:struct_forward_declare::X&) [line 52, column 14]\n *&return:int=(1 / n$1) [line 52, column 3]\n EXIT_SCOPE(_,n$1,x); [line 52, column 3]\n APPLY_ABSTRACTION; [line 52, column 3]\n " shape="box"] +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" [label="3: Return Stmt \n _=*&x:struct_forward_declare::X [line 52, column 14]\n n$1=_fun_struct_forward_declare::X::getF(&x:struct_forward_declare::X&) [line 52, column 14]\n *&return:int=(1 / n$1) [line 52, column 3]\n " shape="box"] "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_3" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_2" ; @@ -15,15 +15,15 @@ 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, if) \n n$2=*&x.y:struct_forward_declare::Y* [line 49, column 7]\n PRUNE(n$2, true); [line 49, column 7]\n EXIT_SCOPE(n$2,x); [line 49, 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 49, column 7]\n PRUNE(n$2, true); [line 49, 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, if) \n n$2=*&x.y:struct_forward_declare::Y* [line 49, column 7]\n PRUNE(!n$2, false); [line 49, column 7]\n EXIT_SCOPE(n$2); [line 49, 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 49, column 7]\n PRUNE(!n$2, false); [line 49, column 7]\n " shape="invhouse"] "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_6" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_4" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" [label="7: Return Stmt \n *&return:int=1 [line 50, column 5]\n APPLY_ABSTRACTION; [line 50, column 5]\n " shape="box"] +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" [label="7: Return Stmt \n *&return:int=1 [line 50, column 5]\n " shape="box"] "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_7" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_2" ; @@ -36,7 +36,7 @@ digraph cfg { "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_9" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_8" ; -"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:struct_forward_declare::X); [line 46, column 3]\n n$5=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 46, column 5]\n EXIT_SCOPE(n$5); [line 46, column 5]\n " shape="box"] +"X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" [label="10: DeclStmt \n VARIABLE_DECLARED(x:struct_forward_declare::X); [line 46, column 3]\n n$5=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 46, column 5]\n " shape="box"] "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_10" -> "X_Y_div0#struct_forward_declare#18042232259689408087.5a34dbeba09cf8550874dbfc508af917_9" ; @@ -44,10 +44,10 @@ digraph cfg { "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_1" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" ; -"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_2" [label="2: Exit struct_forward_declare::X_div0 \n NULLIFY(&x); [line 38, column 1]\n " color=yellow style=filled] +"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_2" [label="2: Exit struct_forward_declare::X_div0 \n " color=yellow style=filled] -"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" [label="3: Return Stmt \n _=*&x:struct_forward_declare::X [line 37, column 14]\n n$1=_fun_struct_forward_declare::X::getF(&x:struct_forward_declare::X&) [line 37, column 14]\n *&return:int=(1 / n$1) [line 37, column 3]\n EXIT_SCOPE(_,n$1,x); [line 37, column 3]\n APPLY_ABSTRACTION; [line 37, column 3]\n " shape="box"] +"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" [label="3: Return Stmt \n _=*&x:struct_forward_declare::X [line 37, column 14]\n n$1=_fun_struct_forward_declare::X::getF(&x:struct_forward_declare::X&) [line 37, column 14]\n *&return:int=(1 / n$1) [line 37, column 3]\n " shape="box"] "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_2" ; @@ -55,7 +55,7 @@ digraph cfg { "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_4" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_3" ; -"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_forward_declare::X); [line 35, column 3]\n n$2=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 35, column 5]\n EXIT_SCOPE(n$2); [line 35, column 5]\n " shape="box"] +"X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_forward_declare::X); [line 35, column 3]\n n$2=_fun_struct_forward_declare::X::X(&x:struct_forward_declare::X*) [line 35, column 5]\n " shape="box"] "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_5" -> "X_div0#struct_forward_declare#14943490796844086809.e860fd7462df24ba7720802867a02ac2_4" ; @@ -66,11 +66,11 @@ digraph cfg { "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_2" [label="2: Exit struct_forward_declare::X_ptr_div0 \n " color=yellow style=filled] -"X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" [label="3: Return Stmt \n n$0=*&x:struct_forward_declare::X* [line 42, column 14]\n _=*n$0:struct_forward_declare::X [line 42, column 14]\n n$2=_fun_struct_forward_declare::X::getF(n$0:struct_forward_declare::X*) [line 42, column 14]\n *&return:int=(1 / n$2) [line 42, column 3]\n NULLIFY(&x); [line 42, column 3]\n EXIT_SCOPE(_,n$0,n$2,x); [line 42, column 3]\n APPLY_ABSTRACTION; [line 42, column 3]\n " shape="box"] +"X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" [label="3: Return Stmt \n n$0=*&x:struct_forward_declare::X* [line 42, column 14]\n _=*n$0:struct_forward_declare::X [line 42, column 14]\n n$2=_fun_struct_forward_declare::X::getF(n$0:struct_forward_declare::X*) [line 42, column 14]\n *&return:int=(1 / n$2) [line 42, column 3]\n " shape="box"] "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" -> "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_2" ; -"X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&x:struct_forward_declare::X* [line 41, column 3]\n *n$3.f:int=0 [line 41, column 3]\n EXIT_SCOPE(n$3); [line 41, column 3]\n " shape="box"] +"X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&x:struct_forward_declare::X* [line 41, column 3]\n *n$3.f:int=0 [line 41, column 3]\n " shape="box"] "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_4" -> "X_ptr_div0#struct_forward_declare(class struct_forward_declare::X)#16748991602723853091.a5c80332fff139355cc770fc0a47092e_3" ; @@ -78,10 +78,10 @@ digraph cfg { "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_1" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" ; -"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_2" [label="2: Exit struct_forward_declare::Z_div0 \n NULLIFY(&z); [line 59, column 1]\n " color=yellow style=filled] +"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_2" [label="2: Exit struct_forward_declare::Z_div0 \n " color=yellow style=filled] -"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" [label="3: Return Stmt \n _=*&z:struct_forward_declare::Z [line 58, column 14]\n n$1=_fun_struct_forward_declare::Z::getF(&z:struct_forward_declare::Z&) [line 58, column 14]\n *&return:int=(1 / n$1) [line 58, column 3]\n EXIT_SCOPE(_,n$1,z); [line 58, column 3]\n APPLY_ABSTRACTION; [line 58, column 3]\n " shape="box"] +"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" [label="3: Return Stmt \n _=*&z:struct_forward_declare::Z [line 58, column 14]\n n$1=_fun_struct_forward_declare::Z::getF(&z:struct_forward_declare::Z&) [line 58, column 14]\n *&return:int=(1 / n$1) [line 58, column 3]\n " shape="box"] "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_2" ; @@ -89,7 +89,7 @@ digraph cfg { "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_3" ; -"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:struct_forward_declare::Z); [line 56, column 3]\n n$2=_fun_struct_forward_declare::Z::Z(&z:struct_forward_declare::Z*) [line 56, column 5]\n EXIT_SCOPE(n$2); [line 56, column 5]\n " shape="box"] +"Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(z:struct_forward_declare::Z); [line 56, column 3]\n n$2=_fun_struct_forward_declare::Z::Z(&z:struct_forward_declare::Z*) [line 56, column 5]\n " shape="box"] "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_5" -> "Z_div0#struct_forward_declare#1627203008264837059.744970cb2a0863ceafbc26504cb09faf_4" ; @@ -100,11 +100,11 @@ digraph cfg { "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_2" [label="2: Exit struct_forward_declare::Z_ptr_div0 \n " color=yellow style=filled] -"Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" [label="3: Return Stmt \n n$0=*&z:struct_forward_declare::Z* [line 66, column 14]\n _=*n$0:struct_forward_declare::Z [line 66, column 14]\n n$2=_fun_struct_forward_declare::Z::getF(n$0:struct_forward_declare::Z*) [line 66, column 14]\n *&return:int=(1 / n$2) [line 66, column 3]\n NULLIFY(&z); [line 66, column 3]\n EXIT_SCOPE(_,n$0,n$2,z); [line 66, column 3]\n APPLY_ABSTRACTION; [line 66, column 3]\n " shape="box"] +"Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" [label="3: Return Stmt \n n$0=*&z:struct_forward_declare::Z* [line 66, column 14]\n _=*n$0:struct_forward_declare::Z [line 66, column 14]\n n$2=_fun_struct_forward_declare::Z::getF(n$0:struct_forward_declare::Z*) [line 66, column 14]\n *&return:int=(1 / n$2) [line 66, column 3]\n " shape="box"] "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" -> "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_2" ; -"Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&z:struct_forward_declare::Z* [line 65, column 3]\n *n$3.f:int=0 [line 65, column 3]\n EXIT_SCOPE(n$3); [line 65, column 3]\n " shape="box"] +"Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_4" [label="4: BinaryOperatorStmt: Assign \n n$3=*&z:struct_forward_declare::Z* [line 65, column 3]\n *n$3.f:int=0 [line 65, column 3]\n " shape="box"] "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_4" -> "Z_ptr_div0#struct_forward_declare(class struct_forward_declare::Z)#18058661690516691263.ce600c6da403f28f2c501df577604772_3" ; @@ -115,7 +115,7 @@ digraph cfg { "fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_2" [label="2: Exit struct_forward_declare::fun_with_Z \n " color=yellow style=filled] -"fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:struct_forward_declare::Z*); [line 24, column 26]\n n$0=*&z1:struct_forward_declare::Z* [line 24, column 34]\n *&z2:struct_forward_declare::Z*=n$0 [line 24, column 26]\n NULLIFY(&z2); [line 24, column 26]\n NULLIFY(&z1); [line 24, column 26]\n EXIT_SCOPE(n$0,z2,z1); [line 24, column 26]\n APPLY_ABSTRACTION; [line 24, column 26]\n " shape="box"] +"fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_3" [label="3: DeclStmt \n VARIABLE_DECLARED(z2:struct_forward_declare::Z*); [line 24, column 26]\n n$0=*&z1:struct_forward_declare::Z* [line 24, column 34]\n *&z2:struct_forward_declare::Z*=n$0 [line 24, column 26]\n " shape="box"] "fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_3" -> "fun_with_Z#struct_forward_declare(class struct_forward_declare::Z)#10740368644462176169.d708d356d0748993ed722a0113d84853_2" ; @@ -126,7 +126,7 @@ digraph cfg { "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_2" [label="2: Exit struct_forward_declare::X::getF \n " color=yellow style=filled] -"getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_3" [label="3: Return Stmt \n n$0=*&this:struct_forward_declare::X* [line 19, column 23]\n n$1=*n$0.f:int [line 19, column 23]\n *&return:int=n$1 [line 19, column 16]\n NULLIFY(&this); [line 19, column 16]\n EXIT_SCOPE(n$0,n$1,this); [line 19, column 16]\n APPLY_ABSTRACTION; [line 19, column 16]\n " shape="box"] +"getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_3" [label="3: Return Stmt \n n$0=*&this:struct_forward_declare::X* [line 19, column 23]\n n$1=*n$0.f:int [line 19, column 23]\n *&return:int=n$1 [line 19, column 16]\n " shape="box"] "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_3" -> "getF#X#struct_forward_declare#(234869530037436282).15dd2207cd05d172845e5598032cd97a_2" ; @@ -144,7 +144,7 @@ digraph cfg { "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_2" [label="2: Exit struct_forward_declare::Z::getF \n " color=yellow style=filled] -"getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_3" [label="3: Return Stmt \n n$0=*&this:struct_forward_declare::Z* [line 28, column 23]\n n$1=*n$0.f:int [line 28, column 23]\n *&return:int=n$1 [line 28, column 16]\n NULLIFY(&this); [line 28, column 16]\n EXIT_SCOPE(n$0,n$1,this); [line 28, column 16]\n APPLY_ABSTRACTION; [line 28, column 16]\n " shape="box"] +"getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_3" [label="3: Return Stmt \n n$0=*&this:struct_forward_declare::Z* [line 28, column 23]\n n$1=*n$0.f:int [line 28, column 23]\n *&return:int=n$1 [line 28, column 16]\n " shape="box"] "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_3" -> "getF#Z#struct_forward_declare#(5569044973946019300).d77d2dfdba7ae36577dff1573b1c79e7_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot index adae1a60c..c3acaf425 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/struct_pass_by_value.cpp.dot @@ -4,18 +4,18 @@ digraph cfg { "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_1" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" ; -"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_2" [label="2: Exit struct_pass_by_value::field_div0 \n NULLIFY(&x); [line 43, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$0); [line 43, column 1]\n NULLIFY(&y); [line 43, column 1]\n " color=yellow style=filled] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_2" [label="2: Exit struct_pass_by_value::field_div0 \n " color=yellow style=filled] -"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&y.x:struct_pass_by_value::X&) [line 42, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 42, column 14]\n *&return:int=(1 / n$2) [line 42, column 3]\n _=*&x:struct_pass_by_value::X [line 42, column 23]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 42, column 23]\n EXIT_SCOPE(_,n$1,n$2,n$4,y,x); [line 42, column 23]\n APPLY_ABSTRACTION; [line 42, column 23]\n " shape="box"] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&y.x:struct_pass_by_value::X&) [line 42, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 42, column 14]\n *&return:int=(1 / n$2) [line 42, column 3]\n _=*&x:struct_pass_by_value::X [line 42, column 23]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 42, column 23]\n " shape="box"] "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_2" ; -"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:struct_pass_by_value::Y); [line 41, column 3]\n n$6=_fun_struct_pass_by_value::Y::Y(&y:struct_pass_by_value::Y*,&x:struct_pass_by_value::X&) [line 41, column 5]\n EXIT_SCOPE(n$6); [line 41, column 5]\n " shape="box"] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:struct_pass_by_value::Y); [line 41, column 3]\n n$6=_fun_struct_pass_by_value::Y::Y(&y:struct_pass_by_value::Y*,&x:struct_pass_by_value::X&) [line 41, column 5]\n " shape="box"] "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_3" ; -"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 40, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 40, column 5]\n EXIT_SCOPE(n$7); [line 40, column 5]\n " shape="box"] +"field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 40, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 40, column 5]\n " shape="box"] "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_5" -> "field_div0#struct_pass_by_value#10739265731582012189.309f906a63458fd1d3c6651d011f1020_4" ; @@ -26,7 +26,7 @@ digraph cfg { "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_2" [label="2: Exit struct_pass_by_value::get_f \n " color=yellow style=filled] -"get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_3" [label="3: Return Stmt \n n$0=*&val:struct_pass_by_value::X& [line 20, column 27]\n n$1=*n$0.f:int [line 20, column 27]\n *&return:int=n$1 [line 20, column 20]\n NULLIFY(&val); [line 20, column 20]\n EXIT_SCOPE(n$0,n$1,val); [line 20, column 20]\n APPLY_ABSTRACTION; [line 20, column 20]\n " shape="box"] +"get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_3" [label="3: Return Stmt \n n$0=*&val:struct_pass_by_value::X& [line 20, column 27]\n n$1=*n$0.f:int [line 20, column 27]\n *&return:int=n$1 [line 20, column 20]\n " shape="box"] "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_3" -> "get_f#struct_pass_by_value#16901161791851138670.e181cdd22ed5b9b12bfb0f726d36256b_2" ; @@ -34,18 +34,18 @@ digraph cfg { "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_1" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" ; -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_2" [label="2: Exit struct_pass_by_value::param_get_copied_div0 \n NULLIFY(&x); [line 49, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$4); [line 49, column 1]\n " color=yellow style=filled] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_2" [label="2: Exit struct_pass_by_value::param_get_copied_div0 \n " color=yellow style=filled] -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 48, column 14]\n *&return:int=(1 / n$0) [line 48, column 3]\n _=*&x:struct_pass_by_value::X [line 48, column 16]\n n$2=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 48, column 16]\n EXIT_SCOPE(_,n$0,n$2,x); [line 48, column 16]\n APPLY_ABSTRACTION; [line 48, column 16]\n " shape="box"] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 48, column 14]\n *&return:int=(1 / n$0) [line 48, column 3]\n _=*&x:struct_pass_by_value::X [line 48, column 16]\n n$2=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 48, column 16]\n " shape="box"] "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_2" ; -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" [label="4: Call _fun_struct_pass_by_value::set_f \n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 47, column 9]\n n$6=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X,1:int) [line 47, column 3]\n EXIT_SCOPE(n$5,n$6); [line 47, column 3]\n " shape="box"] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" [label="4: Call _fun_struct_pass_by_value::set_f \n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 47, column 9]\n n$6=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X,1:int) [line 47, column 3]\n " shape="box"] "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_3" ; -"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 46, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 46, column 5]\n EXIT_SCOPE(n$7); [line 46, column 5]\n " shape="box"] +"param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 46, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 46, column 5]\n " shape="box"] "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_5" -> "param_get_copied_div0#struct_pass_by_value#5422600122206315156.a9ecc5bcf15beb35ee10b7d5c038ad8e_4" ; @@ -53,18 +53,18 @@ digraph cfg { "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_1" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" ; -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_2" [label="2: Exit struct_pass_by_value::param_get_copied_div1 \n NULLIFY(&0$?%__sil_tmp__temp_construct_n$4); [line 55, column 1]\n NULLIFY(&x); [line 55, column 1]\n " color=yellow style=filled] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_2" [label="2: Exit struct_pass_by_value::param_get_copied_div1 \n " color=yellow style=filled] -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 54, column 14]\n *&return:int=(1 / n$0) [line 54, column 3]\n _=*&x:struct_pass_by_value::X [line 54, column 16]\n n$2=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 54, column 16]\n EXIT_SCOPE(_,n$0,n$2,x); [line 54, column 16]\n APPLY_ABSTRACTION; [line 54, column 16]\n " shape="box"] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" [label="3: Return Stmt \n n$0=*&x.f:int [line 54, column 14]\n *&return:int=(1 / n$0) [line 54, column 3]\n _=*&x:struct_pass_by_value::X [line 54, column 16]\n n$2=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 54, column 16]\n " shape="box"] "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_2" ; -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" [label="4: Call _fun_struct_pass_by_value::set_f \n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 53, column 9]\n n$6=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X,0:int) [line 53, column 3]\n EXIT_SCOPE(n$5,n$6); [line 53, column 3]\n " shape="box"] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" [label="4: Call _fun_struct_pass_by_value::set_f \n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 53, column 9]\n n$6=_fun_struct_pass_by_value::set_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X,0:int) [line 53, column 3]\n " shape="box"] "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_3" ; -"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 52, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,1:int) [line 52, column 5]\n EXIT_SCOPE(n$7); [line 52, column 5]\n " shape="box"] +"param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 52, column 3]\n n$7=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,1:int) [line 52, column 5]\n " shape="box"] "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_5" -> "param_get_copied_div1#struct_pass_by_value#4678038335560999331.58ffd03114defd7dfa2ce1d8e7c84b46_4" ; @@ -75,7 +75,7 @@ digraph cfg { "set_f#struct_pass_by_value#449985082730240817.3244dc0de9a72d4ec2d03e236d94d06e_2" [label="2: Exit struct_pass_by_value::set_f \n " color=yellow style=filled] -"set_f#struct_pass_by_value#449985082730240817.3244dc0de9a72d4ec2d03e236d94d06e_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&val:struct_pass_by_value::X& [line 23, column 28]\n n$1=*&f:int [line 23, column 36]\n *n$0.f:int=n$1 [line 23, column 28]\n NULLIFY(&f); [line 23, column 28]\n NULLIFY(&val); [line 23, column 28]\n EXIT_SCOPE(n$0,n$1,f,val); [line 23, column 28]\n APPLY_ABSTRACTION; [line 23, column 28]\n " shape="box"] +"set_f#struct_pass_by_value#449985082730240817.3244dc0de9a72d4ec2d03e236d94d06e_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&val:struct_pass_by_value::X& [line 23, column 28]\n n$1=*&f:int [line 23, column 36]\n *n$0.f:int=n$1 [line 23, column 28]\n " shape="box"] "set_f#struct_pass_by_value#449985082730240817.3244dc0de9a72d4ec2d03e236d94d06e_3" -> "set_f#struct_pass_by_value#449985082730240817.3244dc0de9a72d4ec2d03e236d94d06e_2" ; @@ -83,10 +83,10 @@ digraph cfg { "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_1" -> "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" ; -"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_2" [label="2: Exit struct_pass_by_value::temp_div0 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 43]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$4); [line 35, column 43]\n " color=yellow style=filled] +"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_2" [label="2: Exit struct_pass_by_value::temp_div0 \n " color=yellow style=filled] -"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X); [line 35, column 36]\n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*,0:int) [line 35, column 36]\n n$6=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X&) [line 35, column 36]\n n$7=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X) [line 35, column 30]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X [line 35, column 40]\n n$2=_fun_struct_pass_by_value::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*) injected [line 35, column 40]\n *&return:int=(1 / n$7) [line 35, column 19]\n EXIT_SCOPE(_,n$2,n$5,n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 35, column 19]\n APPLY_ABSTRACTION; [line 35, column 19]\n " shape="box"] +"temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X); [line 35, column 36]\n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*,0:int) [line 35, column 36]\n n$6=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X&) [line 35, column 36]\n n$7=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X) [line 35, column 30]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X [line 35, column 40]\n n$2=_fun_struct_pass_by_value::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*) injected [line 35, column 40]\n *&return:int=(1 / n$7) [line 35, column 19]\n " shape="box"] "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_3" -> "temp_div0#struct_pass_by_value#12428807554484697371.c8fca64e841f1b138c802c96104d913c_2" ; @@ -94,10 +94,10 @@ digraph cfg { "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_1" -> "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" ; -"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_2" [label="2: Exit struct_pass_by_value::temp_div1 \n NULLIFY(&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 37, column 43]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$4); [line 37, column 43]\n " color=yellow style=filled] +"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_2" [label="2: Exit struct_pass_by_value::temp_div1 \n " color=yellow style=filled] -"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X); [line 37, column 36]\n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*,1:int) [line 37, column 36]\n n$6=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X&) [line 37, column 36]\n n$7=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X) [line 37, column 30]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X [line 37, column 40]\n n$2=_fun_struct_pass_by_value::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*) injected [line 37, column 40]\n *&return:int=(1 / n$7) [line 37, column 19]\n EXIT_SCOPE(_,n$2,n$5,n$6,n$7,0$?%__sil_tmpSIL_materialize_temp__n$0); [line 37, column 19]\n APPLY_ABSTRACTION; [line 37, column 19]\n " shape="box"] +"temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" [label="3: Return Stmt \n VARIABLE_DECLARED(0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X); [line 37, column 36]\n n$5=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*,1:int) [line 37, column 36]\n n$6=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X*,&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X&) [line 37, column 36]\n n$7=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$4:struct_pass_by_value::X) [line 37, column 30]\n _=*&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X [line 37, column 40]\n n$2=_fun_struct_pass_by_value::X::~X(&0$?%__sil_tmpSIL_materialize_temp__n$0:struct_pass_by_value::X*) injected [line 37, column 40]\n *&return:int=(1 / n$7) [line 37, column 19]\n " shape="box"] "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_3" -> "temp_div1#struct_pass_by_value#13173334156757910444.11618e43948d09c7324724af84bc0d5b_2" ; @@ -105,14 +105,14 @@ digraph cfg { "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_1" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" ; -"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_2" [label="2: Exit struct_pass_by_value::var_div0 \n NULLIFY(&0$?%__sil_tmp__temp_construct_n$0); [line 28, column 1]\n NULLIFY(&x); [line 28, column 1]\n " color=yellow style=filled] +"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_2" [label="2: Exit struct_pass_by_value::var_div0 \n " color=yellow style=filled] -"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 27, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 27, column 14]\n *&return:int=(1 / n$2) [line 27, column 3]\n _=*&x:struct_pass_by_value::X [line 27, column 21]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 27, column 21]\n EXIT_SCOPE(_,n$1,n$2,n$4,x); [line 27, column 21]\n APPLY_ABSTRACTION; [line 27, column 21]\n " shape="box"] +"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 27, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 27, column 14]\n *&return:int=(1 / n$2) [line 27, column 3]\n _=*&x:struct_pass_by_value::X [line 27, column 21]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 27, column 21]\n " shape="box"] "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_2" ; -"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 26, column 3]\n n$6=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 26, column 5]\n EXIT_SCOPE(n$6); [line 26, column 5]\n " shape="box"] +"var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 26, column 3]\n n$6=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,0:int) [line 26, column 5]\n " shape="box"] "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_4" -> "var_div0#struct_pass_by_value#10764880494979445665.44da929aedf0cdc1afaea064cb399051_3" ; @@ -120,14 +120,14 @@ digraph cfg { "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_1" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" ; -"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_2" [label="2: Exit struct_pass_by_value::var_div1 \n NULLIFY(&x); [line 33, column 1]\n NULLIFY(&0$?%__sil_tmp__temp_construct_n$0); [line 33, column 1]\n " color=yellow style=filled] +"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_2" [label="2: Exit struct_pass_by_value::var_div1 \n " color=yellow style=filled] -"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 32, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 32, column 14]\n *&return:int=(1 / n$2) [line 32, column 3]\n _=*&x:struct_pass_by_value::X [line 32, column 21]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 32, column 21]\n EXIT_SCOPE(_,n$1,n$2,n$4,x); [line 32, column 21]\n APPLY_ABSTRACTION; [line 32, column 21]\n " shape="box"] +"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" [label="3: Return Stmt \n n$1=_fun_struct_pass_by_value::X::X(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X*,&x:struct_pass_by_value::X&) [line 32, column 20]\n n$2=_fun_struct_pass_by_value::get_f(&0$?%__sil_tmp__temp_construct_n$0:struct_pass_by_value::X) [line 32, column 14]\n *&return:int=(1 / n$2) [line 32, column 3]\n _=*&x:struct_pass_by_value::X [line 32, column 21]\n n$4=_fun_struct_pass_by_value::X::~X(&x:struct_pass_by_value::X*) injected [line 32, column 21]\n " shape="box"] "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_2" ; -"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 31, column 3]\n n$6=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,1:int) [line 31, column 5]\n EXIT_SCOPE(n$6); [line 31, column 5]\n " shape="box"] +"var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:struct_pass_by_value::X); [line 31, column 3]\n n$6=_fun_struct_pass_by_value::X::X(&x:struct_pass_by_value::X*,1:int) [line 31, column 5]\n " shape="box"] "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_4" -> "var_div1#struct_pass_by_value#11501824865066029482.b667f3a6d8153cf4e571282bd064fc22_3" ; @@ -138,7 +138,7 @@ digraph cfg { "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_2" [label="2: Exit struct_pass_by_value::X::X \n " color=yellow style=filled] -"X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 12, column 14]\n n$2=*&f:int [line 12, column 16]\n *n$1.f:int=n$2 [line 12, column 14]\n NULLIFY(&f); [line 12, column 14]\n NULLIFY(&this); [line 12, column 14]\n EXIT_SCOPE(n$1,n$2,f,this); [line 12, column 14]\n APPLY_ABSTRACTION; [line 12, column 14]\n " shape="box"] +"X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 12, column 14]\n n$2=*&f:int [line 12, column 16]\n *n$1.f:int=n$2 [line 12, column 14]\n " shape="box"] "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_3" -> "X#X#struct_pass_by_value#{11203369373673859396}.cf8c3ea98f014a538f7f90e4593e75eb_2" ; @@ -149,7 +149,7 @@ digraph cfg { "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_2" [label="2: Exit struct_pass_by_value::X::X \n " color=yellow style=filled] -"X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 10, column 8]\n n$2=*&__param_0:struct_pass_by_value::X& [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n NULLIFY(&this); [line 10, column 8]\n NULLIFY(&__param_0); [line 10, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 10, column 8]\n n$2=*&__param_0:struct_pass_by_value::X& [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n " shape="box"] "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_3" -> "X#X#struct_pass_by_value#{8495470270182220238|constexpr}.ea3fe0be489de1d7a9283f9ea7d8899f_2" ; @@ -160,7 +160,7 @@ digraph cfg { "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_2" [label="2: Exit struct_pass_by_value::X::X \n " color=yellow style=filled] -"X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 10, column 8]\n n$2=*&__param_0:struct_pass_by_value::X const & [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n NULLIFY(&this); [line 10, column 8]\n NULLIFY(&__param_0); [line 10, column 8]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 10, column 8]\n APPLY_ABSTRACTION; [line 10, column 8]\n " shape="box"] +"X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::X* [line 10, column 8]\n n$2=*&__param_0:struct_pass_by_value::X const & [line 10, column 8]\n n$3=*n$2.f:int [line 10, column 8]\n *n$1.f:int=n$3 [line 10, column 8]\n " shape="box"] "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_3" -> "X#X#struct_pass_by_value#{9755652315089766298|constexpr}.81acc1c263466d84e0cc912cd1d47b28_2" ; @@ -171,7 +171,7 @@ digraph cfg { "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_2" [label="2: Exit struct_pass_by_value::Y::Y \n " color=yellow style=filled] -"Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::Y* [line 16, column 19]\n n$2=*&x:struct_pass_by_value::X const & [line 16, column 21]\n n$3=_fun_struct_pass_by_value::X::X(n$1.x:struct_pass_by_value::X*,n$2:struct_pass_by_value::X const &) [line 16, column 19]\n NULLIFY(&x); [line 16, column 19]\n NULLIFY(&this); [line 16, column 19]\n EXIT_SCOPE(n$1,n$2,n$3,x,this); [line 16, column 19]\n APPLY_ABSTRACTION; [line 16, column 19]\n " shape="box"] +"Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" [label="3: Constructor Init \n n$1=*&this:struct_pass_by_value::Y* [line 16, column 19]\n n$2=*&x:struct_pass_by_value::X const & [line 16, column 21]\n n$3=_fun_struct_pass_by_value::X::X(n$1.x:struct_pass_by_value::X*,n$2:struct_pass_by_value::X const &) [line 16, column 19]\n " shape="box"] "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_3" -> "Y#Y#struct_pass_by_value#{2591422873810003675}.4cc6400ed3a8bedc19c95b6ea1876631_2" ; diff --git a/infer/tests/codetoanalyze/cpp/shared/types/type_trait_expr.cpp.dot b/infer/tests/codetoanalyze/cpp/shared/types/type_trait_expr.cpp.dot index bc8a0f589..e5dd77bbf 100644 --- a/infer/tests/codetoanalyze/cpp/shared/types/type_trait_expr.cpp.dot +++ b/infer/tests/codetoanalyze/cpp/shared/types/type_trait_expr.cpp.dot @@ -7,7 +7,7 @@ digraph cfg { "is_pointer_example#993450452211025736.0084d63d3d455165560d25605d8a30c1_2" [label="2: Exit is_pointer_example \n " color=yellow style=filled] -"is_pointer_example#993450452211025736.0084d63d3d455165560d25605d8a30c1_3" [label="3: Return Stmt \n *&return:int=0 [line 10, column 28]\n APPLY_ABSTRACTION; [line 10, column 28]\n " shape="box"] +"is_pointer_example#993450452211025736.0084d63d3d455165560d25605d8a30c1_3" [label="3: Return Stmt \n *&return:int=0 [line 10, column 28]\n " shape="box"] "is_pointer_example#993450452211025736.0084d63d3d455165560d25605d8a30c1_3" -> "is_pointer_example#993450452211025736.0084d63d3d455165560d25605d8a30c1_2" ; @@ -18,7 +18,7 @@ digraph cfg { "is_trivial_example#10742835098923825644.8d15716e7ef1310064fb1fe16e18181f_2" [label="2: Exit is_trivial_example \n " color=yellow style=filled] -"is_trivial_example#10742835098923825644.8d15716e7ef1310064fb1fe16e18181f_3" [label="3: Return Stmt \n *&return:int=1 [line 8, column 28]\n APPLY_ABSTRACTION; [line 8, column 28]\n " shape="box"] +"is_trivial_example#10742835098923825644.8d15716e7ef1310064fb1fe16e18181f_3" [label="3: Return Stmt \n *&return:int=1 [line 8, column 28]\n " shape="box"] "is_trivial_example#10742835098923825644.8d15716e7ef1310064fb1fe16e18181f_3" -> "is_trivial_example#10742835098923825644.8d15716e7ef1310064fb1fe16e18181f_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot index 479b8e53f..8e13e9b37 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/retain_cycle.m.dot @@ -7,11 +7,11 @@ digraph cfg { "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" [label="2: Exit foo \n " color=yellow style=filled] -"foo.acbd18db4cc2f85cedef654fccc4a4d8_3" [label="3: Return Stmt \n n$0=*&a:A* [line 56, column 10]\n *&return:A*=n$0 [line 56, column 3]\n NULLIFY(&a); [line 56, column 3]\n EXIT_SCOPE(n$0,a); [line 56, column 3]\n APPLY_ABSTRACTION; [line 56, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_3" [label="3: Return Stmt \n n$0=*&a:A* [line 56, column 10]\n *&return:A*=n$0 [line 56, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_2" ; -"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Message Call: capture \n n$1=*&a:A* [line 54, column 4]\n n$2=_fun_A::capture(n$1:A*) virtual [line 54, column 3]\n EXIT_SCOPE(n$1,n$2); [line 54, column 3]\n " shape="box"] +"foo.acbd18db4cc2f85cedef654fccc4a4d8_4" [label="4: Message Call: capture \n n$1=*&a:A* [line 54, column 4]\n n$2=_fun_A::capture(n$1:A*) virtual [line 54, column 3]\n " shape="box"] "foo.acbd18db4cc2f85cedef654fccc4a4d8_4" -> "foo.acbd18db4cc2f85cedef654fccc4a4d8_3" ; @@ -22,15 +22,15 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 65, column 3]\n APPLY_ABSTRACTION; [line 65, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 65, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:A* [line 63, column 11]\n n$1=_fun_foo(n$0:A*) [line 63, column 7]\n *&a:A*=n$1 [line 63, column 3]\n NULLIFY(&a); [line 63, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 63, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:A* [line 63, column 11]\n n$1=_fun_foo(n$0:A*) [line 63, column 7]\n *&a:A*=n$1 [line 63, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:A*); [line 61, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 61, column 10]\n *&a:A*=n$2 [line 61, column 3]\n EXIT_SCOPE(n$2); [line 61, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:A*); [line 61, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 61, column 10]\n *&a:A*=n$2 [line 61, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; @@ -41,7 +41,7 @@ digraph cfg { "objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_2" [label="2: Exit objc_blockA::capture_1 \n " color=yellow style=filled] -"objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&self:A* [line 46, column 5]\n n$2=*&d:D* [line 46, column 13]\n *n$1._data:D*=n$2 [line 46, column 5]\n NULLIFY(&d); [line 46, column 5]\n NULLIFY(&self); [line 46, column 5]\n EXIT_SCOPE(n$1,n$2,d,self); [line 46, column 5]\n APPLY_ABSTRACTION; [line 46, column 5]\n " shape="box"] +"objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_3" [label="3: BinaryOperatorStmt: Assign \n n$1=*&self:A* [line 46, column 5]\n n$2=*&d:D* [line 46, column 13]\n *n$1._data:D*=n$2 [line 46, column 5]\n " shape="box"] "objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_3" -> "objc_blockA::capture_1(class A,class D).98932872e1ea0076b1d26d1353afdc23_2" ; @@ -52,11 +52,11 @@ digraph cfg { "capture#A#instance.d411336575e4bf632a1828f5f5979726_2" [label="2: Exit A::capture \n " color=yellow style=filled] -"capture#A#instance.d411336575e4bf632a1828f5f5979726_3" [label="3: Message Call: sHandler: \n n$3=*&self:A* [line 45, column 4]\n n$4=*n$3._b:B* [line 45, column 4]\n n$0=*&self:A* [line 45, column 16]\n n$5=_fun_B::sHandler:(n$4:B*,(_fun_objc_blockA::capture_1,(n$0 &self:A*)):_fn_(*)) block_params virtual [line 45, column 3]\n NULLIFY(&self); [line 45, column 3]\n EXIT_SCOPE(n$0,n$3,n$4,n$5,self); [line 45, column 3]\n APPLY_ABSTRACTION; [line 45, column 3]\n " shape="box"] +"capture#A#instance.d411336575e4bf632a1828f5f5979726_3" [label="3: Message Call: sHandler: \n n$3=*&self:A* [line 45, column 4]\n n$4=*n$3._b:B* [line 45, column 4]\n n$0=*&self:A* [line 45, column 16]\n n$5=_fun_B::sHandler:(n$4:B*,(_fun_objc_blockA::capture_1,(n$0 &self:A*)):_fn_(*)) block_params virtual [line 45, column 3]\n " shape="box"] "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_2" ; -"capture#A#instance.d411336575e4bf632a1828f5f5979726_4" [label="4: BinaryOperatorStmt: Assign \n n$6=*&self:A* [line 44, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 44, column 8]\n *n$6._b:B*=n$7 [line 44, column 3]\n EXIT_SCOPE(n$6,n$7); [line 44, column 3]\n " shape="box"] +"capture#A#instance.d411336575e4bf632a1828f5f5979726_4" [label="4: BinaryOperatorStmt: Assign \n n$6=*&self:A* [line 44, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 44, column 8]\n *n$6._b:B*=n$7 [line 44, column 3]\n " shape="box"] "capture#A#instance.d411336575e4bf632a1828f5f5979726_4" -> "capture#A#instance.d411336575e4bf632a1828f5f5979726_3" ; @@ -67,7 +67,7 @@ digraph cfg { "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_2" [label="2: Exit B::sHandler: \n " color=yellow style=filled] -"sHandler:#B#instance.590685250eb38eaab242405cd45c572b_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&self:B* [line 28, column 3]\n n$1=*&h:_fn_(*) [line 28, column 14]\n *n$0._h:_fn_(*)=n$1 [line 28, column 3]\n NULLIFY(&self); [line 28, column 3]\n NULLIFY(&h); [line 28, column 3]\n EXIT_SCOPE(n$0,n$1,self,h); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"sHandler:#B#instance.590685250eb38eaab242405cd45c572b_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&self:B* [line 28, column 3]\n n$1=*&h:_fn_(*) [line 28, column 14]\n *n$0._h:_fn_(*)=n$1 [line 28, column 3]\n " shape="box"] "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_3" -> "sHandler:#B#instance.590685250eb38eaab242405cd45c572b_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot index 8cc0ec931..95db86384 100644 --- a/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/block/static.m.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 58, column 42]\n APPLY_ABSTRACTION; [line 58, column 42]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 58, column 42]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -18,7 +18,7 @@ digraph cfg { "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_2" [label="2: Exit objc_blockA::test2_3 \n " color=yellow style=filled] -"objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:objc_object*); [line 39, column 5]\n n$8=*&#GB$A::test2.sharedInstance:objc_object* [line 39, column 12]\n *&p:objc_object*=n$8 [line 39, column 5]\n NULLIFY(&p); [line 39, column 5]\n EXIT_SCOPE(n$8,p); [line 39, column 5]\n APPLY_ABSTRACTION; [line 39, column 5]\n " shape="box"] +"objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" [label="3: DeclStmt \n VARIABLE_DECLARED(p:objc_object*); [line 39, column 5]\n n$8=*&#GB$A::test2.sharedInstance:objc_object* [line 39, column 12]\n *&p:objc_object*=n$8 [line 39, column 5]\n " shape="box"] "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_3" -> "objc_blockA::test2_3.fb3c77086d19ce0276bcab02dc4db00b_2" ; @@ -29,7 +29,7 @@ digraph cfg { "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_2" [label="2: Exit objc_blockA::test3_4 \n " color=yellow style=filled] -"objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_3" [label="3: UnaryOperator \n n$13=*&#GB$A::test3.i:int [line 50, column 5]\n *&#GB$A::test3.i:int=(n$13 + 1) [line 50, column 5]\n EXIT_SCOPE(n$13); [line 50, column 5]\n APPLY_ABSTRACTION; [line 50, column 5]\n " shape="box"] +"objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_3" [label="3: UnaryOperator \n n$13=*&#GB$A::test3.i:int [line 50, column 5]\n *&#GB$A::test3.i:int=(n$13 + 1) [line 50, column 5]\n " shape="box"] "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_3" -> "objc_blockA::test3_4.8f7c09c3ce64c2617cc0a9977490e152_2" ; @@ -40,7 +40,7 @@ digraph cfg { "objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_2" [label="2: Exit objc_blockA::test_1 \n " color=yellow style=filled] -"objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 19, column 23]\n n$2=_fun_NSObject::init(n$1:A*) virtual [line 19, column 22]\n *&#GB$A::test.sharedInstance:objc_object*=n$2 [line 19, column 5]\n EXIT_SCOPE(n$1,n$2); [line 19, column 5]\n APPLY_ABSTRACTION; [line 19, column 5]\n " shape="box"] +"objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 19, column 23]\n n$2=_fun_NSObject::init(n$1:A*) virtual [line 19, column 22]\n *&#GB$A::test.sharedInstance:objc_object*=n$2 [line 19, column 5]\n " shape="box"] "objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_3" -> "objc_blockA::test_1.2002c886c49fdecdc4bf7a72fba954ba_2" ; @@ -51,7 +51,7 @@ digraph cfg { "objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_2" [label="2: Exit objc_blockA::test_leak_2 \n " color=yellow style=filled] -"objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_3" [label="3: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 29, column 23]\n n$5=_fun_NSObject::init(n$4:A*) virtual [line 29, column 22]\n *&#GB$A::test_leak.sharedInstance:objc_object*=n$5 [line 29, column 5]\n EXIT_SCOPE(n$4,n$5); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] +"objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_3" [label="3: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 29, column 23]\n n$5=_fun_NSObject::init(n$4:A*) virtual [line 29, column 22]\n *&#GB$A::test_leak.sharedInstance:objc_object*=n$5 [line 29, column 5]\n " shape="box"] "objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_3" -> "objc_blockA::test_leak_2.5f4f71e062f7fac0ae4a5b163d676189_2" ; @@ -62,11 +62,11 @@ digraph cfg { "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_2" [label="2: Exit A::test \n " color=yellow style=filled] -"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" [label="3: Return Stmt \n n$0=*&#GB$A::test.sharedInstance:objc_object* [line 23, column 10]\n *&return:objc_object*=n$0 [line 23, column 3]\n EXIT_SCOPE(n$0); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" [label="3: Return Stmt \n n$0=*&#GB$A::test.sharedInstance:objc_object* [line 23, column 10]\n *&return:objc_object*=n$0 [line 23, column 3]\n " shape="box"] "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_2" ; -"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" [label="4: Call (_fun_objc_blockA::test_1) \n n$3=(_fun_objc_blockA::test_1)() [line 18, column 3]\n EXIT_SCOPE(n$3); [line 18, column 3]\n " shape="box"] +"test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" [label="4: Call (_fun_objc_blockA::test_1) \n n$3=(_fun_objc_blockA::test_1)() [line 18, column 3]\n " shape="box"] "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_4" -> "test#A#class.c69ae9e6be36a2eeb5dcbaa1187c354d_3" ; @@ -77,15 +77,15 @@ digraph cfg { "test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" [label="2: Exit A::test2 \n " color=yellow style=filled] -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" [label="3: Return Stmt \n n$7=*&#GB$A::test2.sharedInstance:objc_object* [line 42, column 10]\n *&return:objc_object*=n$7 [line 42, column 3]\n EXIT_SCOPE(n$7); [line 42, column 3]\n APPLY_ABSTRACTION; [line 42, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" [label="3: Return Stmt \n n$7=*&#GB$A::test2.sharedInstance:objc_object* [line 42, column 10]\n *&return:objc_object*=n$7 [line 42, column 3]\n " shape="box"] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_2" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" [label="4: Call (_fun_objc_blockA::test2_3) \n n$9=(_fun_objc_blockA::test2_3)() [line 37, column 3]\n EXIT_SCOPE(n$9); [line 37, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" [label="4: Call (_fun_objc_blockA::test2_3) \n n$9=(_fun_objc_blockA::test2_3)() [line 37, column 3]\n " shape="box"] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_3" ; -"test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" [label="5: BinaryOperatorStmt: Assign \n n$10=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 36, column 21]\n n$11=_fun_NSObject::init(n$10:A*) virtual [line 36, column 20]\n *&#GB$A::test2.sharedInstance:objc_object*=n$11 [line 36, column 3]\n EXIT_SCOPE(n$10,n$11); [line 36, column 3]\n " shape="box"] +"test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" [label="5: BinaryOperatorStmt: Assign \n n$10=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 36, column 21]\n n$11=_fun_NSObject::init(n$10:A*) virtual [line 36, column 20]\n *&#GB$A::test2.sharedInstance:objc_object*=n$11 [line 36, column 3]\n " shape="box"] "test2#A#class.ce50cb13c3345decc567dd4eb6124604_5" -> "test2#A#class.ce50cb13c3345decc567dd4eb6124604_4" ; @@ -96,11 +96,11 @@ digraph cfg { "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_2" [label="2: Exit A::test3 \n " color=yellow style=filled] -"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" [label="3: Return Stmt \n n$12=*&#GB$A::test3.i:int [line 53, column 10]\n *&return:int=n$12 [line 53, column 3]\n EXIT_SCOPE(n$12); [line 53, column 3]\n APPLY_ABSTRACTION; [line 53, column 3]\n " shape="box"] +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" [label="3: Return Stmt \n n$12=*&#GB$A::test3.i:int [line 53, column 10]\n *&return:int=n$12 [line 53, column 3]\n " shape="box"] "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_2" ; -"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" [label="4: Call (_fun_objc_blockA::test3_4) \n n$14=(_fun_objc_blockA::test3_4)() [line 48, column 3]\n EXIT_SCOPE(n$14); [line 48, column 3]\n " shape="box"] +"test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" [label="4: Call (_fun_objc_blockA::test3_4) \n n$14=(_fun_objc_blockA::test3_4)() [line 48, column 3]\n " shape="box"] "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_4" -> "test3#A#class.041e0eaf033ae8cfa2af48253dfb07ee_3" ; @@ -111,7 +111,7 @@ digraph cfg { "test_leak#A#class.8240788aa53244827857be0e92d27671_2" [label="2: Exit A::test_leak \n " color=yellow style=filled] -"test_leak#A#class.8240788aa53244827857be0e92d27671_3" [label="3: Call (_fun_objc_blockA::test_leak_2) \n n$6=(_fun_objc_blockA::test_leak_2)() [line 28, column 3]\n EXIT_SCOPE(n$6); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"test_leak#A#class.8240788aa53244827857be0e92d27671_3" [label="3: Call (_fun_objc_blockA::test_leak_2) \n n$6=(_fun_objc_blockA::test_leak_2)() [line 28, column 3]\n " shape="box"] "test_leak#A#class.8240788aa53244827857be0e92d27671_3" -> "test_leak#A#class.8240788aa53244827857be0e92d27671_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot index 11ae8dc42..00ac8b8e9 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/Boxing.m.dot @@ -7,11 +7,11 @@ digraph cfg { "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" [label="2: Exit Boxing::getBool \n " color=yellow style=filled] -"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" [label="3: Return Stmt \n n$12=_fun_NSNumber::numberWithBool:(1:_Bool) [line 36, column 10]\n *&return:NSNumber*=n$12 [line 36, column 3]\n EXIT_SCOPE(n$12); [line 36, column 3]\n APPLY_ABSTRACTION; [line 36, column 3]\n " shape="box"] +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" [label="3: Return Stmt \n n$12=_fun_NSNumber::numberWithBool:(1:_Bool) [line 36, column 10]\n *&return:NSNumber*=n$12 [line 36, column 3]\n " shape="box"] "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_2" ; -"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 35, column 3]\n n$13=_fun_NSNumber::numberWithBool:(1:_Bool) [line 35, column 17]\n *&n:NSNumber*=n$13 [line 35, column 3]\n NULLIFY(&n); [line 35, column 3]\n EXIT_SCOPE(n$13,n); [line 35, column 3]\n " shape="box"] +"getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 35, column 3]\n n$13=_fun_NSNumber::numberWithBool:(1:_Bool) [line 35, column 17]\n *&n:NSNumber*=n$13 [line 35, column 3]\n " shape="box"] "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_4" -> "getBool#Boxing#instance.3315ec58788820860ec4adc889dd7197_3" ; @@ -22,11 +22,11 @@ digraph cfg { "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_2" [label="2: Exit Boxing::getDouble \n " color=yellow style=filled] -"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" [label="3: Return Stmt \n n$10=_fun_NSNumber::numberWithDouble:(1.5:double) [line 31, column 10]\n *&return:NSNumber*=n$10 [line 31, column 3]\n EXIT_SCOPE(n$10); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" [label="3: Return Stmt \n n$10=_fun_NSNumber::numberWithDouble:(1.5:double) [line 31, column 10]\n *&return:NSNumber*=n$10 [line 31, column 3]\n " shape="box"] "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_2" ; -"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 30, column 3]\n n$11=_fun_NSNumber::numberWithDouble:(1.5:double) [line 30, column 17]\n *&n:NSNumber*=n$11 [line 30, column 3]\n NULLIFY(&n); [line 30, column 3]\n EXIT_SCOPE(n$11,n); [line 30, column 3]\n " shape="box"] +"getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 30, column 3]\n n$11=_fun_NSNumber::numberWithDouble:(1.5:double) [line 30, column 17]\n *&n:NSNumber*=n$11 [line 30, column 3]\n " shape="box"] "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_4" -> "getDouble#Boxing#instance.d2ccf367cc9eb4c0b5e345694f262070_3" ; @@ -37,11 +37,11 @@ digraph cfg { "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" [label="2: Exit Boxing::getFloat \n " color=yellow style=filled] -"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" [label="3: Return Stmt \n n$8=_fun_NSNumber::numberWithFloat:(1.5:float) [line 26, column 10]\n *&return:NSNumber*=n$8 [line 26, column 3]\n EXIT_SCOPE(n$8); [line 26, column 3]\n APPLY_ABSTRACTION; [line 26, column 3]\n " shape="box"] +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" [label="3: Return Stmt \n n$8=_fun_NSNumber::numberWithFloat:(1.5:float) [line 26, column 10]\n *&return:NSNumber*=n$8 [line 26, column 3]\n " shape="box"] "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_2" ; -"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 25, column 3]\n n$9=_fun_NSNumber::numberWithFloat:(1.5:float) [line 25, column 17]\n *&n:NSNumber*=n$9 [line 25, column 3]\n NULLIFY(&n); [line 25, column 3]\n EXIT_SCOPE(n$9,n); [line 25, column 3]\n " shape="box"] +"getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 25, column 3]\n n$9=_fun_NSNumber::numberWithFloat:(1.5:float) [line 25, column 17]\n *&n:NSNumber*=n$9 [line 25, column 3]\n " shape="box"] "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_4" -> "getFloat#Boxing#instance.3de027274316c0cdfd230c6dbd0333a0_3" ; @@ -52,11 +52,11 @@ digraph cfg { "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_2" [label="2: Exit Boxing::getInt \n " color=yellow style=filled] -"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" [label="3: Return Stmt \n n$6=_fun_NSNumber::numberWithInt:(5:int) [line 21, column 10]\n *&return:NSNumber*=n$6 [line 21, column 3]\n EXIT_SCOPE(n$6); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" [label="3: Return Stmt \n n$6=_fun_NSNumber::numberWithInt:(5:int) [line 21, column 10]\n *&return:NSNumber*=n$6 [line 21, column 3]\n " shape="box"] "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_2" ; -"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 20, column 3]\n n$7=_fun_NSNumber::numberWithInt:(5:int) [line 20, column 17]\n *&n:NSNumber*=n$7 [line 20, column 3]\n NULLIFY(&n); [line 20, column 3]\n EXIT_SCOPE(n$7,n); [line 20, column 3]\n " shape="box"] +"getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 20, column 3]\n n$7=_fun_NSNumber::numberWithInt:(5:int) [line 20, column 17]\n *&n:NSNumber*=n$7 [line 20, column 3]\n " shape="box"] "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_4" -> "getInt#Boxing#instance.6b1205ea87bb285944ca74c0597dcf85_3" ; @@ -67,11 +67,11 @@ digraph cfg { "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" [label="2: Exit Boxing::getIntExp \n " color=yellow style=filled] -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" [label="3: Return Stmt \n n$0=*&x:int [line 16, column 12]\n n$1=*&y:int [line 16, column 16]\n n$2=_fun_NSNumber::numberWithInt:((n$0 + n$1):int) [line 16, column 10]\n *&return:NSNumber*=n$2 [line 16, column 3]\n NULLIFY(&x); [line 16, column 3]\n NULLIFY(&y); [line 16, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,x,y); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" [label="3: Return Stmt \n n$0=*&x:int [line 16, column 12]\n n$1=*&y:int [line 16, column 16]\n n$2=_fun_NSNumber::numberWithInt:((n$0 + n$1):int) [line 16, column 10]\n *&return:NSNumber*=n$2 [line 16, column 3]\n " shape="box"] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_2" ; -"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 15, column 3]\n n$3=*&x:int [line 15, column 41]\n n$4=*&y:int [line 15, column 45]\n n$5=_fun_NSNumber::numberWithInt:((n$3 + n$4):int) [line 15, column 17]\n *&n:NSNumber*=n$5 [line 15, column 3]\n NULLIFY(&n); [line 15, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,n); [line 15, column 3]\n " shape="box"] +"getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(n:NSNumber*); [line 15, column 3]\n n$3=*&x:int [line 15, column 41]\n n$4=*&y:int [line 15, column 45]\n n$5=_fun_NSNumber::numberWithInt:((n$3 + n$4):int) [line 15, column 17]\n *&n:NSNumber*=n$5 [line 15, column 3]\n " shape="box"] "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_4" -> "getIntExp#Boxing#instance.1230c4f8d594629f186c72bd450c75b1_3" ; @@ -90,11 +90,11 @@ digraph cfg { "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" [label="2: Exit Boxing::getS \n " color=yellow style=filled] -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" [label="3: Return Stmt \n n$15=_fun_NSString::stringWithUTF8String:(\"hello world\":char*) [line 41, column 10]\n *&return:NSString*=n$15 [line 41, column 3]\n EXIT_SCOPE(n$15); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" [label="3: Return Stmt \n n$15=_fun_NSString::stringWithUTF8String:(\"hello world\":char*) [line 41, column 10]\n *&return:NSString*=n$15 [line 41, column 3]\n " shape="box"] "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_2" ; -"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 40, column 3]\n n$16=_fun_strdup(\"hello world\":char*) [line 40, column 19]\n n$17=_fun_NSString::stringWithUTF8String:(n$16:char*) [line 40, column 17]\n *&s:NSString*=n$17 [line 40, column 3]\n NULLIFY(&s); [line 40, column 3]\n EXIT_SCOPE(n$16,n$17,s); [line 40, column 3]\n " shape="box"] +"getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 40, column 3]\n n$16=_fun_strdup(\"hello world\":char*) [line 40, column 19]\n n$17=_fun_NSString::stringWithUTF8String:(n$16:char*) [line 40, column 17]\n *&s:NSString*=n$17 [line 40, column 3]\n " shape="box"] "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_4" -> "getS#Boxing#instance.97ccd331527b54376eb9b2b822cb25a3_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot index ffb269051..f8fe1e559 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/array.m.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 28, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -20,31 +20,31 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 != null), true); [line 24, column 3]\n EXIT_SCOPE(n$0); [line 24, column 3]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (true branch, while) \n PRUNE((n$0 != null), true); [line 24, column 3]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 != null), false); [line 24, column 3]\n NULLIFY(&item); [line 24, column 3]\n NULLIFY(&germanCars); [line 24, column 3]\n EXIT_SCOPE(n$0,item,germanCars); [line 24, column 3]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$0 != null), false); [line 24, column 3]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&germanCars:NSArray* [line 24, column 26]\n n$2=_fun_NSArray::nextObject(n$1:NSArray*) virtual [line 24, column 3]\n *&item:NSString*=n$2 [line 24, column 3]\n EXIT_SCOPE(n$1,n$2); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$1=*&germanCars:NSArray* [line 24, column 26]\n n$2=_fun_NSArray::nextObject(n$1:NSArray*) virtual [line 24, column 3]\n *&item:NSString*=n$2 [line 24, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_NSLog \n n$3=_fun_NSString::stringWithUTF8String:(\"%@\":char* const ) [line 25, column 11]\n n$4=*&item:NSString* [line 25, column 18]\n n$5=_fun_NSLog(n$3:objc_object*,n$4:NSString*) [line 25, column 5]\n NULLIFY(&item); [line 25, column 5]\n EXIT_SCOPE(n$3,n$4,n$5,item); [line 25, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: Call _fun_NSLog \n n$3=_fun_NSString::stringWithUTF8String:(\"%@\":char* const ) [line 25, column 11]\n n$4=*&item:NSString* [line 25, column 18]\n n$5=_fun_NSLog(n$3:objc_object*,n$4:NSString*) [line 25, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$7=*&germanCars:NSArray* [line 24, column 26]\n n$8=_fun_NSArray::nextObject(n$7:NSArray*) virtual [line 24, column 3]\n *&item:NSString*=n$8 [line 24, column 3]\n EXIT_SCOPE(n$7,n$8); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$7=*&germanCars:NSArray* [line 24, column 26]\n n$8=_fun_NSArray::nextObject(n$7:NSArray*) virtual [line 24, column 3]\n *&item:NSString*=n$8 [line 24, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: Assign \n n$9=*&germanCars:NSArray* [line 22, column 7]\n n$10=_fun_NSArray::objectAtIndexedSubscript:(n$9:NSArray*,(unsigned long)3:unsigned long) virtual [line 22, column 7]\n *&s:NSString*=n$10 [line 22, column 3]\n NULLIFY(&s); [line 22, column 3]\n EXIT_SCOPE(n$9,n$10,s); [line 22, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: BinaryOperatorStmt: Assign \n n$9=*&germanCars:NSArray* [line 22, column 7]\n n$10=_fun_NSArray::objectAtIndexedSubscript:(n$9:NSArray*,(unsigned long)3:unsigned long) virtual [line 22, column 7]\n *&s:NSString*=n$10 [line 22, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(germanCars:NSArray*); [line 14, column 3]\n n$16=_fun_NSString::stringWithUTF8String:(\"Mercedes-Benz\":char* const ) [line 15, column 5]\n n$11=_fun_NSString::stringWithUTF8String:(\"BMW\":char* const ) [line 16, column 5]\n n$12=_fun_NSString::stringWithUTF8String:(\"Porsche\":char* const ) [line 17, column 5]\n n$13=_fun_NSString::stringWithUTF8String:(\"Opel\":char* const ) [line 18, column 5]\n n$14=_fun_NSString::stringWithUTF8String:(\"Volkswagen\":char* const ) [line 19, column 5]\n n$15=_fun_NSString::stringWithUTF8String:(\"Audi\":char* const ) [line 20, column 5]\n n$17=_fun_NSArray::arrayWithObjects:count:(n$16:objc_object*,n$11:objc_object*,n$12:objc_object*,n$13:objc_object*,n$14:objc_object*,n$15:objc_object*,null:objc_object*) [line 14, column 25]\n *&germanCars:NSArray*=n$17 [line 14, column 3]\n EXIT_SCOPE(n$11,n$12,n$13,n$14,n$15,n$16,n$17); [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(germanCars:NSArray*); [line 14, column 3]\n n$16=_fun_NSString::stringWithUTF8String:(\"Mercedes-Benz\":char* const ) [line 15, column 5]\n n$11=_fun_NSString::stringWithUTF8String:(\"BMW\":char* const ) [line 16, column 5]\n n$12=_fun_NSString::stringWithUTF8String:(\"Porsche\":char* const ) [line 17, column 5]\n n$13=_fun_NSString::stringWithUTF8String:(\"Opel\":char* const ) [line 18, column 5]\n n$14=_fun_NSString::stringWithUTF8String:(\"Volkswagen\":char* const ) [line 19, column 5]\n n$15=_fun_NSString::stringWithUTF8String:(\"Audi\":char* const ) [line 20, column 5]\n n$17=_fun_NSArray::arrayWithObjects:count:(n$16:objc_object*,n$11:objc_object*,n$12:objc_object*,n$13:objc_object*,n$14:objc_object*,n$15:objc_object*,null:objc_object*) [line 14, column 25]\n *&germanCars:NSArray*=n$17 [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot index ae7641641..d9cb29b09 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/array_literal.c.dot @@ -7,11 +7,11 @@ digraph cfg { "get_array.bca6b16c85e5b8ba530f380271b2ec79_2" [label="2: Exit get_array \n " color=yellow style=filled] -"get_array.bca6b16c85e5b8ba530f380271b2ec79_3" [label="3: Return Stmt \n n$1=_fun_NSString::stringWithUTF8String:(\"cat\":char* const ) [line 12, column 13]\n n$0=_fun_NSString::stringWithUTF8String:(\"dog\":char* const ) [line 12, column 21]\n n$2=_fun_NSArray::arrayWithObjects:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 12, column 10]\n *&return:NSArray*=n$2 [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"get_array.bca6b16c85e5b8ba530f380271b2ec79_3" [label="3: Return Stmt \n n$1=_fun_NSString::stringWithUTF8String:(\"cat\":char* const ) [line 12, column 13]\n n$0=_fun_NSString::stringWithUTF8String:(\"dog\":char* const ) [line 12, column 21]\n n$2=_fun_NSArray::arrayWithObjects:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 12, column 10]\n *&return:NSArray*=n$2 [line 12, column 3]\n " shape="box"] "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_2" ; -"get_array.bca6b16c85e5b8ba530f380271b2ec79_4" [label="4: DeclStmt \n VARIABLE_DECLARED(animals:NSArray*); [line 11, column 3]\n n$4=_fun_NSString::stringWithUTF8String:(\"cat\":char* const ) [line 11, column 48]\n n$3=_fun_NSString::stringWithUTF8String:(\"dog\":char* const ) [line 11, column 56]\n n$5=_fun_NSArray::arrayWithObjects:(n$4:objc_object*,n$3:NSString*,null:void*) [line 11, column 22]\n *&animals:NSArray*=n$5 [line 11, column 3]\n NULLIFY(&animals); [line 11, column 3]\n EXIT_SCOPE(n$3,n$4,n$5,animals); [line 11, column 3]\n " shape="box"] +"get_array.bca6b16c85e5b8ba530f380271b2ec79_4" [label="4: DeclStmt \n VARIABLE_DECLARED(animals:NSArray*); [line 11, column 3]\n n$4=_fun_NSString::stringWithUTF8String:(\"cat\":char* const ) [line 11, column 48]\n n$3=_fun_NSString::stringWithUTF8String:(\"dog\":char* const ) [line 11, column 56]\n n$5=_fun_NSArray::arrayWithObjects:(n$4:objc_object*,n$3:NSString*,null:void*) [line 11, column 22]\n *&animals:NSArray*=n$5 [line 11, column 3]\n " shape="box"] "get_array.bca6b16c85e5b8ba530f380271b2ec79_4" -> "get_array.bca6b16c85e5b8ba530f380271b2ec79_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot index c327961af..49f6a9ae5 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/dict_literal.c.dot @@ -7,7 +7,7 @@ digraph cfg { "get_array1.5988b7ad8acf5c81cef9a72d072073c1_2" [label="2: Exit get_array1 \n " color=yellow style=filled] -"get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" [label="3: Return Stmt \n n$5=_fun_NSString::stringWithUTF8String:(\"Matt\":char* const ) [line 12, column 53]\n n$0=_fun_NSString::stringWithUTF8String:(\"firstName\":char* const ) [line 13, column 53]\n n$1=_fun_NSString::stringWithUTF8String:(\"Galloway\":char* const ) [line 14, column 53]\n n$2=_fun_NSString::stringWithUTF8String:(\"lastName\":char* const ) [line 15, column 53]\n n$3=_fun_NSNumber::numberWithInt:(28:int) [line 16, column 53]\n n$4=_fun_NSString::stringWithUTF8String:(\"age\":char* const ) [line 17, column 53]\n n$6=_fun_NSDictionary::dictionaryWithObjectsAndKeys:(n$5:objc_object*,n$0:NSString*,n$1:NSString*,n$2:NSString*,n$3:NSNumber*,n$4:NSString*,null:void*) [line 12, column 10]\n *&return:NSDictionary*=n$6 [line 12, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" [label="3: Return Stmt \n n$5=_fun_NSString::stringWithUTF8String:(\"Matt\":char* const ) [line 12, column 53]\n n$0=_fun_NSString::stringWithUTF8String:(\"firstName\":char* const ) [line 13, column 53]\n n$1=_fun_NSString::stringWithUTF8String:(\"Galloway\":char* const ) [line 14, column 53]\n n$2=_fun_NSString::stringWithUTF8String:(\"lastName\":char* const ) [line 15, column 53]\n n$3=_fun_NSNumber::numberWithInt:(28:int) [line 16, column 53]\n n$4=_fun_NSString::stringWithUTF8String:(\"age\":char* const ) [line 17, column 53]\n n$6=_fun_NSDictionary::dictionaryWithObjectsAndKeys:(n$5:objc_object*,n$0:NSString*,n$1:NSString*,n$2:NSString*,n$3:NSNumber*,n$4:NSString*,null:void*) [line 12, column 10]\n *&return:NSDictionary*=n$6 [line 12, column 3]\n " shape="box"] "get_array1.5988b7ad8acf5c81cef9a72d072073c1_3" -> "get_array1.5988b7ad8acf5c81cef9a72d072073c1_2" ; @@ -18,7 +18,7 @@ digraph cfg { "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_2" [label="2: Exit get_array2 \n " color=yellow style=filled] -"get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" [label="3: Return Stmt \n n$5=_fun_NSString::stringWithUTF8String:(\"Matt\":char* const ) [line 23, column 27]\n n$0=_fun_NSString::stringWithUTF8String:(\"firstName\":char* const ) [line 23, column 12]\n n$1=_fun_NSString::stringWithUTF8String:(\"Galloway\":char* const ) [line 23, column 50]\n n$2=_fun_NSString::stringWithUTF8String:(\"lastName\":char* const ) [line 23, column 36]\n n$3=_fun_NSNumber::numberWithInt:(28:int) [line 23, column 72]\n n$4=_fun_NSString::stringWithUTF8String:(\"age\":char* const ) [line 23, column 63]\n n$6=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$5:objc_object*,n$0:objc_object*,n$1:objc_object*,n$2:objc_object*,n$3:objc_object*,n$4:objc_object*,null:objc_object*) [line 23, column 10]\n *&return:NSDictionary*=n$6 [line 23, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,n$4,n$5,n$6); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" [label="3: Return Stmt \n n$5=_fun_NSString::stringWithUTF8String:(\"Matt\":char* const ) [line 23, column 27]\n n$0=_fun_NSString::stringWithUTF8String:(\"firstName\":char* const ) [line 23, column 12]\n n$1=_fun_NSString::stringWithUTF8String:(\"Galloway\":char* const ) [line 23, column 50]\n n$2=_fun_NSString::stringWithUTF8String:(\"lastName\":char* const ) [line 23, column 36]\n n$3=_fun_NSNumber::numberWithInt:(28:int) [line 23, column 72]\n n$4=_fun_NSString::stringWithUTF8String:(\"age\":char* const ) [line 23, column 63]\n n$6=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$5:objc_object*,n$0:objc_object*,n$1:objc_object*,n$2:objc_object*,n$3:objc_object*,n$4:objc_object*,null:objc_object*) [line 23, column 10]\n *&return:NSDictionary*=n$6 [line 23, column 3]\n " shape="box"] "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_3" -> "get_array2.84aa3c70cb20e7edbe4f0b8d0bd6aa3d_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot b/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot index 5cbfdc664..bf3e9a3f2 100644 --- a/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/boxing/string_literal.c.dot @@ -7,7 +7,7 @@ digraph cfg { "get_string1.37988b3a9459aa3258beba816a2c79fc_2" [label="2: Exit get_string1 \n " color=yellow style=filled] -"get_string1.37988b3a9459aa3258beba816a2c79fc_3" [label="3: Return Stmt \n n$0=_fun_NSString::stringWithUTF8String:(\"Hello World!\":char*) [line 12, column 10]\n *&return:NSString*=n$0 [line 12, column 3]\n EXIT_SCOPE(n$0); [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"get_string1.37988b3a9459aa3258beba816a2c79fc_3" [label="3: Return Stmt \n n$0=_fun_NSString::stringWithUTF8String:(\"Hello World!\":char*) [line 12, column 10]\n *&return:NSString*=n$0 [line 12, column 3]\n " shape="box"] "get_string1.37988b3a9459aa3258beba816a2c79fc_3" -> "get_string1.37988b3a9459aa3258beba816a2c79fc_2" ; @@ -18,7 +18,7 @@ digraph cfg { "get_string2.896232467e9bb3980f16ff6f7a1da043_2" [label="2: Exit get_string2 \n " color=yellow style=filled] -"get_string2.896232467e9bb3980f16ff6f7a1da043_3" [label="3: Return Stmt \n n$0=_fun_NSString::stringWithUTF8String:(\"Hello World!\":char* const ) [line 15, column 34]\n *&return:NSString*=n$0 [line 15, column 27]\n EXIT_SCOPE(n$0); [line 15, column 27]\n APPLY_ABSTRACTION; [line 15, column 27]\n " shape="box"] +"get_string2.896232467e9bb3980f16ff6f7a1da043_3" [label="3: Return Stmt \n n$0=_fun_NSString::stringWithUTF8String:(\"Hello World!\":char* const ) [line 15, column 34]\n *&return:NSString*=n$0 [line 15, column 27]\n " shape="box"] "get_string2.896232467e9bb3980f16ff6f7a1da043_3" -> "get_string2.896232467e9bb3980f16ff6f7a1da043_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot b/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot index 8a6771006..b39059981 100644 --- a/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/conditional_operation/ConditionalOperation.m.dot @@ -7,7 +7,7 @@ digraph cfg { "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" [label="2: Exit A::test4: \n " color=yellow style=filled] -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" [label="3: Return Stmt \n n$0=*&x:int [line 18, column 10]\n *&return:int=n$0 [line 18, column 3]\n NULLIFY(&x); [line 18, column 3]\n EXIT_SCOPE(n$0,x); [line 18, column 3]\n APPLY_ABSTRACTION; [line 18, column 3]\n " shape="box"] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" [label="3: Return Stmt \n n$0=*&x:int [line 18, column 10]\n *&return:int=n$0 [line 18, column 3]\n " shape="box"] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" ; @@ -23,23 +23,23 @@ digraph cfg { "test5:#A#instance.4d6ac42705853160b533ab46b444624a_3" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_4" [label="4: Prune (true branch, boolean exp) \n n$2=*&b:_Bool [line 22, column 23]\n PRUNE(n$2, true); [line 22, column 23]\n EXIT_SCOPE(n$2); [line 22, column 23]\n " shape="invhouse"] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_4" [label="4: Prune (true branch, boolean exp) \n n$2=*&b:_Bool [line 22, column 23]\n PRUNE(n$2, true); [line 22, 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, boolean exp) \n n$2=*&b:_Bool [line 22, column 23]\n PRUNE(!n$2, false); [line 22, column 23]\n NULLIFY(&b); [line 22, column 23]\n EXIT_SCOPE(n$2,b); [line 22, column 23]\n " shape="invhouse"] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_5" [label="5: Prune (false branch, boolean exp) \n n$2=*&b:_Bool [line 22, column 23]\n PRUNE(!n$2, false); [line 22, column 23]\n " shape="invhouse"] "test5:#A#instance.4d6ac42705853160b533ab46b444624a_5" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_7" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_6" [label="6: ConditionalStmt Branch \n n$3=*&b:_Bool [line 22, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 22, column 23]\n NULLIFY(&b); [line 22, column 23]\n EXIT_SCOPE(n$3,b); [line 22, column 23]\n APPLY_ABSTRACTION; [line 22, column 23]\n " shape="box"] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_6" [label="6: ConditionalStmt Branch \n n$3=*&b:_Bool [line 22, column 27]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=n$3 [line 22, column 23]\n " shape="box"] "test5:#A#instance.4d6ac42705853160b533ab46b444624a_6" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_3" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 22, column 23]\n APPLY_ABSTRACTION; [line 22, column 23]\n " shape="box"] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int=1 [line 22, column 23]\n " shape="box"] "test5:#A#instance.4d6ac42705853160b533ab46b444624a_7" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_3" ; -"test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" [label="8: Return Stmt \n n$5=*&self:A* [line 22, column 11]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 22, column 23]\n n$6=_fun_A::test4:(n$5:A*,n$4:int) virtual [line 22, column 10]\n *&return:int=n$6 [line 22, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 22, column 3]\n NULLIFY(&self); [line 22, column 3]\n EXIT_SCOPE(n$4,n$5,n$6,0$?%__sil_tmpSIL_temp_conditional___n$1,self); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" [label="8: Return Stmt \n n$5=*&self:A* [line 22, column 11]\n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 22, column 23]\n n$6=_fun_A::test4:(n$5:A*,n$4:int) virtual [line 22, column 10]\n *&return:int=n$6 [line 22, column 3]\n " shape="box"] "test5:#A#instance.4d6ac42705853160b533ab46b444624a_8" -> "test5:#A#instance.4d6ac42705853160b533ab46b444624a_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot index e7fba3490..aeecc220b 100644 --- a/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/exceptions/ExceptionExample.m.dot @@ -7,11 +7,11 @@ digraph cfg { "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_2" [label="2: Exit ExceptionExample::test \n " color=yellow style=filled] -"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" [label="3: Message Call: description \n n$0=*&self:ExceptionExample* [line 21, column 6]\n n$1=_fun_NSObject::description(n$0:ExceptionExample*) [line 21, column 5]\n NULLIFY(&self); [line 21, column 5]\n EXIT_SCOPE(n$0,n$1,self); [line 21, column 5]\n APPLY_ABSTRACTION; [line 21, column 5]\n " shape="box"] +"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" [label="3: Message Call: description \n n$0=*&self:ExceptionExample* [line 21, column 6]\n n$1=_fun_NSObject::description(n$0:ExceptionExample*) [line 21, column 5]\n " shape="box"] "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" -> "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_2" ; -"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 18, column 5]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 18, column 19]\n *&s:NSString*=n$3 [line 18, column 5]\n NULLIFY(&s); [line 18, column 5]\n EXIT_SCOPE(n$3,s); [line 18, column 5]\n " shape="box"] +"test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 18, column 5]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 18, column 19]\n *&s:NSString*=n$3 [line 18, column 5]\n " shape="box"] "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_4" -> "test#ExceptionExample#instance.513cde8d794322493646dbd1821516dd_3" ; @@ -26,23 +26,23 @@ digraph cfg { "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_4" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_4" [label="4: between_join_and_exit \n " shape="box"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_4" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_2" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" [label="5: Prune (true branch, if) \n n$4=*&s:NSString* [line 27, column 7]\n PRUNE(n$4, true); [line 27, column 7]\n NULLIFY(&s); [line 27, column 7]\n EXIT_SCOPE(n$4,s); [line 27, column 7]\n " shape="invhouse"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" [label="5: Prune (true branch, if) \n n$4=*&s:NSString* [line 27, column 7]\n PRUNE(n$4, true); [line 27, 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, if) \n n$4=*&s:NSString* [line 27, column 7]\n PRUNE(!n$4, false); [line 27, column 7]\n NULLIFY(&s); [line 27, column 7]\n EXIT_SCOPE(n$4,s); [line 27, column 7]\n APPLY_ABSTRACTION; [line 27, column 7]\n " shape="invhouse"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" [label="6: Prune (false branch, if) \n n$4=*&s:NSString* [line 27, column 7]\n PRUNE(!n$4, false); [line 27, column 7]\n " shape="invhouse"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_6" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" [label="7: ObjCCPPThrow \n n$6=_fun_NSString::stringWithUTF8String:(\"Something is not right exception\":char* const ) [line 29, column 27]\n n$5=_fun_NSString::stringWithUTF8String:(\"Can't perform this operation because of this or that\":char* const ) [line 31, column 24]\n n$7=_fun_NSException::exceptionWithName:reason:userInfo:(n$6:NSString*,n$5:NSString*,null:NSDictionary*) [line 28, column 12]\n n$8=_fun___infer_objc_cpp_throw(n$7:NSException*) [line 28, column 5]\n EXIT_SCOPE(n$5,n$6,n$7,n$8); [line 28, column 5]\n APPLY_ABSTRACTION; [line 28, column 5]\n " shape="box"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" [label="7: ObjCCPPThrow \n n$6=_fun_NSString::stringWithUTF8String:(\"Something is not right exception\":char* const ) [line 29, column 27]\n n$5=_fun_NSString::stringWithUTF8String:(\"Can't perform this operation because of this or that\":char* const ) [line 31, column 24]\n n$7=_fun_NSException::exceptionWithName:reason:userInfo:(n$6:NSString*,n$5:NSString*,null:NSDictionary*) [line 28, column 12]\n n$8=_fun___infer_objc_cpp_throw(n$7:NSException*) [line 28, column 5]\n " shape="box"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_7" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_3" ; -"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" [label="8: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 26, column 3]\n n$11=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 26, column 17]\n *&s:NSString*=n$11 [line 26, column 3]\n EXIT_SCOPE(n$11); [line 26, column 3]\n " shape="box"] +"test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" [label="8: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 26, column 3]\n n$11=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 26, column 17]\n *&s:NSString*=n$11 [line 26, column 3]\n " shape="box"] "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_8" -> "test1#ExceptionExample#instance.400b3bc567ff814f7f6788584460738f_5" ; 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 ac9b3a4e5..902d60ce0 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 @@ -7,7 +7,7 @@ digraph cfg { "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_2" [label="2: Exit A::fast_loop: \n " color=yellow style=filled] -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" [label="3: Return Stmt \n n$0=*&size:int [line 24, column 10]\n *&return:int=n$0 [line 24, column 3]\n NULLIFY(&size); [line 24, column 3]\n EXIT_SCOPE(n$0,size); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" [label="3: Return Stmt \n n$0=*&size:int [line 24, column 10]\n *&return:int=n$0 [line 24, column 3]\n " shape="box"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_2" ; @@ -20,23 +20,23 @@ digraph cfg { "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_5" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_6" ; "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_5" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_6" [label="6: Prune (true branch, while) \n PRUNE((n$1 != null), true); [line 21, column 3]\n EXIT_SCOPE(n$1); [line 21, column 3]\n " shape="invhouse"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_6" [label="6: Prune (true branch, while) \n PRUNE((n$1 != null), true); [line 21, column 3]\n " shape="invhouse"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_6" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$1 != null), false); [line 21, column 3]\n NULLIFY(&item); [line 21, column 3]\n EXIT_SCOPE(n$1,item); [line 21, column 3]\n " shape="invhouse"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" [label="7: Prune (false branch, while) \n PRUNE(!(n$1 != null), false); [line 21, column 3]\n " shape="invhouse"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_7" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_3" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" [label="8: BinaryOperatorStmt: Assign \n n$2=*&items:NSArray* [line 21, column 25]\n n$3=_fun_NSArray::nextObject(n$2:NSArray*) virtual [line 21, column 3]\n *&item:NSArray*=n$3 [line 21, column 3]\n EXIT_SCOPE(n$2,n$3); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" [label="8: BinaryOperatorStmt: Assign \n n$2=*&items:NSArray* [line 21, column 25]\n n$3=_fun_NSArray::nextObject(n$2:NSArray*) virtual [line 21, column 3]\n *&item:NSArray*=n$3 [line 21, column 3]\n " shape="box"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" [label="9: BinaryOperatorStmt: AddAssign \n n$4=*&item:NSArray* [line 22, column 14]\n n$5=_fun_NSArray::count(n$4:NSArray*) [line 22, column 13]\n n$6=*&size:int [line 22, column 5]\n *&size:int=(n$6 + n$5) [line 22, column 5]\n NULLIFY(&item); [line 22, column 5]\n EXIT_SCOPE(n$4,n$5,n$6,item); [line 22, column 5]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" [label="9: BinaryOperatorStmt: AddAssign \n n$4=*&item:NSArray* [line 22, column 14]\n n$5=_fun_NSArray::count(n$4:NSArray*) [line 22, column 13]\n n$6=*&size:int [line 22, column 5]\n *&size:int=(n$6 + n$5) [line 22, column 5]\n " shape="box"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_9" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_8" ; -"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" [label="10: BinaryOperatorStmt: Assign \n n$8=*&items:NSArray* [line 21, column 25]\n n$9=_fun_NSArray::nextObject(n$8:NSArray*) virtual [line 21, column 3]\n *&item:NSArray*=n$9 [line 21, column 3]\n EXIT_SCOPE(n$8,n$9); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" [label="10: BinaryOperatorStmt: Assign \n n$8=*&items:NSArray* [line 21, column 25]\n n$9=_fun_NSArray::nextObject(n$8:NSArray*) virtual [line 21, column 3]\n *&item:NSArray*=n$9 [line 21, column 3]\n " shape="box"] "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_10" -> "fast_loop:#A(class NSArray)#instance.26b39d1106e4365a40bc2f6305401611_4" ; @@ -60,27 +60,27 @@ digraph cfg { "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_4" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_5" ; "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_4" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_6" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_5" [label="5: Prune (true branch, while) \n PRUNE((n$18 != null), true); [line 38, column 3]\n EXIT_SCOPE(n$18); [line 38, column 3]\n " shape="invhouse"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_5" [label="5: Prune (true branch, while) \n PRUNE((n$18 != null), true); [line 38, column 3]\n " shape="invhouse"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_5" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_6" [label="6: Prune (false branch, while) \n PRUNE(!(n$18 != null), false); [line 38, column 3]\n NULLIFY(&obj); [line 38, column 3]\n EXIT_SCOPE(n$18,obj); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="invhouse"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_6" [label="6: Prune (false branch, while) \n PRUNE(!(n$18 != null), false); [line 38, column 3]\n " shape="invhouse"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_6" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_2" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" [label="7: BinaryOperatorStmt: Assign \n n$19=*&self:A* [line 38, column 15]\n n$20=*n$19.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$21=_fun_NSEnumerator::nextObject(n$20:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$21 [line 38, column 3]\n EXIT_SCOPE(n$19,n$20,n$21); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" [label="7: BinaryOperatorStmt: Assign \n n$19=*&self:A* [line 38, column 15]\n n$20=*n$19.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$21=_fun_NSEnumerator::nextObject(n$20:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$21 [line 38, column 3]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_3" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" [label="8: Message Call: copy \n n$22=*&obj:objc_object* [line 39, column 6]\n n$23=_fun_NSObject::copy(n$22:objc_object*) virtual [line 39, column 5]\n NULLIFY(&obj); [line 39, column 5]\n EXIT_SCOPE(n$22,n$23,obj); [line 39, column 5]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" [label="8: Message Call: copy \n n$22=*&obj:objc_object* [line 39, column 6]\n n$23=_fun_NSObject::copy(n$22:objc_object*) virtual [line 39, column 5]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_8" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_7" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" [label="9: BinaryOperatorStmt: Assign \n n$25=*&self:A* [line 38, column 15]\n n$26=*n$25.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$27=_fun_NSEnumerator::nextObject(n$26:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$27 [line 38, column 3]\n EXIT_SCOPE(n$25,n$26,n$27); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" [label="9: BinaryOperatorStmt: Assign \n n$25=*&self:A* [line 38, column 15]\n n$26=*n$25.reverseObjectEnumerator:NSEnumerator* [line 38, column 15]\n n$27=_fun_NSEnumerator::nextObject(n$26:NSEnumerator*) virtual [line 38, column 3]\n *&obj:objc_object*=n$27 [line 38, column 3]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_3" ; -"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_10" [label="10: DeclStmt \n VARIABLE_DECLARED(obj:objc_object*); [line 37, column 3]\n *&obj:objc_object*=null [line 37, column 3]\n NULLIFY(&obj); [line 37, column 3]\n EXIT_SCOPE(obj); [line 37, column 3]\n " shape="box"] +"fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_10" [label="10: DeclStmt \n VARIABLE_DECLARED(obj:objc_object*); [line 37, column 3]\n *&obj:objc_object*=null [line 37, column 3]\n " shape="box"] "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_10" -> "fast_loop_no_crash#A#instance.eaee56a1051009329a3989c3a10fb432_9" ; @@ -91,7 +91,7 @@ digraph cfg { "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_2" [label="2: Exit A::while_loop: \n " color=yellow style=filled] -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" [label="3: Return Stmt \n n$10=*&size:int [line 33, column 10]\n *&return:int=n$10 [line 33, column 3]\n NULLIFY(&size); [line 33, column 3]\n EXIT_SCOPE(n$10,size); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" [label="3: Return Stmt \n n$10=*&size:int [line 33, column 10]\n *&return:int=n$10 [line 33, column 3]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_2" ; @@ -99,24 +99,24 @@ digraph cfg { "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" [label="5: BinaryOperatorStmt: Assign \n n$11=*&items:NSArray* [line 30, column 19]\n n$12=_fun_NSArray::objectAtIndex:(n$11:NSArray*,(unsigned long)3:unsigned long) virtual [line 30, column 18]\n *&item:NSArray*=n$12 [line 30, column 11]\n n$13=*&item:NSArray* [line 30, column 11]\n EXIT_SCOPE(n$11,n$12); [line 30, column 11]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" [label="5: BinaryOperatorStmt: Assign \n n$11=*&items:NSArray* [line 30, column 19]\n n$12=_fun_NSArray::objectAtIndex:(n$11:NSArray*,(unsigned long)3:unsigned long) virtual [line 30, column 18]\n *&item:NSArray*=n$12 [line 30, column 11]\n n$13=*&item:NSArray* [line 30, column 11]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" ; "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_5" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" [label="6: Prune (true branch, while) \n PRUNE(n$13, true); [line 30, column 11]\n EXIT_SCOPE(n$13); [line 30, column 11]\n " shape="invhouse"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" [label="6: Prune (true branch, while) \n PRUNE(n$13, true); [line 30, column 11]\n " shape="invhouse"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_6" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" [label="7: Prune (false branch, while) \n PRUNE(!n$13, false); [line 30, column 11]\n NULLIFY(&item); [line 30, column 11]\n EXIT_SCOPE(n$13,item); [line 30, column 11]\n " shape="invhouse"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" [label="7: Prune (false branch, while) \n PRUNE(!n$13, false); [line 30, column 11]\n " shape="invhouse"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_7" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_3" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" [label="8: BinaryOperatorStmt: AddAssign \n n$14=*&item:NSArray* [line 31, column 14]\n n$15=_fun_NSArray::count(n$14:NSArray*) [line 31, column 13]\n n$16=*&size:int [line 31, column 5]\n *&size:int=(n$16 + n$15) [line 31, column 5]\n NULLIFY(&item); [line 31, column 5]\n EXIT_SCOPE(n$14,n$15,n$16,item); [line 31, column 5]\n APPLY_ABSTRACTION; [line 31, column 5]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" [label="8: BinaryOperatorStmt: AddAssign \n n$14=*&item:NSArray* [line 31, column 14]\n n$15=_fun_NSArray::count(n$14:NSArray*) [line 31, column 13]\n n$16=*&size:int [line 31, column 5]\n *&size:int=(n$16 + n$15) [line 31, column 5]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_8" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" ; -"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" [label="9: DeclStmt \n VARIABLE_DECLARED(item:NSArray*); [line 29, column 3]\n *&item:NSArray*=null [line 29, column 3]\n NULLIFY(&item); [line 29, column 3]\n EXIT_SCOPE(item); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" [label="9: DeclStmt \n VARIABLE_DECLARED(item:NSArray*); [line 29, column 3]\n *&item:NSArray*=null [line 29, column 3]\n " shape="box"] "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_9" -> "while_loop:#A(class NSArray)#instance.225f55f19f886cfaa14fc056eca2399b_4" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot b/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot index 7010844b1..68551dbbc 100644 --- a/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/predefined_expr/PredefinedExprExample.m.dot @@ -7,7 +7,7 @@ digraph cfg { "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_2" [label="2: Exit A::testFunct \n " color=yellow style=filled] -"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString::stringWithUTF8String:(\"%s\":char* const ) [line 25, column 9]\n n$5=_fun_NSLog(n$4:objc_object*,\"\":char const *) [line 25, column 3]\n EXIT_SCOPE(n$4,n$5); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString::stringWithUTF8String:(\"%s\":char* const ) [line 25, column 9]\n n$5=_fun_NSLog(n$4:objc_object*,\"\":char const *) [line 25, column 3]\n " shape="box"] "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_3" -> "testFunct#A#instance.b6c9dae744220d93a4466679814728c1_2" ; @@ -18,7 +18,7 @@ digraph cfg { "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_2" [label="2: Exit A::testFunction \n " color=yellow style=filled] -"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString::stringWithUTF8String:(\"%s\":char* const ) [line 21, column 9]\n n$3=_fun_NSLog(n$2:objc_object*,\"\":char const *) [line 21, column 3]\n EXIT_SCOPE(n$2,n$3); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString::stringWithUTF8String:(\"%s\":char* const ) [line 21, column 9]\n n$3=_fun_NSLog(n$2:objc_object*,\"\":char const *) [line 21, column 3]\n " shape="box"] "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_3" -> "testFunction#A#instance.871d68aca55491a71407a8a7ce232a40_2" ; @@ -29,7 +29,7 @@ digraph cfg { "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_2" [label="2: Exit A::testPrettyFunction \n " color=yellow style=filled] -"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"%s\":char* const ) [line 17, column 9]\n n$1=_fun_NSLog(n$0:objc_object*,\"\":char const *) [line 17, column 3]\n EXIT_SCOPE(n$0,n$1); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"%s\":char* const ) [line 17, column 9]\n n$1=_fun_NSLog(n$0:objc_object*,\"\":char const *) [line 17, column 3]\n " shape="box"] "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_3" -> "testPrettyFunction#A#instance.bc1e07c1ab96ad96f484a179734bc12e_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/property/PropertyImplSetter.m.dot b/infer/tests/codetoanalyze/objc/frontend/property/PropertyImplSetter.m.dot index 80206b634..330d7f9ca 100644 --- a/infer/tests/codetoanalyze/objc/frontend/property/PropertyImplSetter.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/property/PropertyImplSetter.m.dot @@ -7,7 +7,7 @@ digraph cfg { "setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_2" [label="2: Exit PropertyImplSetter::setMaximumFileSize: \n " color=yellow style=filled] -"setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&self:PropertyImplSetter* [line 13, column 3]\n *n$0._maximumFileSize:int=0 [line 13, column 3]\n NULLIFY(&self); [line 13, column 3]\n EXIT_SCOPE(n$0,self); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&self:PropertyImplSetter* [line 13, column 3]\n *n$0._maximumFileSize:int=0 [line 13, column 3]\n " shape="box"] "setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_3" -> "setMaximumFileSize:#PropertyImplSetter#instance.1d600fefeeb62155817021d20e02a478_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot b/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot index b48a0b72e..b5de628d9 100644 --- a/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/property/Property_getter.m.dot @@ -7,7 +7,7 @@ digraph cfg { "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_2" [label="2: Exit A::addTarget: \n " color=yellow style=filled] -"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" [label="3: Return Stmt \n n$0=*&target:A* [line 17, column 10]\n n$1=_fun_A::x(n$0:A*) [line 17, column 17]\n *&return:int=n$1 [line 17, column 3]\n NULLIFY(&target); [line 17, column 3]\n EXIT_SCOPE(n$0,n$1,target); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" [label="3: Return Stmt \n n$0=*&target:A* [line 17, column 10]\n n$1=_fun_A::x(n$0:A*) [line 17, column 17]\n *&return:int=n$1 [line 17, column 3]\n " shape="box"] "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_3" -> "addTarget:#A(class A)#instance.ca26ddd02ac11fb266531b38b6edef27_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot b/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot index 3ca090612..dd9d4514f 100644 --- a/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/property/main_car.m.dot @@ -7,19 +7,19 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 14, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"%d\":char* const ) [line 13, column 9]\n n$1=*&honda:Car* [line 13, column 16]\n n$2=_fun_Car::running(n$1:Car*) [line 13, column 22]\n n$3=_fun_NSLog(n$0:objc_object*,n$2:int) [line 13, column 3]\n NULLIFY(&honda); [line 13, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,honda); [line 13, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"%d\":char* const ) [line 13, column 9]\n n$1=*&honda:Car* [line 13, column 16]\n n$2=_fun_Car::running(n$1:Car*) [line 13, column 22]\n n$3=_fun_NSLog(n$0:objc_object*,n$2:int) [line 13, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Message Call: setRunning: \n n$4=*&honda:Car* [line 12, column 3]\n n$5=_fun_Car::setRunning:(n$4:Car*,1:_Bool) [line 12, column 9]\n EXIT_SCOPE(n$4,n$5); [line 12, column 9]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Message Call: setRunning: \n n$4=*&honda:Car* [line 12, column 3]\n n$5=_fun_Car::setRunning:(n$4:Car*,1:_Bool) [line 12, column 9]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n VARIABLE_DECLARED(honda:Car*); [line 11, column 3]\n n$6=_fun___objc_alloc_no_fail(sizeof(t=Car):unsigned long) [line 11, column 17]\n n$7=_fun_NSObject::init(n$6:Car*) virtual [line 11, column 16]\n *&honda:Car*=n$7 [line 11, column 3]\n EXIT_SCOPE(n$6,n$7); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: DeclStmt \n VARIABLE_DECLARED(honda:Car*); [line 11, column 3]\n n$6=_fun___objc_alloc_no_fail(sizeof(t=Car):unsigned long) [line 11, column 17]\n n$7=_fun_NSObject::init(n$6:Car*) virtual [line 11, column 16]\n *&honda:Car*=n$7 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot b/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot index 21400913f..1d50e2564 100644 --- a/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/protocol/protocol.m.dot @@ -11,24 +11,24 @@ digraph cfg { "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_3" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_4" ; -"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_4" [label="4: between_join_and_exit \n " shape="box"] "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_4" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_2" ; -"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_5" [label="5: Message Call: conformsToProtocol: \n n$0=*&self:Bla* [line 23, column 8]\n n$1=_fun_NSObject::conformsToProtocol:(n$0:Bla*,\"Foo\":Protocol*) virtual [line 23, column 7]\n NULLIFY(&self); [line 23, column 7]\n EXIT_SCOPE(n$0,self); [line 23, column 7]\n " shape="box"] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_5" [label="5: Message Call: conformsToProtocol: \n n$0=*&self:Bla* [line 23, column 8]\n n$1=_fun_NSObject::conformsToProtocol:(n$0:Bla*,\"Foo\":Protocol*) virtual [line 23, column 7]\n " shape="box"] "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, if) \n PRUNE(n$1, true); [line 23, column 7]\n EXIT_SCOPE(n$1); [line 23, column 7]\n " shape="invhouse"] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_6" [label="6: Prune (true branch, if) \n PRUNE(n$1, true); [line 23, 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, if) \n PRUNE(!n$1, false); [line 23, column 7]\n EXIT_SCOPE(n$1); [line 23, column 7]\n " shape="invhouse"] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_7" [label="7: Prune (false branch, if) \n PRUNE(!n$1, false); [line 23, column 7]\n " shape="invhouse"] "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_7" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_3" ; -"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_8" [label="8: Return Stmt \n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_8" [label="8: Return Stmt \n " shape="box"] "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_8" -> "fooMethod#Bla#instance.d982e99c073f2d30dc24c41bb29add6a_2" ; 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 d4b9b531f..6ca39d6df 100644 --- a/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/returnstmt/void_return.m.dot @@ -11,24 +11,24 @@ digraph cfg { "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_3" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_4" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_4" [label="4: between_join_and_exit \n " shape="box"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_4" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_2" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&j:int [line 23, column 7]\n NULLIFY(&j); [line 23, column 7]\n EXIT_SCOPE(j); [line 23, column 7]\n " shape="box"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&j:int [line 23, column 7]\n " shape="box"] "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, if) \n PRUNE((n$0 == 0), true); [line 23, column 7]\n EXIT_SCOPE(n$0); [line 23, column 7]\n " shape="invhouse"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 0), true); [line 23, 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, if) \n PRUNE(!(n$0 == 0), false); [line 23, column 7]\n NULLIFY(&i); [line 23, column 7]\n EXIT_SCOPE(n$0,i); [line 23, column 7]\n APPLY_ABSTRACTION; [line 23, column 7]\n " shape="invhouse"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 0), false); [line 23, column 7]\n " shape="invhouse"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_7" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_3" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_8" [label="8: UnaryOperator \n n$1=*&i:int [line 24, column 5]\n *&i:int=(n$1 + 1) [line 24, column 5]\n NULLIFY(&i); [line 24, column 5]\n EXIT_SCOPE(n$1,i); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_8" [label="8: UnaryOperator \n n$1=*&i:int [line 24, column 5]\n *&i:int=(n$1 + 1) [line 24, column 5]\n " shape="box"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_8" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_3" ; @@ -41,15 +41,15 @@ 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, if) \n PRUNE((n$4 == 0), true); [line 19, column 7]\n NULLIFY(&j); [line 19, column 7]\n NULLIFY(&i); [line 19, column 7]\n EXIT_SCOPE(n$4,j,i); [line 19, column 7]\n " shape="invhouse"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_11" [label="11: Prune (true branch, if) \n PRUNE((n$4 == 0), true); [line 19, 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, if) \n PRUNE(!(n$4 == 0), false); [line 19, column 7]\n EXIT_SCOPE(n$4); [line 19, column 7]\n " shape="invhouse"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_12" [label="12: Prune (false branch, if) \n PRUNE(!(n$4 == 0), false); [line 19, column 7]\n " shape="invhouse"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_12" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_9" ; -"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_13" [label="13: Return Stmt \n APPLY_ABSTRACTION; [line 20, column 5]\n " shape="box"] +"aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_13" [label="13: Return Stmt \n " shape="box"] "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_13" -> "aMethod#MyClass#instance.af06019e61fb7341a36c141ed90caaaf_2" ; 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 e15c8d6cd..5ed9fba2e 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/Self.m.dot @@ -7,7 +7,7 @@ digraph cfg { "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_2" [label="2: Exit class_method_in_conditional \n " color=yellow style=filled] -"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_3" [label="3: Return Stmt \n *&return:_Bool=0 [line 107, column 3]\n APPLY_ABSTRACTION; [line 107, column 3]\n " shape="box"] +"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_3" [label="3: Return Stmt \n *&return:_Bool=0 [line 107, column 3]\n " shape="box"] "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_3" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_2" ; @@ -23,11 +23,11 @@ digraph cfg { "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_6" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_4" ; -"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_7" [label="7: Return Stmt \n *&return:_Bool=1 [line 105, column 5]\n APPLY_ABSTRACTION; [line 105, column 5]\n " shape="box"] +"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_7" [label="7: Return Stmt \n *&return:_Bool=1 [line 105, column 5]\n " shape="box"] "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_7" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_2" ; -"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" [label="8: DeclStmt \n VARIABLE_DECLARED(c:objc_class*); [line 103, column 3]\n n$3=_fun_foo() [line 103, column 13]\n *&c:objc_class*=n$3 [line 103, column 3]\n NULLIFY(&c); [line 103, column 3]\n EXIT_SCOPE(n$3,c); [line 103, column 3]\n " shape="box"] +"class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" [label="8: DeclStmt \n VARIABLE_DECLARED(c:objc_class*); [line 103, column 3]\n n$3=_fun_foo() [line 103, column 13]\n *&c:objc_class*=n$3 [line 103, column 3]\n " shape="box"] "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_8" -> "class_method_in_conditional.2a19b0bd8eafdb3235f52585a49ef84a_5" ; @@ -39,7 +39,7 @@ digraph cfg { "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_2" [label="2: Exit A::call_alloc_class \n " color=yellow style=filled] -"call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" [label="3: Call alloc \n n$5=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 57, column 3]\n EXIT_SCOPE(n$5); [line 57, column 3]\n APPLY_ABSTRACTION; [line 57, column 3]\n " shape="box"] +"call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" [label="3: Call alloc \n n$5=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 57, column 3]\n " shape="box"] "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_3" -> "call_alloc_class#A#class.0cef99601cab56333305f5f96f227079_2" ; @@ -50,7 +50,7 @@ digraph cfg { "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" [label="2: Exit A::call_test_class \n " color=yellow style=filled] -"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" [label="3: Message Call: test_class \n n$4=_fun_C::test_class() [line 53, column 3]\n EXIT_SCOPE(n$4); [line 53, column 3]\n APPLY_ABSTRACTION; [line 53, column 3]\n " shape="box"] +"call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" [label="3: Message Call: test_class \n n$4=_fun_C::test_class() [line 53, column 3]\n " shape="box"] "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_3" -> "call_test_class#A#class.cc4e8c6ada1c4f85dad976d179e36c9a_2" ; @@ -61,7 +61,7 @@ digraph cfg { "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" [label="2: Exit A::calling_super \n " color=yellow style=filled] -"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" [label="3: Message Call: test_class \n n$18=_fun_C::test_class() [line 82, column 3]\n EXIT_SCOPE(n$18); [line 82, column 3]\n APPLY_ABSTRACTION; [line 82, column 3]\n " shape="box"] +"calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" [label="3: Message Call: test_class \n n$18=_fun_C::test_class() [line 82, column 3]\n " shape="box"] "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_3" -> "calling_super#A#class.0edc1d1d1c4ade7cd9adaa77e7322ad1_2" ; @@ -72,7 +72,7 @@ digraph cfg { "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_2" [label="2: Exit A::class_method_fst_arg_of_class_method_inside_instance_method \n " color=yellow style=filled] -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" [label="3: Return Stmt \n n$27=*&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle* [line 120, column 10]\n *&return:NSBundle*=n$27 [line 120, column 3]\n EXIT_SCOPE(n$27); [line 120, column 3]\n APPLY_ABSTRACTION; [line 120, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" [label="3: Return Stmt \n n$27=*&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle* [line 120, column 10]\n *&return:NSBundle*=n$27 [line 120, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_2" ; @@ -84,28 +84,28 @@ digraph cfg { "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_5" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!n$29, false); [line 119, column 12]\n EXIT_SCOPE(n$29); [line 119, column 12]\n " shape="invhouse"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" [label="6: Prune (false branch, boolean exp) \n PRUNE(!n$29, false); [line 119, column 12]\n " shape="invhouse"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle*=n$29 [line 119, column 12]\n EXIT_SCOPE(n$29); [line 119, column 12]\n APPLY_ABSTRACTION; [line 119, column 12]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" [label="7: ConditionalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle*=n$29 [line 119, column 12]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_7" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_4" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" [label="8: ConditionalStmt Branch \n n$31=_fun_NSBundle::mainBundle() [line 119, column 59]\n *&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle*=n$31 [line 119, column 12]\n EXIT_SCOPE(n$31); [line 119, column 12]\n APPLY_ABSTRACTION; [line 119, column 12]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" [label="8: ConditionalStmt Branch \n n$31=_fun_NSBundle::mainBundle() [line 119, column 59]\n *&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle*=n$31 [line 119, column 12]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_8" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_4" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" [label="9: BinaryConditionalStmt Init \n n$28=*&stringsBundlePath:NSString* [line 119, column 37]\n n$29=_fun_NSBundle::bundleWithPath:(n$28:NSString*) [line 119, column 12]\n NULLIFY(&stringsBundlePath); [line 119, column 12]\n EXIT_SCOPE(n$28,stringsBundlePath); [line 119, column 12]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" [label="9: BinaryConditionalStmt Init \n n$28=*&stringsBundlePath:NSString* [line 119, column 37]\n n$29=_fun_NSBundle::bundleWithPath:(n$28:NSString*) [line 119, column 12]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_5" ; "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_6" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" [label="10: BinaryOperatorStmt: Assign \n n$32=*&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle* [line 119, column 12]\n *&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$32 [line 119, column 3]\n NULLIFY(&0$?%__sil_tmpSIL_temp_conditional___n$30); [line 119, column 3]\n EXIT_SCOPE(n$32,0$?%__sil_tmpSIL_temp_conditional___n$30); [line 119, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" [label="10: BinaryOperatorStmt: Assign \n n$32=*&0$?%__sil_tmpSIL_temp_conditional___n$30:NSBundle* [line 119, column 12]\n *&#GB$A::class_method_fst_arg_of_class_method_inside_instance_method.bundle:NSBundle*=n$32 [line 119, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_10" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_3" ; -"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" [label="11: DeclStmt \n VARIABLE_DECLARED(stringsBundlePath:NSString*); [line 116, column 3]\n n$35=_fun_NSBundle::bundleForClass:(sizeof(t=B):unsigned long) [line 117, column 8]\n n$33=_fun_NSString::stringWithUTF8String:(\"Strings\":char* const ) [line 117, column 60]\n n$34=_fun_NSString::stringWithUTF8String:(\"bundle\":char* const ) [line 118, column 60]\n n$36=_fun_NSBundle::pathForResource:ofType:(n$35:NSBundle*,n$33:NSString*,n$34:NSString*) virtual [line 117, column 7]\n *&stringsBundlePath:NSString*=n$36 [line 116, column 3]\n EXIT_SCOPE(n$33,n$34,n$35,n$36); [line 116, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" [label="11: DeclStmt \n VARIABLE_DECLARED(stringsBundlePath:NSString*); [line 116, column 3]\n n$35=_fun_NSBundle::bundleForClass:(sizeof(t=B):unsigned long) [line 117, column 8]\n n$33=_fun_NSString::stringWithUTF8String:(\"Strings\":char* const ) [line 117, column 60]\n n$34=_fun_NSString::stringWithUTF8String:(\"bundle\":char* const ) [line 118, column 60]\n n$36=_fun_NSBundle::pathForResource:ofType:(n$35:NSBundle*,n$33:NSString*,n$34:NSString*) virtual [line 117, column 7]\n *&stringsBundlePath:NSString*=n$36 [line 116, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_11" -> "class_method_fst_arg_of_class_method_inside_instance_method#A#class.7bda69c598fb7e024d776cec3122e2a6_9" ; @@ -127,28 +127,28 @@ digraph cfg { "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_3" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_4" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 94, column 3]\n " shape="box"] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_4" [label="4: between_join_and_exit \n " shape="box"] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_4" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_2" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_5" [label="5: BinaryOperatorStmt: NE \n n$23=*sizeof(t=A):objc_class* [line 94, column 7]\n n$24=*&c:objc_class* [line 94, column 15]\n NULLIFY(&c); [line 94, column 15]\n EXIT_SCOPE(c); [line 94, column 15]\n " shape="box"] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_5" [label="5: BinaryOperatorStmt: NE \n n$23=*sizeof(t=A):objc_class* [line 94, column 7]\n n$24=*&c:objc_class* [line 94, column 15]\n " shape="box"] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_5" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_6" ; "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_5" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_7" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_6" [label="6: Prune (true branch, if) \n PRUNE((n$23 != n$24), true); [line 94, column 7]\n EXIT_SCOPE(n$23,n$24); [line 94, column 7]\n " shape="invhouse"] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_6" [label="6: Prune (true branch, if) \n PRUNE((n$23 != n$24), true); [line 94, column 7]\n " shape="invhouse"] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_6" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_8" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$23 != n$24), false); [line 94, column 7]\n EXIT_SCOPE(n$23,n$24); [line 94, column 7]\n " shape="invhouse"] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$23 != n$24), false); [line 94, column 7]\n " shape="invhouse"] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_7" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_9" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_8" [label="8: Return Stmt \n *&return:int=1 [line 95, column 5]\n APPLY_ABSTRACTION; [line 95, column 5]\n " shape="box"] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_8" [label="8: Return Stmt \n *&return:int=1 [line 95, column 5]\n " shape="box"] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_8" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_2" ; -"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_9" [label="9: Return Stmt \n *&return:int=0 [line 97, column 5]\n APPLY_ABSTRACTION; [line 97, column 5]\n " shape="box"] +"used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_9" [label="9: Return Stmt \n *&return:int=0 [line 97, column 5]\n " shape="box"] "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_9" -> "used_in_binary_op:#A(struct objc_class)#class.da9fc6494d494952f5246c6cf4478263_2" ; @@ -159,7 +159,7 @@ digraph cfg { "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_2" [label="2: Exit A::call_alloc_instance \n " color=yellow style=filled] -"call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_3" [label="3: Call alloc \n n$7=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 61, column 3]\n EXIT_SCOPE(n$7); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, column 3]\n " shape="box"] +"call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_3" [label="3: Call alloc \n n$7=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 61, column 3]\n " shape="box"] "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_3" -> "call_alloc_instance#A#instance.70a20314d55f22fb46408deb70d9aabb_2" ; @@ -170,7 +170,7 @@ digraph cfg { "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_2" [label="2: Exit A::call_class_instance \n " color=yellow style=filled] -"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" [label="3: Message Call: test_class \n n$9=_fun_C::test_class() [line 65, column 3]\n EXIT_SCOPE(n$9); [line 65, column 3]\n APPLY_ABSTRACTION; [line 65, column 3]\n " shape="box"] +"call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" [label="3: Message Call: test_class \n n$9=_fun_C::test_class() [line 65, column 3]\n " shape="box"] "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_3" -> "call_class_instance#A#instance.eb1ae02cd94582eb1fc7cb426794f9f0_2" ; @@ -181,7 +181,7 @@ digraph cfg { "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_2" [label="2: Exit A::call_class_instance_with_class_name \n " color=yellow style=filled] -"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" [label="3: Message Call: test_class \n n$10=_fun_A::test_class() [line 69, column 3]\n EXIT_SCOPE(n$10); [line 69, column 3]\n APPLY_ABSTRACTION; [line 69, column 3]\n " shape="box"] +"call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" [label="3: Message Call: test_class \n n$10=_fun_A::test_class() [line 69, column 3]\n " shape="box"] "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_3" -> "call_class_instance_with_class_name#A#instance.1baf88c0fb5549c04909fab0bed63c39_2" ; @@ -192,7 +192,7 @@ digraph cfg { "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_2" [label="2: Exit A::call_test \n " color=yellow style=filled] -"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" [label="3: Message Call: test \n n$1=*&self:A* [line 46, column 4]\n n$2=_fun_A::test(n$1:A*) virtual [line 46, column 3]\n NULLIFY(&self); [line 46, column 3]\n EXIT_SCOPE(n$1,n$2,self); [line 46, column 3]\n APPLY_ABSTRACTION; [line 46, column 3]\n " shape="box"] +"call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" [label="3: Message Call: test \n n$1=*&self:A* [line 46, column 4]\n n$2=_fun_A::test(n$1:A*) virtual [line 46, column 3]\n " shape="box"] "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_3" -> "call_test#A#instance.41031d78ab8c6914ebc9851c442cbd4e_2" ; @@ -203,7 +203,7 @@ digraph cfg { "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_2" [label="2: Exit A::class_method_fst_arg_of_class_method \n " color=yellow style=filled] -"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" [label="3: Return Stmt \n n$26=_fun_NSBundle::bundleForClass:(sizeof(t=A):unsigned long) [line 111, column 10]\n *&return:NSBundle*=n$26 [line 111, column 3]\n EXIT_SCOPE(n$26); [line 111, column 3]\n APPLY_ABSTRACTION; [line 111, column 3]\n " shape="box"] +"class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" [label="3: Return Stmt \n n$26=_fun_NSBundle::bundleForClass:(sizeof(t=A):unsigned long) [line 111, column 10]\n *&return:NSBundle*=n$26 [line 111, column 3]\n " shape="box"] "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_3" -> "class_method_fst_arg_of_class_method#A#instance.cf9f3087f45649c74ef1f7ca002450f2_2" ; @@ -214,7 +214,7 @@ digraph cfg { "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" [label="2: Exit A::init \n " color=yellow style=filled] -"init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Message Call: init \n n$19=*&self:A* [line 86, column 3]\n n$20=_fun_NSObject::init(n$19:A*) [line 86, column 3]\n NULLIFY(&self); [line 86, column 3]\n EXIT_SCOPE(n$19,n$20,self); [line 86, column 3]\n APPLY_ABSTRACTION; [line 86, column 3]\n " shape="box"] +"init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Message Call: init \n n$19=*&self:A* [line 86, column 3]\n n$20=_fun_NSObject::init(n$19:A*) [line 86, column 3]\n " shape="box"] "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" -> "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" ; @@ -225,7 +225,7 @@ digraph cfg { "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" [label="2: Exit A::loggerName \n " color=yellow style=filled] -"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" [label="3: Return Stmt \n n$22=_fun_NSStringFromClass(sizeof(t=A):unsigned long) [line 90, column 10]\n *&return:NSString*=n$22 [line 90, column 3]\n EXIT_SCOPE(n$22); [line 90, column 3]\n APPLY_ABSTRACTION; [line 90, column 3]\n " shape="box"] +"loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" [label="3: Return Stmt \n n$22=_fun_NSStringFromClass(sizeof(t=A):unsigned long) [line 90, column 10]\n *&return:NSString*=n$22 [line 90, column 3]\n " shape="box"] "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_3" -> "loggerName#A#instance.36b9a42412bcf7d8d3f8397eb2bcb555_2" ; @@ -236,11 +236,11 @@ digraph cfg { "t#A#instance.e31b9a7bced712626784e2860af1a31b_2" [label="2: Exit A::t \n " color=yellow style=filled] -"t#A#instance.e31b9a7bced712626784e2860af1a31b_3" [label="3: Message Call: b_m \n n$12=_fun_B::b_m() [line 74, column 3]\n EXIT_SCOPE(n$12); [line 74, column 3]\n APPLY_ABSTRACTION; [line 74, column 3]\n " shape="box"] +"t#A#instance.e31b9a7bced712626784e2860af1a31b_3" [label="3: Message Call: b_m \n n$12=_fun_B::b_m() [line 74, column 3]\n " shape="box"] "t#A#instance.e31b9a7bced712626784e2860af1a31b_3" -> "t#A#instance.e31b9a7bced712626784e2860af1a31b_2" ; -"t#A#instance.e31b9a7bced712626784e2860af1a31b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B*); [line 73, column 3]\n n$13=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 73, column 10]\n n$14=_fun_NSObject::init(n$13:B*) virtual [line 73, column 10]\n *&b:B*=n$14 [line 73, column 3]\n NULLIFY(&b); [line 73, column 3]\n EXIT_SCOPE(n$13,n$14,b); [line 73, column 3]\n " shape="box"] +"t#A#instance.e31b9a7bced712626784e2860af1a31b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(b:B*); [line 73, column 3]\n n$13=_fun___objc_alloc_no_fail(sizeof(t=B):unsigned long) [line 73, column 10]\n n$14=_fun_NSObject::init(n$13:B*) virtual [line 73, column 10]\n *&b:B*=n$14 [line 73, column 3]\n " shape="box"] "t#A#instance.e31b9a7bced712626784e2860af1a31b_4" -> "t#A#instance.e31b9a7bced712626784e2860af1a31b_3" ; @@ -258,7 +258,7 @@ digraph cfg { "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_2" [label="2: Exit A::use_class_in_other_ways: \n " color=yellow style=filled] -"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" [label="3: Return Stmt \n n$16=*&object:B* [line 78, column 11]\n n$17=_fun_B::isC:(n$16:B*,sizeof(t=A):unsigned long) virtual [line 78, column 10]\n *&return:_Bool=n$17 [line 78, column 3]\n NULLIFY(&object); [line 78, column 3]\n EXIT_SCOPE(n$16,n$17,object); [line 78, column 3]\n APPLY_ABSTRACTION; [line 78, column 3]\n " shape="box"] +"use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" [label="3: Return Stmt \n n$16=*&object:B* [line 78, column 11]\n n$17=_fun_B::isC:(n$16:B*,sizeof(t=A):unsigned long) virtual [line 78, column 10]\n *&return:_Bool=n$17 [line 78, column 3]\n " shape="box"] "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_3" -> "use_class_in_other_ways:#A(class B)#instance.7a96604c2c855db834d214f72f83a306_2" ; @@ -276,7 +276,7 @@ digraph cfg { "isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_2" [label="2: Exit B::isC: \n " color=yellow style=filled] -"isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_3" [label="3: Return Stmt \n *&return:_Bool=1 [line 23, column 3]\n " shape="box"] "isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_3" -> "isC:#B(struct objc_class)#instance.ab14fb7a19510df6032d65aa27b0f12d_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot b/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot index 03bf4e69e..1822da86c 100644 --- a/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/self_static/static.m.dot @@ -7,7 +7,7 @@ digraph cfg { "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_2" [label="2: Exit MyClass::aClassMethod \n " color=yellow style=filled] -"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" [label="3: DeclStmt \n VARIABLE_DECLARED(myClass:MyClass*); [line 19, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=MyClass):unsigned long) [line 19, column 22]\n *&myClass:MyClass*=n$0 [line 19, column 3]\n NULLIFY(&myClass); [line 19, column 3]\n EXIT_SCOPE(n$0,myClass); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" [label="3: DeclStmt \n VARIABLE_DECLARED(myClass:MyClass*); [line 19, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=MyClass):unsigned long) [line 19, column 22]\n *&myClass:MyClass*=n$0 [line 19, column 3]\n " shape="box"] "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_3" -> "aClassMethod#MyClass#class.889732ffd1b4632cdd7c3f47090e69c0_2" ; @@ -18,7 +18,7 @@ digraph cfg { "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_2" [label="2: Exit MyClass::aClassMethod2 \n " color=yellow style=filled] -"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" [label="3: Message Call: aClassMethod \n n$2=_fun_MyClass::aClassMethod() [line 27, column 3]\n EXIT_SCOPE(n$2); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" [label="3: Message Call: aClassMethod \n n$2=_fun_MyClass::aClassMethod() [line 27, column 3]\n " shape="box"] "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_3" -> "aClassMethod2#MyClass#class.98feaa0eae511501cde734a35e83bb61_2" ; @@ -29,7 +29,7 @@ digraph cfg { "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_2" [label="2: Exit MyClass::anInstanceMethod \n " color=yellow style=filled] -"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" [label="3: Message Call: aClassMethod \n n$1=_fun_MyClass::aClassMethod() [line 23, column 3]\n EXIT_SCOPE(n$1); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" [label="3: Message Call: aClassMethod \n n$1=_fun_MyClass::aClassMethod() [line 23, column 3]\n " shape="box"] "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_3" -> "anInstanceMethod#MyClass#instance.7c18faea6ff486bf30aa019b169dffc3_2" ; @@ -40,7 +40,7 @@ digraph cfg { "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_2" [label="2: Exit MyClass::anInstanceMethod2 \n " color=yellow style=filled] -"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" [label="3: Message Call: getX \n n$3=*&self:MyClass* [line 35, column 4]\n n$4=_fun_MyClass::getX(n$3:MyClass*) virtual [line 35, column 3]\n NULLIFY(&self); [line 35, column 3]\n EXIT_SCOPE(n$3,n$4,self); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" [label="3: Message Call: getX \n n$3=*&self:MyClass* [line 35, column 4]\n n$4=_fun_MyClass::getX(n$3:MyClass*) virtual [line 35, column 3]\n " shape="box"] "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_3" -> "anInstanceMethod2#MyClass#instance.d2b66ad8a2fe88927ba6f54fa43eabea_2" ; @@ -51,7 +51,7 @@ digraph cfg { "getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_2" [label="2: Exit MyClass::getX \n " color=yellow style=filled] -"getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_3" [label="3: Return Stmt \n *&return:int=0 [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_3" [label="3: Return Stmt \n *&return:int=0 [line 31, column 3]\n " shape="box"] "getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_3" -> "getX#MyClass#instance.ddf21e5eecd35d40e2b277a5d6933812_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot b/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot index 740a4bdba..df8bae2c0 100644 --- a/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/strings/global_string_literal.m.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_2" [label="2: Exit __infer_globals_initializer_lastName \n " color=yellow style=filled] -"__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$lastName:NSString*); [line 10, column 1]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 10, column 22]\n *&#GB$lastName:NSString*=n$0 [line 10, column 1]\n EXIT_SCOPE(n$0); [line 10, column 1]\n APPLY_ABSTRACTION; [line 10, column 1]\n " shape="box"] +"__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$lastName:NSString*); [line 10, column 1]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 10, column 22]\n *&#GB$lastName:NSString*=n$0 [line 10, column 1]\n " shape="box"] "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_3" -> "__infer_globals_initializer_lastName.ab5584b9c7a64c926bfb635dcb73a207_2" ; @@ -18,7 +18,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 14]\n APPLY_ABSTRACTION; [line 12, column 14]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 14]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot b/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot index 51cbefaab..007899220 100644 --- a/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/strings/string_literal.m.dot @@ -7,11 +7,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lastName:NSString*); [line 11, column 3]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 11, column 24]\n *&lastName:NSString*=n$0 [line 11, column 3]\n NULLIFY(&lastName); [line 11, column 3]\n EXIT_SCOPE(n$0,lastName); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(lastName:NSString*); [line 11, column 3]\n n$0=_fun_NSString::stringWithUTF8String:(\"Rodriguez\":char* const ) [line 11, column 24]\n *&lastName:NSString*=n$0 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/subclass/MyClass.m.dot b/infer/tests/codetoanalyze/objc/frontend/subclass/MyClass.m.dot index e363720c9..5d456e816 100644 --- a/infer/tests/codetoanalyze/objc/frontend/subclass/MyClass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/subclass/MyClass.m.dot @@ -7,7 +7,7 @@ digraph cfg { "myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_2" [label="2: Exit MyClass::myNumber \n " color=yellow style=filled] -"myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_3" [label="3: Return Stmt \n *&return:int=1 [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_3" [label="3: Return Stmt \n *&return:int=1 [line 13, column 3]\n " shape="box"] "myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_3" -> "myNumber#MyClass#instance.b5167e9607437362e48461937478a06c_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot b/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot index a3a96f21f..3b8ac6c59 100644 --- a/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/subclass/MySubClass.m.dot @@ -7,11 +7,11 @@ digraph cfg { "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_2" [label="2: Exit MySubclass::myNumber \n " color=yellow style=filled] -"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" [label="3: Return Stmt \n n$0=*&subclassNumber:int [line 16, column 10]\n *&return:int=n$0 [line 16, column 3]\n NULLIFY(&subclassNumber); [line 16, column 3]\n EXIT_SCOPE(n$0,subclassNumber); [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" [label="3: Return Stmt \n n$0=*&subclassNumber:int [line 16, column 10]\n *&return:int=n$0 [line 16, column 3]\n " shape="box"] "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_2" ; -"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" [label="4: DeclStmt \n VARIABLE_DECLARED(subclassNumber:int); [line 15, column 3]\n n$1=*&self:MySubclass* [line 15, column 24]\n n$2=_fun_MyClass::myNumber(n$1:MySubclass*) [line 15, column 24]\n *&subclassNumber:int=(n$2 + 1) [line 15, column 3]\n NULLIFY(&self); [line 15, column 3]\n EXIT_SCOPE(n$1,n$2,self); [line 15, column 3]\n " shape="box"] +"myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" [label="4: DeclStmt \n VARIABLE_DECLARED(subclassNumber:int); [line 15, column 3]\n n$1=*&self:MySubclass* [line 15, column 24]\n n$2=_fun_MyClass::myNumber(n$1:MySubclass*) [line 15, column 24]\n *&subclassNumber:int=(n$2 + 1) [line 15, column 3]\n " shape="box"] "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_4" -> "myNumber#MySubclass#instance.8e9ae0ac35cf895ff25e7570cdce81aa_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot b/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot index 0058e80de..12cdf161c 100644 --- a/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot +++ b/infer/tests/codetoanalyze/objc/frontend/subclass/main.c.dot @@ -7,11 +7,11 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n APPLY_ABSTRACTION; [line 12, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 12, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:A*); [line 11, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 11, column 11]\n n$1=_fun_NSObject::init(n$0:A*) virtual [line 11, column 10]\n *&a:A*=n$1 [line 11, column 3]\n NULLIFY(&a); [line 11, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 11, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:A*); [line 11, column 3]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 11, column 11]\n n$1=_fun_NSObject::init(n$0:A*) virtual [line 11, column 10]\n *&a:A*=n$1 [line 11, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/synchronizedStmt/sync.m.dot b/infer/tests/codetoanalyze/objc/frontend/synchronizedStmt/sync.m.dot index 51564b881..091e0681d 100644 --- a/infer/tests/codetoanalyze/objc/frontend/synchronizedStmt/sync.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/synchronizedStmt/sync.m.dot @@ -7,15 +7,15 @@ digraph cfg { "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_2" [label="2: Exit A::myMethod: \n " color=yellow style=filled] -"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_3" [label="3: Call _fun___delete_locked_attribute \n n$0=*&anObj:objc_object* [line 19, column 17]\n n$1=_fun___delete_locked_attribute(n$0:objc_object*) [line 19, column 3]\n NULLIFY(&anObj); [line 19, column 3]\n EXIT_SCOPE(n$0,n$1,anObj); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_3" [label="3: Call _fun___delete_locked_attribute \n n$0=*&anObj:objc_object* [line 19, column 17]\n n$1=_fun___delete_locked_attribute(n$0:objc_object*) [line 19, column 3]\n " shape="box"] "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_3" -> "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_2" ; -"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_4" [label="4: Call _fun_foo \n n$2=*&x:int [line 26, column 9]\n n$3=_fun_foo(n$2:int) [line 26, column 5]\n NULLIFY(&x); [line 26, column 5]\n EXIT_SCOPE(n$2,n$3,x); [line 26, column 5]\n " shape="box"] +"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_4" [label="4: Call _fun_foo \n n$2=*&x:int [line 26, column 9]\n n$3=_fun_foo(n$2:int) [line 26, column 5]\n " shape="box"] "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_4" -> "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_3" ; -"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_5" [label="5: UnaryOperator \n n$4=*&x:int [line 25, column 5]\n *&x:int=(n$4 + 1) [line 25, column 5]\n EXIT_SCOPE(n$4); [line 25, column 5]\n " shape="box"] +"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_5" [label="5: UnaryOperator \n n$4=*&x:int [line 25, column 5]\n *&x:int=(n$4 + 1) [line 25, column 5]\n " shape="box"] "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_5" -> "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_4" ; @@ -23,7 +23,7 @@ digraph cfg { "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_6" -> "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_5" ; -"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_7" [label="7: Call _fun___set_locked_attribute \n n$5=*&anObj:objc_object* [line 19, column 17]\n n$6=_fun___set_locked_attribute(n$5:objc_object*) [line 19, column 3]\n EXIT_SCOPE(n$5,n$6); [line 19, column 3]\n " shape="box"] +"myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_7" [label="7: Call _fun___set_locked_attribute \n n$5=*&anObj:objc_object* [line 19, column 17]\n n$6=_fun___set_locked_attribute(n$5:objc_object*) [line 19, column 3]\n " shape="box"] "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_7" -> "myMethod:#A(struct objc_object)#instance.6280971b05d6b617955d8216a04fe405_6" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/types/attributes.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/attributes.m.dot index e2d1bc6eb..84c215541 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/attributes.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/attributes.m.dot @@ -7,51 +7,51 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 40, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; -"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&aStdRef:A* [line 37, column 22]\n *&anUnsafeUnretRef:A*=n$0 [line 37, column 3]\n NULLIFY(&anUnsafeUnretRef); [line 37, column 3]\n NULLIFY(&aStdRef); [line 37, column 3]\n EXIT_SCOPE(n$0,anUnsafeUnretRef,aStdRef); [line 37, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&aStdRef:A* [line 37, column 22]\n *&anUnsafeUnretRef:A*=n$0 [line 37, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&aStdRef:A* [line 35, column 18]\n *&anAutoRelRef:A*=n$1 [line 35, column 3]\n NULLIFY(&anAutoRelRef); [line 35, column 3]\n EXIT_SCOPE(n$1,anAutoRelRef); [line 35, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&aStdRef:A* [line 35, column 18]\n *&anAutoRelRef:A*=n$1 [line 35, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&aStdRef:A* [line 33, column 14]\n *&aWeakRef:A*=n$2 [line 33, column 3]\n NULLIFY(&aWeakRef); [line 33, column 3]\n EXIT_SCOPE(n$2,aWeakRef); [line 33, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: BinaryOperatorStmt: Assign \n n$2=*&aStdRef:A* [line 33, column 14]\n *&aWeakRef:A*=n$2 [line 33, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&aStrongRef:A*=null [line 31, column 3]\n NULLIFY(&aStrongRef); [line 31, column 3]\n EXIT_SCOPE(aStrongRef); [line 31, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n *&aStrongRef:A*=null [line 31, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$3=*&aStrongRef:A* [line 29, column 13]\n *&aStdRef:A*=n$3 [line 29, column 3]\n NULLIFY(&aStrongRef); [line 29, column 3]\n EXIT_SCOPE(n$3,aStrongRef); [line 29, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: BinaryOperatorStmt: Assign \n n$3=*&aStrongRef:A* [line 29, column 13]\n *&aStdRef:A*=n$3 [line 29, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 27, column 16]\n *&aStrongRef:A*=n$4 [line 27, column 3]\n EXIT_SCOPE(n$4); [line 27, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=A):unsigned long) [line 27, column 16]\n *&aStrongRef:A*=n$4 [line 27, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(aStdRef:A*); [line 24, column 3]\n *&aStdRef:A*=null [line 24, column 3]\n NULLIFY(&aStdRef); [line 24, column 3]\n EXIT_SCOPE(aStdRef); [line 24, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: DeclStmt \n VARIABLE_DECLARED(aStdRef:A*); [line 24, column 3]\n *&aStdRef:A*=null [line 24, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(anAutoRelRef:A__autoreleasing *); [line 23, column 3]\n *&anAutoRelRef:A__autoreleasing *=null [line 23, column 3]\n NULLIFY(&anAutoRelRef); [line 23, column 3]\n EXIT_SCOPE(anAutoRelRef); [line 23, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: DeclStmt \n VARIABLE_DECLARED(anAutoRelRef:A__autoreleasing *); [line 23, column 3]\n *&anAutoRelRef:A__autoreleasing *=null [line 23, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; -"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(anUnsafeUnretRef:A__unsafe_unretained *); [line 22, column 3]\n *&anUnsafeUnretRef:A__unsafe_unretained *=null [line 22, column 3]\n NULLIFY(&anUnsafeUnretRef); [line 22, column 3]\n EXIT_SCOPE(anUnsafeUnretRef); [line 22, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_12" [label="12: DeclStmt \n VARIABLE_DECLARED(anUnsafeUnretRef:A__unsafe_unretained *); [line 22, column 3]\n *&anUnsafeUnretRef:A__unsafe_unretained *=null [line 22, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_12" -> "main.fad58de7366495db4650cfefac2fcd61_11" ; -"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: DeclStmt \n VARIABLE_DECLARED(aStrongRef:A*); [line 21, column 3]\n *&aStrongRef:A*=null [line 21, column 3]\n NULLIFY(&aStrongRef); [line 21, column 3]\n EXIT_SCOPE(aStrongRef); [line 21, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_13" [label="13: DeclStmt \n VARIABLE_DECLARED(aStrongRef:A*); [line 21, column 3]\n *&aStrongRef:A*=null [line 21, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_13" -> "main.fad58de7366495db4650cfefac2fcd61_12" ; -"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(aWeakRef:A__weak *); [line 20, column 3]\n *&aWeakRef:A__weak *=null [line 20, column 3]\n NULLIFY(&aWeakRef); [line 20, column 3]\n EXIT_SCOPE(aWeakRef); [line 20, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_14" [label="14: DeclStmt \n VARIABLE_DECLARED(aWeakRef:A__weak *); [line 20, column 3]\n *&aWeakRef:A__weak *=null [line 20, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_14" -> "main.fad58de7366495db4650cfefac2fcd61_13" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot index a9f3ff10e..66fc69aff 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/testloop.m.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_2" [label="2: Exit __infer_globals_initializer___iPadVideoAdLayout \n " color=yellow style=filled] -"__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$__iPadVideoAdLayout:FBVideoAdLayout const ); [line 24, column 1]\n *&#GB$__iPadVideoAdLayout.placeHolderWidth:float=554 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.placeHolderHeight:float=350 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentLeftSidePadding:float=140 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentRightSidePadding:float=60 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.additionalPlaceholderOffset:float=40 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentGap:float=11 [line 24, column 52]\n APPLY_ABSTRACTION; [line 24, column 52]\n " shape="box"] +"__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$__iPadVideoAdLayout:FBVideoAdLayout const ); [line 24, column 1]\n *&#GB$__iPadVideoAdLayout.placeHolderWidth:float=554 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.placeHolderHeight:float=350 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentLeftSidePadding:float=140 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentRightSidePadding:float=60 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.additionalPlaceholderOffset:float=40 [line 24, column 52]\n *&#GB$__iPadVideoAdLayout.contentGap:float=11 [line 24, column 52]\n " shape="box"] "__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_3" -> "__infer_globals_initializer___iPadVideoAdLayout#774934d200ab6ea201ea7444923ebf03.91a439a98050a5c80fe23fc56f573207_2" ; @@ -18,7 +18,7 @@ digraph cfg { "__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_2" [label="2: Exit __infer_globals_initializer___iPhoneVideoAdLayout \n " color=yellow style=filled] -"__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$__iPhoneVideoAdLayout:FBVideoAdLayout const ); [line 33, column 1]\n *&#GB$__iPhoneVideoAdLayout.placeHolderWidth:float=244 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.placeHolderHeight:float=175 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentLeftSidePadding:float=20 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentRightSidePadding:float=20 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.additionalPlaceholderOffset:float=0 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentGap:float=7 [line 33, column 54]\n APPLY_ABSTRACTION; [line 33, column 54]\n " shape="box"] +"__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$__iPhoneVideoAdLayout:FBVideoAdLayout const ); [line 33, column 1]\n *&#GB$__iPhoneVideoAdLayout.placeHolderWidth:float=244 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.placeHolderHeight:float=175 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentLeftSidePadding:float=20 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentRightSidePadding:float=20 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.additionalPlaceholderOffset:float=0 [line 33, column 54]\n *&#GB$__iPhoneVideoAdLayout.contentGap:float=7 [line 33, column 54]\n " shape="box"] "__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_3" -> "__infer_globals_initializer___iPhoneVideoAdLayout#774934d200ab6ea201ea7444923ebf03.1e6bd750ce4ce65119ad54cee8ee01a8_2" ; @@ -29,7 +29,7 @@ digraph cfg { "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_2" [label="2: Exit FBScrollViewDelegateProxy::layoutToUse \n " color=yellow style=filled] -"layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_3" [label="3: Return Stmt \n n$0=*&#GB$__iPhoneVideoAdLayout:FBVideoAdLayout [line 43, column 10]\n *&return:FBVideoAdLayout=n$0 [line 43, column 3]\n EXIT_SCOPE(n$0); [line 43, column 3]\n APPLY_ABSTRACTION; [line 43, column 3]\n " shape="box"] +"layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_3" [label="3: Return Stmt \n n$0=*&#GB$__iPhoneVideoAdLayout:FBVideoAdLayout [line 43, column 10]\n *&return:FBVideoAdLayout=n$0 [line 43, column 3]\n " shape="box"] "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_3" -> "layoutToUse#FBScrollViewDelegateProxy#class.0fb14252876875c85e9253ab00bfb755_2" ; 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 7d1f449cb..0e97db2d1 100644 --- a/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/types/void_call.m.dot @@ -7,7 +7,7 @@ digraph cfg { "bar1.fa85cca91963d8f301e34247048fca39_2" [label="2: Exit bar1 \n " color=yellow style=filled] -"bar1.fa85cca91963d8f301e34247048fca39_3" [label="3: Return Stmt \n n$0=*&a:int [line 29, column 26]\n *&a:int=(n$0 + 1) [line 29, column 26]\n *&return:int=n$0 [line 29, column 19]\n NULLIFY(&a); [line 29, column 19]\n EXIT_SCOPE(n$0,a); [line 29, column 19]\n APPLY_ABSTRACTION; [line 29, column 19]\n " shape="box"] +"bar1.fa85cca91963d8f301e34247048fca39_3" [label="3: Return Stmt \n n$0=*&a:int [line 29, column 26]\n *&a:int=(n$0 + 1) [line 29, column 26]\n *&return:int=n$0 [line 29, column 19]\n " shape="box"] "bar1.fa85cca91963d8f301e34247048fca39_3" -> "bar1.fa85cca91963d8f301e34247048fca39_2" ; @@ -18,7 +18,7 @@ digraph cfg { "foo1.299a0be4a5a79e6a59fdd251b19d78bb_2" [label="2: Exit foo1 \n " color=yellow style=filled] -"foo1.299a0be4a5a79e6a59fdd251b19d78bb_3" [label="3: UnaryOperator \n n$0=*&a:int [line 27, column 20]\n *&a:int=(n$0 + 1) [line 27, column 20]\n NULLIFY(&a); [line 27, column 20]\n EXIT_SCOPE(n$0,a); [line 27, column 20]\n APPLY_ABSTRACTION; [line 27, column 20]\n " shape="box"] +"foo1.299a0be4a5a79e6a59fdd251b19d78bb_3" [label="3: UnaryOperator \n n$0=*&a:int [line 27, column 20]\n *&a:int=(n$0 + 1) [line 27, column 20]\n " shape="box"] "foo1.299a0be4a5a79e6a59fdd251b19d78bb_3" -> "foo1.299a0be4a5a79e6a59fdd251b19d78bb_2" ; @@ -29,7 +29,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 46, column 3]\n APPLY_ABSTRACTION; [line 46, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 46, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -37,32 +37,32 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_4" -> "main.fad58de7366495db4650cfefac2fcd61_3" ; -"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, if) \n n$0=*&o:AClass* [line 40, column 7]\n PRUNE(n$0, true); [line 40, column 7]\n EXIT_SCOPE(n$0); [line 40, column 7]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_5" [label="5: Prune (true branch, if) \n n$0=*&o:AClass* [line 40, column 7]\n PRUNE(n$0, true); [line 40, column 7]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_5" -> "main.fad58de7366495db4650cfefac2fcd61_8" ; -"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, if) \n n$0=*&o:AClass* [line 40, column 7]\n PRUNE(!n$0, false); [line 40, column 7]\n NULLIFY(&x); [line 40, column 7]\n NULLIFY(&o); [line 40, column 7]\n EXIT_SCOPE(n$0,x,o); [line 40, column 7]\n APPLY_ABSTRACTION; [line 40, column 7]\n " shape="invhouse"] +"main.fad58de7366495db4650cfefac2fcd61_6" [label="6: Prune (false branch, if) \n n$0=*&o:AClass* [line 40, column 7]\n PRUNE(!n$0, false); [line 40, column 7]\n " shape="invhouse"] "main.fad58de7366495db4650cfefac2fcd61_6" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&o:AClass* [line 43, column 10]\n n$1=*&x:int [line 43, column 16]\n n$3=_fun_AClass::bar:(n$2:AClass*,n$1:int) virtual [line 43, column 9]\n *&x:int=n$3 [line 43, column 5]\n NULLIFY(&x); [line 43, column 5]\n NULLIFY(&o); [line 43, column 5]\n EXIT_SCOPE(n$1,n$2,n$3,x,o); [line 43, column 5]\n APPLY_ABSTRACTION; [line 43, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&o:AClass* [line 43, column 10]\n n$1=*&x:int [line 43, column 16]\n n$3=_fun_AClass::bar:(n$2:AClass*,n$1:int) virtual [line 43, column 9]\n *&x:int=n$3 [line 43, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_7" -> "main.fad58de7366495db4650cfefac2fcd61_4" ; -"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Message Call: foo: \n n$5=*&o:AClass* [line 42, column 6]\n n$4=*&x:int [line 42, column 12]\n n$6=_fun_AClass::foo:(n$5:AClass*,n$4:int) virtual [line 42, column 5]\n EXIT_SCOPE(n$4,n$5,n$6); [line 42, column 5]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_8" [label="8: Message Call: foo: \n n$5=*&o:AClass* [line 42, column 6]\n n$4=*&x:int [line 42, column 12]\n n$6=_fun_AClass::foo:(n$5:AClass*,n$4:int) virtual [line 42, column 5]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_8" -> "main.fad58de7366495db4650cfefac2fcd61_7" ; -"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(o:AClass*); [line 38, column 3]\n n$9=_fun___objc_alloc_no_fail(sizeof(t=AClass):unsigned long) [line 38, column 15]\n *&o:AClass*=n$9 [line 38, column 3]\n EXIT_SCOPE(n$9); [line 38, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_9" [label="9: DeclStmt \n VARIABLE_DECLARED(o:AClass*); [line 38, column 3]\n n$9=_fun___objc_alloc_no_fail(sizeof(t=AClass):unsigned long) [line 38, column 15]\n *&o:AClass*=n$9 [line 38, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_5" ; "main.fad58de7366495db4650cfefac2fcd61_9" -> "main.fad58de7366495db4650cfefac2fcd61_6" ; -"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$10=*&x:int [line 36, column 12]\n n$11=_fun_bar1(n$10:int) [line 36, column 7]\n *&x:int=n$11 [line 36, column 3]\n EXIT_SCOPE(n$10,n$11); [line 36, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_10" [label="10: BinaryOperatorStmt: Assign \n n$10=*&x:int [line 36, column 12]\n n$11=_fun_bar1(n$10:int) [line 36, column 7]\n *&x:int=n$11 [line 36, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_10" -> "main.fad58de7366495db4650cfefac2fcd61_9" ; -"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Call _fun_foo1 \n n$12=*&x:int [line 34, column 8]\n n$13=_fun_foo1(n$12:int) [line 34, column 3]\n EXIT_SCOPE(n$12,n$13); [line 34, column 3]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_11" [label="11: Call _fun_foo1 \n n$12=*&x:int [line 34, column 8]\n n$13=_fun_foo1(n$12:int) [line 34, column 3]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_11" -> "main.fad58de7366495db4650cfefac2fcd61_10" ; @@ -77,7 +77,7 @@ digraph cfg { "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_2" [label="2: Exit AClass::bar: \n " color=yellow style=filled] -"bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" [label="3: Return Stmt \n n$1=*&a:int [line 22, column 10]\n *&a:int=(n$1 + 1) [line 22, column 10]\n *&return:int=n$1 [line 22, column 3]\n NULLIFY(&a); [line 22, column 3]\n EXIT_SCOPE(n$1,a); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" [label="3: Return Stmt \n n$1=*&a:int [line 22, column 10]\n *&a:int=(n$1 + 1) [line 22, column 10]\n *&return:int=n$1 [line 22, column 3]\n " shape="box"] "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_3" -> "bar:#AClass#instance.c024d9849ec28286083491e7c46a4982_2" ; @@ -88,7 +88,7 @@ digraph cfg { "foo:#AClass#instance.85442408d439a21334483f95effd3023_2" [label="2: Exit AClass::foo: \n " color=yellow style=filled] -"foo:#AClass#instance.85442408d439a21334483f95effd3023_3" [label="3: UnaryOperator \n n$0=*&a:int [line 19, column 3]\n *&a:int=(n$0 + 1) [line 19, column 3]\n NULLIFY(&a); [line 19, column 3]\n EXIT_SCOPE(n$0,a); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"foo:#AClass#instance.85442408d439a21334483f95effd3023_3" [label="3: UnaryOperator \n n$0=*&a:int [line 19, column 3]\n *&a:int=(n$0 + 1) [line 19, column 3]\n " shape="box"] "foo:#AClass#instance.85442408d439a21334483f95effd3023_3" -> "foo:#AClass#instance.85442408d439a21334483f95effd3023_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot index 3e96fa3a4..f8216ddb3 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass.m.dot @@ -7,7 +7,7 @@ digraph cfg { "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" [label="2: Exit AClass::sharedInstance \n " color=yellow style=filled] -"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n *&return:NSObject*=n$0 [line 19, column 3]\n EXIT_SCOPE(n$0); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n *&return:NSObject*=n$0 [line 19, column 3]\n " shape="box"] "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot index a953140fd..5f751a454 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/aclass_2.m.dot @@ -7,7 +7,7 @@ digraph cfg { "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" [label="2: Exit AClass::sharedInstance \n " color=yellow style=filled] -"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n *&return:NSObject*=n$0 [line 19, column 3]\n EXIT_SCOPE(n$0); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" [label="3: Return Stmt \n n$0=*&#GB$aVariable:NSObject* [line 19, column 10]\n *&return:NSObject*=n$0 [line 19, column 3]\n " shape="box"] "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_3" -> "sharedInstance#AClass#instance.07ceaad875949bf6aaa9dc5e3605f563_2" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot index 0c3d9195f..6636a78f1 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/initlist.m.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:int[3*4][2*12]); [line 13, column 3]\n n$0=*&z:int [line 13, column 19]\n *&a[0][0]:int=(n$0 + 1) [line 13, column 18]\n *&a[0][1]:int=2 [line 13, column 18]\n *&a[0][2]:int=3 [line 13, column 18]\n *&a[1][0]:int=5 [line 13, column 33]\n *&a[1][1]:int=6 [line 13, column 33]\n *&a[1][2]:int=7 [line 13, column 33]\n NULLIFY(&z); [line 13, column 33]\n NULLIFY(&a); [line 13, column 33]\n EXIT_SCOPE(n$0,z,a); [line 13, column 33]\n APPLY_ABSTRACTION; [line 13, column 33]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:int[3*4][2*12]); [line 13, column 3]\n n$0=*&z:int [line 13, column 19]\n *&a[0][0]:int=(n$0 + 1) [line 13, column 18]\n *&a[0][1]:int=2 [line 13, column 18]\n *&a[0][2]:int=3 [line 13, column 18]\n *&a[1][0]:int=5 [line 13, column 33]\n *&a[1][1]:int=6 [line 13, column 33]\n *&a[1][2]:int=7 [line 13, column 33]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; @@ -18,7 +18,7 @@ digraph cfg { "struct_init_test.b3909a459f16e15611cc425c52c74b0c_2" [label="2: Exit struct_init_test \n " color=yellow style=filled] -"struct_init_test.b3909a459f16e15611cc425c52c74b0c_3" [label="3: Return Stmt \n n$0=*&__return_param:CGAffineTransform* [line 27, column 3]\n *n$0.a:double=-1 [line 27, column 29]\n *n$0.b:double=0 [line 27, column 29]\n *n$0.c:double=-0 [line 27, column 29]\n *n$0.d:double=-1 [line 27, column 29]\n *n$0.tx:double=0. [line 27, column 62]\n *n$0.ty:double=0. [line 27, column 62]\n n$1=*n$0:CGAffineTransform [line 27, column 10]\n NULLIFY(&__return_param); [line 27, column 10]\n EXIT_SCOPE(n$0,n$1,__return_param); [line 27, column 10]\n APPLY_ABSTRACTION; [line 27, column 10]\n " shape="box"] +"struct_init_test.b3909a459f16e15611cc425c52c74b0c_3" [label="3: Return Stmt \n n$0=*&__return_param:CGAffineTransform* [line 27, column 3]\n *n$0.a:double=-1 [line 27, column 29]\n *n$0.b:double=0 [line 27, column 29]\n *n$0.c:double=-0 [line 27, column 29]\n *n$0.d:double=-1 [line 27, column 29]\n *n$0.tx:double=0. [line 27, column 62]\n *n$0.ty:double=0. [line 27, column 62]\n n$1=*n$0:CGAffineTransform [line 27, column 10]\n " shape="box"] "struct_init_test.b3909a459f16e15611cc425c52c74b0c_3" -> "struct_init_test.b3909a459f16e15611cc425c52c74b0c_2" ; @@ -29,15 +29,15 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] -"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:C*[3*8]); [line 23, column 3]\n n$0=*&c1:C* [line 23, column 15]\n n$1=_fun_NSObject::init(n$0:C*) virtual [line 23, column 14]\n *&a[0]:C*=n$1 [line 23, column 13]\n n$2=*&c1:C* [line 23, column 25]\n *&a[1]:C*=n$2 [line 23, column 13]\n n$3=*&c2:C* [line 23, column 29]\n *&a[2]:C*=n$3 [line 23, column 13]\n NULLIFY(&c2); [line 23, column 13]\n NULLIFY(&a); [line 23, column 13]\n NULLIFY(&c1); [line 23, column 13]\n EXIT_SCOPE(n$0,n$1,n$2,n$3,c2,a,c1); [line 23, column 13]\n APPLY_ABSTRACTION; [line 23, column 13]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:C*[3*8]); [line 23, column 3]\n n$0=*&c1:C* [line 23, column 15]\n n$1=_fun_NSObject::init(n$0:C*) virtual [line 23, column 14]\n *&a[0]:C*=n$1 [line 23, column 13]\n n$2=*&c1:C* [line 23, column 25]\n *&a[1]:C*=n$2 [line 23, column 13]\n n$3=*&c2:C* [line 23, column 29]\n *&a[2]:C*=n$3 [line 23, column 13]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c2:C*); [line 22, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=C):unsigned long) [line 22, column 11]\n *&c2:C*=n$4 [line 22, column 3]\n EXIT_SCOPE(n$4); [line 22, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: DeclStmt \n VARIABLE_DECLARED(c2:C*); [line 22, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=C):unsigned long) [line 22, column 11]\n *&c2:C*=n$4 [line 22, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c1:C*); [line 21, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=C):unsigned long) [line 21, column 11]\n *&c1:C*=n$5 [line 21, column 3]\n EXIT_SCOPE(n$5); [line 21, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: DeclStmt \n VARIABLE_DECLARED(c1:C*); [line 21, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=C):unsigned long) [line 21, column 11]\n *&c1:C*=n$5 [line 21, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; diff --git a/infer/tests/codetoanalyze/objc/frontend/vardecl/last_af.m.dot b/infer/tests/codetoanalyze/objc/frontend/vardecl/last_af.m.dot index cb0e81594..7e13517b7 100644 --- a/infer/tests/codetoanalyze/objc/frontend/vardecl/last_af.m.dot +++ b/infer/tests/codetoanalyze/objc/frontend/vardecl/last_af.m.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(b:int); [line 8, column 14]\n n$0=*&a:int [line 8, column 29]\n *&b:int=(n$0 + 2) [line 8, column 14]\n NULLIFY(&b); [line 8, column 14]\n NULLIFY(&a); [line 8, column 14]\n EXIT_SCOPE(n$0,b,a); [line 8, column 14]\n APPLY_ABSTRACTION; [line 8, column 14]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: DeclStmt \n VARIABLE_DECLARED(b:int); [line 8, column 14]\n n$0=*&a:int [line 8, column 29]\n *&b:int=(n$0 + 2) [line 8, column 14]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot b/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot index 38c55a20b..275db61d1 100644 --- a/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/annotations/nonnull_annotations.m.dot @@ -7,7 +7,7 @@ digraph cfg { "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" [label="2: Exit A::init \n " color=yellow style=filled] -"init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Return Stmt \n n$0=*&self:A* [line 20, column 10]\n *&return:objc_object*=n$0 [line 20, column 3]\n NULLIFY(&self); [line 20, column 3]\n EXIT_SCOPE(n$0,self); [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" [label="3: Return Stmt \n n$0=*&self:A* [line 20, column 10]\n *&return:objc_object*=n$0 [line 20, column 3]\n " shape="box"] "init#A#instance.eee79aaaddd644404e17691a7e7d809a_3" -> "init#A#instance.eee79aaaddd644404e17691a7e7d809a_2" ; @@ -18,11 +18,11 @@ digraph cfg { "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_2" [label="2: Exit A::test1: \n " color=yellow style=filled] -"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" [label="3: Return Stmt \n n$1=*&aa:A* [line 25, column 10]\n n$2=*n$1.x:int [line 25, column 10]\n *&return:int=n$2 [line 25, column 3]\n NULLIFY(&aa); [line 25, column 3]\n EXIT_SCOPE(n$1,n$2,aa); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" [label="3: Return Stmt \n n$1=*&aa:A* [line 25, column 10]\n n$2=*n$1.x:int [line 25, column 10]\n *&return:int=n$2 [line 25, column 3]\n " shape="box"] "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" -> "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_2" ; -"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 24, column 3]\n n$3=*&a:A* [line 24, column 12]\n n$4=_fun_A::child(n$3:A*) [line 24, column 11]\n *&aa:A*=n$4 [line 24, column 3]\n NULLIFY(&a); [line 24, column 3]\n EXIT_SCOPE(n$3,n$4,a); [line 24, column 3]\n " shape="box"] +"test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 24, column 3]\n n$3=*&a:A* [line 24, column 12]\n n$4=_fun_A::child(n$3:A*) [line 24, column 11]\n *&aa:A*=n$4 [line 24, column 3]\n " shape="box"] "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_4" -> "test1:#A(class A)#instance.61440711d4e2388d4be3731c34a61289_3" ; @@ -33,11 +33,11 @@ digraph cfg { "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_2" [label="2: Exit A::test2: \n " color=yellow style=filled] -"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" [label="3: Return Stmt \n n$5=*&aa:A* [line 30, column 10]\n n$6=*n$5.x:int [line 30, column 10]\n *&return:int=n$6 [line 30, column 3]\n NULLIFY(&aa); [line 30, column 3]\n EXIT_SCOPE(n$5,n$6,aa); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" [label="3: Return Stmt \n n$5=*&aa:A* [line 30, column 10]\n n$6=*n$5.x:int [line 30, column 10]\n *&return:int=n$6 [line 30, column 3]\n " shape="box"] "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" -> "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_2" ; -"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 29, column 3]\n n$7=*&a:A* [line 29, column 12]\n n$8=_fun_A::child(n$7:A*) [line 29, column 11]\n *&aa:A*=n$8 [line 29, column 3]\n NULLIFY(&a); [line 29, column 3]\n EXIT_SCOPE(n$7,n$8,a); [line 29, column 3]\n " shape="box"] +"test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" [label="4: DeclStmt \n VARIABLE_DECLARED(aa:A*); [line 29, column 3]\n n$7=*&a:A* [line 29, column 12]\n n$8=_fun_A::child(n$7:A*) [line 29, column 11]\n *&aa:A*=n$8 [line 29, column 3]\n " shape="box"] "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_4" -> "test2:#A(class A)#instance.3b9594b6f023617f19d57dee6d35cf80_3" ; @@ -48,11 +48,11 @@ digraph cfg { "test3:#A#instance.28bc2df8df797b21818dc2037239f326_2" [label="2: Exit A::test3: \n " color=yellow style=filled] -"test3:#A#instance.28bc2df8df797b21818dc2037239f326_3" [label="3: Return Stmt \n *&return:int=0 [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"test3:#A#instance.28bc2df8df797b21818dc2037239f326_3" [label="3: Return Stmt \n *&return:int=0 [line 35, column 3]\n " shape="box"] "test3:#A#instance.28bc2df8df797b21818dc2037239f326_3" -> "test3:#A#instance.28bc2df8df797b21818dc2037239f326_2" ; -"test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" [label="4: Call n$9 \n n$9=*&successBlock:_fn_(*) [line 34, column 3]\n n$10=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 34, column 16]\n n$11=n$9(n$10:NSString*) objc_block [line 34, column 3]\n NULLIFY(&successBlock); [line 34, column 3]\n EXIT_SCOPE(n$9,n$10,n$11,successBlock); [line 34, column 3]\n " shape="box"] +"test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" [label="4: Call n$9 \n n$9=*&successBlock:_fn_(*) [line 34, column 3]\n n$10=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 34, column 16]\n n$11=n$9(n$10:NSString*) objc_block [line 34, column 3]\n " shape="box"] "test3:#A#instance.28bc2df8df797b21818dc2037239f326_4" -> "test3:#A#instance.28bc2df8df797b21818dc2037239f326_3" ; @@ -63,11 +63,11 @@ digraph cfg { "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" [label="2: Exit A::test4: \n " color=yellow style=filled] -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" [label="3: Return Stmt \n *&return:int=0 [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" [label="3: Return Stmt \n *&return:int=0 [line 40, column 3]\n " shape="box"] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_2" ; -"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" [label="4: Call n$12 \n n$12=*&successBlock:_fn_(*) [line 39, column 3]\n n$13=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 39, column 16]\n n$14=n$12(n$13:NSString*) objc_block [line 39, column 3]\n NULLIFY(&successBlock); [line 39, column 3]\n EXIT_SCOPE(n$12,n$13,n$14,successBlock); [line 39, column 3]\n " shape="box"] +"test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" [label="4: Call n$12 \n n$12=*&successBlock:_fn_(*) [line 39, column 3]\n n$13=_fun_NSString::stringWithUTF8String:(\"Yay\":char* const ) [line 39, column 16]\n n$14=n$12(n$13:NSString*) objc_block [line 39, column 3]\n " shape="box"] "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_4" -> "test4:#A#instance.718a300d6fa63609a70f22221a548ee5_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot b/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot index ee72c4e9c..d80784457 100644 --- a/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/annotations/nullable_annotations.m.dot @@ -7,15 +7,15 @@ digraph cfg { "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_2" [label="2: Exit npe_property_nullable \n " color=yellow style=filled] -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" [label="3: Return Stmt \n n$1=*&child:Person* [line 56, column 21]\n n$0=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 56, column 12]\n n$2=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 56, column 10]\n *&return:NSDictionary*=n$2 [line 56, column 3]\n NULLIFY(&child); [line 56, column 3]\n EXIT_SCOPE(n$0,n$1,n$2,child); [line 56, column 3]\n APPLY_ABSTRACTION; [line 56, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" [label="3: Return Stmt \n n$1=*&child:Person* [line 56, column 21]\n n$0=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 56, column 12]\n n$2=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$1:objc_object*,n$0:objc_object*,null:objc_object*) [line 56, column 10]\n *&return:NSDictionary*=n$2 [line 56, column 3]\n " shape="box"] "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_2" ; -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(child:Person*); [line 55, column 3]\n n$3=*&person:Person* [line 55, column 19]\n n$4=_fun_Person::child(n$3:Person*) [line 55, column 26]\n *&child:Person*=n$4 [line 55, column 3]\n NULLIFY(&person); [line 55, column 3]\n EXIT_SCOPE(n$3,n$4,person); [line 55, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" [label="4: DeclStmt \n VARIABLE_DECLARED(child:Person*); [line 55, column 3]\n n$3=*&person:Person* [line 55, column 19]\n n$4=_fun_Person::child(n$3:Person*) [line 55, column 26]\n *&child:Person*=n$4 [line 55, column 3]\n " shape="box"] "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_3" ; -"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 54, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=Person):unsigned long) [line 54, column 20]\n n$6=_fun_NSObject::init(n$5:Person*) virtual [line 54, column 20]\n *&person:Person*=n$6 [line 54, column 3]\n EXIT_SCOPE(n$5,n$6); [line 54, column 3]\n " shape="box"] +"npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" [label="5: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 54, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=Person):unsigned long) [line 54, column 20]\n n$6=_fun_NSObject::init(n$5:Person*) virtual [line 54, column 20]\n *&person:Person*=n$6 [line 54, column 3]\n " shape="box"] "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_5" -> "npe_property_nullable.ba4461b16b55481ab8de5124734d2bf3_4" ; @@ -26,7 +26,7 @@ digraph cfg { "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_2" [label="2: Exit User::initWithName: \n " color=yellow style=filled] -"initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" [label="3: Return Stmt \n n$0=*&self:User* [line 30, column 10]\n *&return:objc_object*=n$0 [line 30, column 3]\n NULLIFY(&self); [line 30, column 3]\n EXIT_SCOPE(n$0,self); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" [label="3: Return Stmt \n n$0=*&self:User* [line 30, column 10]\n *&return:objc_object*=n$0 [line 30, column 3]\n " shape="box"] "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_3" -> "initWithName:#User(class NSString)#instance.1755f5e97d3aa5318dd071b864db9bb7_2" ; @@ -37,11 +37,11 @@ digraph cfg { "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_2" [label="2: Exit User::otherUserName \n " color=yellow style=filled] -"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" [label="3: Return Stmt \n n$4=*&ou:User* [line 50, column 10]\n n$5=*n$4._name:NSString* [line 50, column 10]\n *&return:NSString*=n$5 [line 50, column 3]\n NULLIFY(&ou); [line 50, column 3]\n EXIT_SCOPE(n$4,n$5,ou); [line 50, column 3]\n APPLY_ABSTRACTION; [line 50, column 3]\n " shape="box"] +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" [label="3: Return Stmt \n n$4=*&ou:User* [line 50, column 10]\n n$5=*n$4._name:NSString* [line 50, column 10]\n *&return:NSString*=n$5 [line 50, column 3]\n " shape="box"] "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_2" ; -"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ou:User*); [line 49, column 3]\n n$6=*&self:User* [line 49, column 15]\n n$7=_fun_User::otherUser(n$6:User*) virtual [line 49, column 14]\n *&ou:User*=n$7 [line 49, column 3]\n NULLIFY(&self); [line 49, column 3]\n EXIT_SCOPE(n$6,n$7,self); [line 49, column 3]\n " shape="box"] +"otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ou:User*); [line 49, column 3]\n n$6=*&self:User* [line 49, column 15]\n n$7=_fun_User::otherUser(n$6:User*) virtual [line 49, column 14]\n *&ou:User*=n$7 [line 49, column 3]\n " shape="box"] "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_4" -> "otherUserName#User#instance.7b86b8d2191be71dec320c3203056cd7_3" ; @@ -52,7 +52,7 @@ digraph cfg { "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_2" [label="2: Exit User::tellMeSomething \n " color=yellow style=filled] -"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" [label="3: Return Stmt \n n$1=_fun_NSString::stringWithUTF8String:(\"Hi\":char* const ) [line 34, column 10]\n *&return:NSString*=n$1 [line 34, column 3]\n EXIT_SCOPE(n$1); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] +"tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" [label="3: Return Stmt \n n$1=_fun_NSString::stringWithUTF8String:(\"Hi\":char* const ) [line 34, column 10]\n *&return:NSString*=n$1 [line 34, column 3]\n " shape="box"] "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_3" -> "tellMeSomething#User#instance.5ed632cdc46e048613dbc2d7030419cf_2" ; @@ -63,7 +63,7 @@ digraph cfg { "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_2" [label="2: Exit User::tellMeSomething:and:and:and: \n " color=yellow style=filled] -"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" [label="3: Return Stmt \n n$3=_fun_NSString::stringWithUTF8String:(\"Hi\":char* const ) [line 45, column 10]\n *&return:NSString*=n$3 [line 45, column 3]\n EXIT_SCOPE(n$3); [line 45, column 3]\n APPLY_ABSTRACTION; [line 45, column 3]\n " shape="box"] +"tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" [label="3: Return Stmt \n n$3=_fun_NSString::stringWithUTF8String:(\"Hi\":char* const ) [line 45, column 10]\n *&return:NSString*=n$3 [line 45, column 3]\n " shape="box"] "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_3" -> "tellMeSomething:and:and:and:#User(class NSString,class NSString,class NSString,class NSString)#insta.486c16409126581cc0a8d6141cb33574_2" ; @@ -74,7 +74,7 @@ digraph cfg { "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_2" [label="2: Exit User::tellMeSomethingNotNullable \n " color=yellow style=filled] -"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" [label="3: Return Stmt \n n$2=_fun_NSString::stringWithUTF8String:(\"Hi\":char* const ) [line 38, column 10]\n *&return:NSString*=n$2 [line 38, column 3]\n EXIT_SCOPE(n$2); [line 38, column 3]\n APPLY_ABSTRACTION; [line 38, column 3]\n " shape="box"] +"tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" [label="3: Return Stmt \n n$2=_fun_NSString::stringWithUTF8String:(\"Hi\":char* const ) [line 38, column 10]\n *&return:NSString*=n$2 [line 38, column 3]\n " shape="box"] "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_3" -> "tellMeSomethingNotNullable#User#instance.245a0cd3ebd907a23c846151021de342_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot index 2af479a09..2bdf7ab37 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/BlockVar.m.dot @@ -7,7 +7,7 @@ digraph cfg { "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_2" [label="2: Exit objc_blockBlockVar::blockPostBad_2 \n " color=yellow style=filled] -"objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_3" [label="3: Return Stmt \n n$15=*&x:int* [line 32, column 12]\n *&return:int*=n$15 [line 32, column 5]\n NULLIFY(&x); [line 32, column 5]\n EXIT_SCOPE(n$15,x); [line 32, column 5]\n APPLY_ABSTRACTION; [line 32, column 5]\n " shape="box"] +"objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_3" [label="3: Return Stmt \n n$15=*&x:int* [line 32, column 12]\n *&return:int*=n$15 [line 32, column 5]\n " shape="box"] "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_3" -> "objc_blockBlockVar::blockPostBad_2.dfe036ee6adc8f91e6e1d3ca5c8a9c9d_2" ; @@ -18,7 +18,7 @@ digraph cfg { "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_2" [label="2: Exit objc_blockBlockVar::blockPostOk_3 \n " color=yellow style=filled] -"objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_3" [label="3: Return Stmt \n n$20=*&x:int* [line 41, column 12]\n *&return:int*=n$20 [line 41, column 5]\n NULLIFY(&x); [line 41, column 5]\n EXIT_SCOPE(n$20,x); [line 41, column 5]\n APPLY_ABSTRACTION; [line 41, column 5]\n " shape="box"] +"objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_3" [label="3: Return Stmt \n n$20=*&x:int* [line 41, column 12]\n *&return:int*=n$20 [line 41, column 5]\n " shape="box"] "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_3" -> "objc_blockBlockVar::blockPostOk_3.903f9a5c68adca5e567b8d339d58501c_2" ; @@ -29,7 +29,7 @@ digraph cfg { "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_2" [label="2: Exit objc_blockBlockVar::capturedNoNullDeref_5 \n " color=yellow style=filled] -"objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_3" [label="3: Return Stmt \n n$29=*&x:int* [line 58, column 13]\n n$30=*n$29:int [line 58, column 12]\n *&return:int=n$30 [line 58, column 5]\n NULLIFY(&x); [line 58, column 5]\n EXIT_SCOPE(n$29,n$30,x); [line 58, column 5]\n APPLY_ABSTRACTION; [line 58, column 5]\n " shape="box"] +"objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_3" [label="3: Return Stmt \n n$29=*&x:int* [line 58, column 13]\n n$30=*n$29:int [line 58, column 12]\n *&return:int=n$30 [line 58, column 5]\n " shape="box"] "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_3" -> "objc_blockBlockVar::capturedNoNullDeref_5.f4e4e582375f09fa84b315ddc9e9d2fb_2" ; @@ -40,7 +40,7 @@ digraph cfg { "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_2" [label="2: Exit objc_blockBlockVar::capturedNullDeref_4 \n " color=yellow style=filled] -"objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_3" [label="3: Return Stmt \n n$24=*&x:int* [line 49, column 13]\n n$25=*n$24:int [line 49, column 12]\n *&return:int=n$25 [line 49, column 5]\n NULLIFY(&x); [line 49, column 5]\n EXIT_SCOPE(n$24,n$25,x); [line 49, column 5]\n APPLY_ABSTRACTION; [line 49, column 5]\n " shape="box"] +"objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_3" [label="3: Return Stmt \n n$24=*&x:int* [line 49, column 13]\n n$25=*n$24:int [line 49, column 12]\n *&return:int=n$25 [line 49, column 5]\n " shape="box"] "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_3" -> "objc_blockBlockVar::capturedNullDeref_4.bc226164a990fded32aae0d7f88b48d2_2" ; @@ -51,11 +51,11 @@ digraph cfg { "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_2" [label="2: Exit objc_blockBlockVar::navigateToURLInBackground_1 \n " color=yellow style=filled] -"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" [label="3: Return Stmt \n n$7=*&a:int [line 19, column 12]\n n$8=*&b:int [line 19, column 16]\n n$9=*&res:int [line 19, column 20]\n *&return:int=((n$7 + n$8) + n$9) [line 19, column 5]\n NULLIFY(&a); [line 19, column 5]\n NULLIFY(&b); [line 19, column 5]\n NULLIFY(&res); [line 19, column 5]\n EXIT_SCOPE(n$7,n$8,n$9,a,b,res); [line 19, column 5]\n APPLY_ABSTRACTION; [line 19, column 5]\n " shape="box"] +"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" [label="3: Return Stmt \n n$7=*&a:int [line 19, column 12]\n n$8=*&b:int [line 19, column 16]\n n$9=*&res:int [line 19, column 20]\n *&return:int=((n$7 + n$8) + n$9) [line 19, column 5]\n " shape="box"] "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" -> "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_2" ; -"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(res:int); [line 18, column 5]\n n$10=_fun_BlockVar::test() [line 18, column 15]\n *&res:int=n$10 [line 18, column 5]\n EXIT_SCOPE(n$10); [line 18, column 5]\n " shape="box"] +"objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_4" [label="4: DeclStmt \n VARIABLE_DECLARED(res:int); [line 18, column 5]\n n$10=_fun_BlockVar::test() [line 18, column 15]\n *&res:int=n$10 [line 18, column 5]\n " shape="box"] "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_4" -> "objc_blockBlockVar::navigateToURLInBackground_1.12cd351936bfe9a1f532e264d27049bb_3" ; @@ -70,7 +70,7 @@ digraph cfg { "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_3" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" [label="4: between_join_and_exit \n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_4" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; @@ -79,19 +79,19 @@ 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, if) \n PRUNE((n$0 == 8), true); [line 23, column 7]\n NULLIFY(&x); [line 23, column 7]\n EXIT_SCOPE(n$0,x); [line 23, column 7]\n " shape="invhouse"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 8), true); [line 23, 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, if) \n PRUNE(!(n$0 == 8), false); [line 23, column 7]\n NULLIFY(&p); [line 23, column 7]\n EXIT_SCOPE(n$0,p); [line 23, column 7]\n " shape="invhouse"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 8), false); [line 23, column 7]\n " shape="invhouse"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_7" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 24, column 13]\n n$2=*n$1:int [line 24, column 12]\n *&return:int=n$2 [line 24, column 5]\n NULLIFY(&p); [line 24, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 24, column 13]\n n$2=*n$1:int [line 24, column 12]\n *&return:int=n$2 [line 24, column 5]\n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_8" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" [label="9: Return Stmt \n n$3=*&x:int [line 26, column 12]\n *&return:int=n$3 [line 26, column 5]\n NULLIFY(&x); [line 26, column 5]\n EXIT_SCOPE(n$3,x); [line 26, column 5]\n APPLY_ABSTRACTION; [line 26, column 5]\n " shape="box"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" [label="9: Return Stmt \n n$3=*&x:int [line 26, column 12]\n *&return:int=n$3 [line 26, column 5]\n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_9" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_2" ; @@ -99,7 +99,7 @@ digraph cfg { "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_5" ; -"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:int); [line 21, column 3]\n n$5=*&addBlock:_fn_(*) [line 21, column 11]\n n$6=n$5(1:int,2:int) objc_block [line 21, column 11]\n *&x:int=n$6 [line 21, column 3]\n NULLIFY(&addBlock); [line 21, column 3]\n EXIT_SCOPE(n$5,n$6,addBlock); [line 21, column 3]\n " shape="box"] +"navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" [label="11: DeclStmt \n VARIABLE_DECLARED(x:int); [line 21, column 3]\n n$5=*&addBlock:_fn_(*) [line 21, column 11]\n n$6=n$5(1:int,2:int) objc_block [line 21, column 11]\n *&x:int=n$6 [line 21, column 3]\n " shape="box"] "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_11" -> "navigateToURLInBackground#BlockVar#class.f4e64a7a224e4dae5096c3b731a4233e_10" ; @@ -114,7 +114,7 @@ digraph cfg { "test#BlockVar#class.79d88363beeb921609a605886abe817f_2" [label="2: Exit BlockVar::test \n " color=yellow style=filled] -"test#BlockVar#class.79d88363beeb921609a605886abe817f_3" [label="3: Return Stmt \n *&return:int=5 [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"test#BlockVar#class.79d88363beeb921609a605886abe817f_3" [label="3: Return Stmt \n *&return:int=5 [line 13, column 3]\n " shape="box"] "test#BlockVar#class.79d88363beeb921609a605886abe817f_3" -> "test#BlockVar#class.79d88363beeb921609a605886abe817f_2" ; @@ -125,11 +125,11 @@ digraph cfg { "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" [label="2: Exit BlockVar::blockPostBad \n " color=yellow style=filled] -"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" [label="3: Return Stmt \n n$11=*&my_block:_fn_(*) [line 34, column 11]\n n$12=n$11() objc_block [line 34, column 11]\n n$13=*n$12:int [line 34, column 10]\n *&return:int=n$13 [line 34, column 3]\n NULLIFY(&my_block); [line 34, column 3]\n EXIT_SCOPE(n$11,n$12,n$13,my_block); [line 34, column 3]\n APPLY_ABSTRACTION; [line 34, column 3]\n " shape="box"] +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" [label="3: Return Stmt \n n$11=*&my_block:_fn_(*) [line 34, column 11]\n n$12=n$11() objc_block [line 34, column 11]\n n$13=*n$12:int [line 34, column 10]\n *&return:int=n$13 [line 34, column 3]\n " shape="box"] "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_2" ; -"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 31, column 3]\n n$14=*&x:int* [line 31, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostBad_2,(n$14 &x:int*)) [line 31, column 3]\n NULLIFY(&x); [line 31, column 3]\n EXIT_SCOPE(n$14,x); [line 31, column 3]\n " shape="box"] +"blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 31, column 3]\n n$14=*&x:int* [line 31, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostBad_2,(n$14 &x:int*)) [line 31, column 3]\n " shape="box"] "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_4" -> "blockPostBad#BlockVar#instance.60292f870cad8c1a5cefdbfe4194d6f9_3" ; @@ -141,18 +141,18 @@ digraph cfg { "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_1" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_6" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" [label="2: Exit BlockVar::blockPostOk \n NULLIFY(&i); [line 44, column 1]\n " color=yellow style=filled] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" [label="2: Exit BlockVar::blockPostOk \n " color=yellow style=filled] -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" [label="3: Return Stmt \n n$16=*&my_block:_fn_(*) [line 43, column 11]\n n$17=n$16() objc_block [line 43, column 11]\n n$18=*n$17:int [line 43, column 10]\n *&return:int=n$18 [line 43, column 3]\n NULLIFY(&my_block); [line 43, column 3]\n EXIT_SCOPE(n$16,n$17,n$18,my_block); [line 43, column 3]\n APPLY_ABSTRACTION; [line 43, column 3]\n " shape="box"] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" [label="3: Return Stmt \n n$16=*&my_block:_fn_(*) [line 43, column 11]\n n$17=n$16() objc_block [line 43, column 11]\n n$18=*n$17:int [line 43, column 10]\n *&return:int=n$18 [line 43, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_2" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 40, column 3]\n n$19=*&x:int* [line 40, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostOk_3,(n$19 &x:int*)) [line 40, column 3]\n NULLIFY(&x); [line 40, column 3]\n EXIT_SCOPE(n$19,x); [line 40, column 3]\n " shape="box"] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 40, column 3]\n n$19=*&x:int* [line 40, column 28]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::blockPostOk_3,(n$19 &x:int*)) [line 40, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_3" ; -"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 39, column 3]\n *&x:int*=&i [line 39, column 3]\n EXIT_SCOPE(i); [line 39, column 3]\n " shape="box"] +"blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 39, column 3]\n *&x:int*=&i [line 39, column 3]\n " shape="box"] "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_5" -> "blockPostOk#BlockVar#instance.1bb64a946f8b169b31996644931ed82d_4" ; @@ -164,22 +164,22 @@ digraph cfg { "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_1" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_7" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" [label="2: Exit BlockVar::capturedNoNullDeref \n NULLIFY(&i); [line 62, column 1]\n " color=yellow style=filled] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" [label="2: Exit BlockVar::capturedNoNullDeref \n " color=yellow style=filled] -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" [label="3: Return Stmt \n n$26=*&my_block:_fn_(*) [line 61, column 10]\n n$27=n$26() objc_block [line 61, column 10]\n *&return:int=n$27 [line 61, column 3]\n NULLIFY(&my_block); [line 61, column 3]\n EXIT_SCOPE(n$26,n$27,my_block); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" [label="3: Return Stmt \n n$26=*&my_block:_fn_(*) [line 61, column 10]\n n$27=n$26() objc_block [line 61, column 10]\n *&return:int=n$27 [line 61, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_2" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" [label="4: BinaryOperatorStmt: Assign \n *&x:int*=null [line 60, column 3]\n NULLIFY(&x); [line 60, column 3]\n EXIT_SCOPE(x); [line 60, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" [label="4: BinaryOperatorStmt: Assign \n *&x:int*=null [line 60, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_3" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" [label="5: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 57, column 3]\n n$28=*&x:int* [line 57, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNoNullDeref_5,(n$28 &x:int*)) [line 57, column 3]\n NULLIFY(&x); [line 57, column 3]\n EXIT_SCOPE(n$28,x); [line 57, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" [label="5: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 57, column 3]\n n$28=*&x:int* [line 57, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNoNullDeref_5,(n$28 &x:int*)) [line 57, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_4" ; -"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 56, column 3]\n *&x:int*=&i [line 56, column 3]\n EXIT_SCOPE(i); [line 56, column 3]\n " shape="box"] +"capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 56, column 3]\n *&x:int*=&i [line 56, column 3]\n " shape="box"] "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_6" -> "capturedNoNullDeref#BlockVar#instance.ebe646baaabdc58144a5916780ee8c76_5" ; @@ -194,11 +194,11 @@ digraph cfg { "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_2" [label="2: Exit BlockVar::capturedNullDeref \n " color=yellow style=filled] -"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" [label="3: Return Stmt \n n$21=*&my_block:_fn_(*) [line 51, column 10]\n n$22=n$21() objc_block [line 51, column 10]\n *&return:int=n$22 [line 51, column 3]\n NULLIFY(&my_block); [line 51, column 3]\n EXIT_SCOPE(n$21,n$22,my_block); [line 51, column 3]\n APPLY_ABSTRACTION; [line 51, column 3]\n " shape="box"] +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" [label="3: Return Stmt \n n$21=*&my_block:_fn_(*) [line 51, column 10]\n n$22=n$21() objc_block [line 51, column 10]\n *&return:int=n$22 [line 51, column 3]\n " shape="box"] "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_2" ; -"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 48, column 3]\n n$23=*&x:int* [line 48, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNullDeref_4,(n$23 &x:int*)) [line 48, column 3]\n NULLIFY(&x); [line 48, column 3]\n EXIT_SCOPE(n$23,x); [line 48, column 3]\n " shape="box"] +"capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" [label="4: DeclStmt \n VARIABLE_DECLARED(my_block:_fn_(*)); [line 48, column 3]\n n$23=*&x:int* [line 48, column 27]\n *&my_block:_fn_(*)=(_fun_objc_blockBlockVar::capturedNullDeref_4,(n$23 &x:int*)) [line 48, column 3]\n " shape="box"] "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_4" -> "capturedNullDeref#BlockVar#instance.48c44f7ae26caf7a1ac522523ebac894_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot b/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot index d468dd690..85013e858 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/Blocks_as_parameters.m.dot @@ -7,7 +7,7 @@ digraph cfg { "objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_2" [label="2: Exit objc_blockB::f_1 \n " color=yellow style=filled] -"objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&self:B* [line 25, column 9]\n *n$3.x:int=5 [line 25, column 9]\n NULLIFY(&self); [line 25, column 9]\n EXIT_SCOPE(n$3,self); [line 25, column 9]\n APPLY_ABSTRACTION; [line 25, column 9]\n " shape="box"] +"objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&self:B* [line 25, column 9]\n *n$3.x:int=5 [line 25, column 9]\n " shape="box"] "objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_3" -> "objc_blockB::f_1(class B).5b7adcd944bbfcb88a674af924a1733e_2" ; @@ -18,11 +18,11 @@ digraph cfg { "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_2" [label="2: Exit B::f \n " color=yellow style=filled] -"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" [label="3: Return Stmt \n n$0=*&self:B* [line 27, column 10]\n n$1=*n$0.y:int [line 27, column 10]\n *&return:int=n$1 [line 27, column 3]\n NULLIFY(&self); [line 27, column 3]\n EXIT_SCOPE(n$0,n$1,self); [line 27, column 3]\n APPLY_ABSTRACTION; [line 27, column 3]\n " shape="box"] +"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" [label="3: Return Stmt \n n$0=*&self:B* [line 27, column 10]\n n$1=*n$0.y:int [line 27, column 10]\n *&return:int=n$1 [line 27, column 3]\n " shape="box"] "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_2" ; -"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" [label="4: Message Call: foo:and: \n n$4=*&self:B* [line 23, column 10]\n n$5=*n$4.h:int [line 23, column 10]\n n$2=*&self:B* const [line 24, column 11]\n n$6=_fun_B::foo:and:(n$5:int,(_fun_objc_blockB::f_1,(n$2 &self:B* const )):_fn_(*)) block_params [line 23, column 3]\n EXIT_SCOPE(n$2,n$4,n$5,n$6); [line 23, column 3]\n " shape="box"] +"f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" [label="4: Message Call: foo:and: \n n$4=*&self:B* [line 23, column 10]\n n$5=*n$4.h:int [line 23, column 10]\n n$2=*&self:B* const [line 24, column 11]\n n$6=_fun_B::foo:and:(n$5:int,(_fun_objc_blockB::f_1,(n$2 &self:B* const )):_fn_(*)) block_params [line 23, column 3]\n " shape="box"] "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_4" -> "f#B#instance.f1371ff5e7f410d3df6a2e71ff0a814e_3" ; 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 3ee6163d0..b307f9b9f 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block-it.m.dot @@ -12,19 +12,19 @@ digraph cfg { "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_3" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_4" ; -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_4" [label="4: between_join_and_exit \n " shape="box"] "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_4" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_2" ; -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_5" [label="5: Prune (true branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(n$1, true); [line 24, column 9]\n NULLIFY(&ShouldStop); [line 24, column 9]\n EXIT_SCOPE(n$1,ShouldStop); [line 24, column 9]\n " shape="invhouse"] +"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_5" [label="5: Prune (true branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(n$1, true); [line 24, column 9]\n " shape="invhouse"] "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_5" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_7" ; -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_6" [label="6: Prune (false branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(!n$1, false); [line 24, column 9]\n NULLIFY(&ShouldStop); [line 24, column 9]\n EXIT_SCOPE(n$1,ShouldStop); [line 24, column 9]\n APPLY_ABSTRACTION; [line 24, column 9]\n " shape="invhouse"] +"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_6" [label="6: Prune (false branch, if) \n n$1=*&ShouldStop:int [line 24, column 9]\n PRUNE(!n$1, false); [line 24, column 9]\n " shape="invhouse"] "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_6" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_3" ; -"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&stop:_Bool* [line 25, column 8]\n *n$2:_Bool=1 [line 25, column 7]\n NULLIFY(&stop); [line 25, column 7]\n EXIT_SCOPE(n$2,stop); [line 25, column 7]\n APPLY_ABSTRACTION; [line 25, column 7]\n " shape="box"] +"objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_7" [label="7: BinaryOperatorStmt: Assign \n n$2=*&stop:_Bool* [line 25, column 8]\n *n$2:_Bool=1 [line 25, column 7]\n " shape="box"] "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_7" -> "objc_blockMyBlock::array_1(struct objc_object).df8ecbd6344ac89a5113acabcc96a39a_3" ; @@ -40,19 +40,19 @@ digraph cfg { "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_3" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_4" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 41, column 9]\n " shape="box"] +"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_4" [label="4: between_join_and_exit \n " shape="box"] "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_4" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_2" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_5" [label="5: Prune (true branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(n$32, true); [line 41, column 13]\n NULLIFY(&ShouldStop); [line 41, column 13]\n EXIT_SCOPE(n$32,ShouldStop); [line 41, column 13]\n " shape="invhouse"] +"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_5" [label="5: Prune (true branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(n$32, true); [line 41, column 13]\n " shape="invhouse"] "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_5" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_6" [label="6: Prune (false branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(!n$32, false); [line 41, column 13]\n NULLIFY(&ShouldStop); [line 41, column 13]\n EXIT_SCOPE(n$32,ShouldStop); [line 41, column 13]\n APPLY_ABSTRACTION; [line 41, column 13]\n " shape="invhouse"] +"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_6" [label="6: Prune (false branch, if) \n n$32=*&ShouldStop:int [line 41, column 13]\n PRUNE(!n$32, false); [line 41, column 13]\n " shape="invhouse"] "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_6" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_3" ; -"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" [label="7: BinaryOperatorStmt: Assign \n n$33=*&stop:_Bool* [line 42, column 12]\n *n$33:_Bool=1 [line 42, column 11]\n NULLIFY(&stop); [line 42, column 11]\n EXIT_SCOPE(n$33,stop); [line 42, column 11]\n APPLY_ABSTRACTION; [line 42, column 11]\n " shape="box"] +"objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" [label="7: BinaryOperatorStmt: Assign \n n$33=*&stop:_Bool* [line 42, column 12]\n *n$33:_Bool=1 [line 42, column 11]\n " shape="box"] "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_7" -> "objc_blockMyBlock::array_trans_2(struct objc_object).682ea63855d347615885efa9ad25d5ed_3" ; @@ -63,11 +63,11 @@ digraph cfg { "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_2" [label="2: Exit MyBlock::array \n " color=yellow style=filled] -"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" [label="3: Message Call: enumerateObjectsUsingBlock: \n n$5=*&a:NSArray* [line 19, column 4]\n n$6=_fun_NSArray::enumerateObjectsUsingBlock:(n$5:NSArray*,(_fun_objc_blockMyBlock::array_1):_fn_(*)) block_params virtual [line 19, column 3]\n NULLIFY(&a); [line 19, column 3]\n EXIT_SCOPE(n$5,n$6,a); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" [label="3: Message Call: enumerateObjectsUsingBlock: \n n$5=*&a:NSArray* [line 19, column 4]\n n$6=_fun_NSArray::enumerateObjectsUsingBlock:(n$5:NSArray*,(_fun_objc_blockMyBlock::array_1):_fn_(*)) block_params virtual [line 19, column 3]\n " shape="box"] "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" -> "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_2" ; -"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 18, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 18, column 17]\n n$8=_fun_NSArray::init(n$7:NSArray*) virtual [line 18, column 16]\n *&a:NSArray*=n$8 [line 18, column 3]\n EXIT_SCOPE(n$7,n$8); [line 18, column 3]\n " shape="box"] +"array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 18, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 18, column 17]\n n$8=_fun_NSArray::init(n$7:NSArray*) virtual [line 18, column 16]\n *&a:NSArray*=n$8 [line 18, column 3]\n " shape="box"] "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_4" -> "array#MyBlock#instance.8be6e5b5e968d186440e1931c9eb40de_3" ; @@ -78,7 +78,7 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_2" [label="2: Exit MyBlock::array_trans \n " color=yellow style=filled] -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" [label="3: Call _fun_free \n n$9=*&stop:_Bool* [line 55, column 8]\n n$10=_fun_free(n$9:void*) [line 55, column 3]\n NULLIFY(&stop); [line 55, column 3]\n EXIT_SCOPE(n$9,n$10,stop); [line 55, column 3]\n APPLY_ABSTRACTION; [line 55, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" [label="3: Call _fun_free \n n$9=*&stop:_Bool* [line 55, column 8]\n n$10=_fun_free(n$9:void*) [line 55, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_2" ; @@ -86,24 +86,24 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_4" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_5" [label="5: DeclStmt \n VARIABLE_DECLARED(idx:unsigned long); [line 48, column 8]\n *&idx:unsigned long=(unsigned long)0 [line 48, column 8]\n APPLY_ABSTRACTION; [line 48, column 8]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_5" [label="5: DeclStmt \n VARIABLE_DECLARED(idx:unsigned long); [line 48, column 8]\n *&idx:unsigned long=(unsigned long)0 [line 48, column 8]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_5" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_4" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" [label="6: UnaryOperator \n n$11=*&idx:unsigned long [line 48, column 49]\n *&idx:unsigned long=(n$11 + 1) [line 48, column 49]\n EXIT_SCOPE(n$11); [line 48, column 49]\n APPLY_ABSTRACTION; [line 48, column 49]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" [label="6: UnaryOperator \n n$11=*&idx:unsigned long [line 48, column 49]\n *&idx:unsigned long=(n$11 + 1) [line 48, column 49]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_4" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" [label="7: BinaryOperatorStmt: LT \n n$12=*&idx:unsigned long [line 48, column 28]\n n$13=*&objects:NSArray* [line 48, column 34]\n n$14=_fun_NSArray::count(n$13:NSArray*) [line 48, column 42]\n EXIT_SCOPE(n$13); [line 48, column 42]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_7" [label="7: BinaryOperatorStmt: LT \n n$12=*&idx:unsigned long [line 48, column 28]\n n$13=*&objects:NSArray* [line 48, column 34]\n n$14=_fun_NSArray::count(n$13:NSArray*) [line 48, column 42]\n " shape="box"] "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, for loop) \n PRUNE((n$12 < n$14), true); [line 48, column 28]\n EXIT_SCOPE(n$12,n$14); [line 48, column 28]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_8" [label="8: Prune (true branch, for loop) \n PRUNE((n$12 < n$14), true); [line 48, 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, for loop) \n PRUNE(!(n$12 < n$14), false); [line 48, column 28]\n NULLIFY(&objects); [line 48, column 28]\n NULLIFY(&idx); [line 48, column 28]\n NULLIFY(&enumerateObjectsUsingBlock); [line 48, column 28]\n EXIT_SCOPE(n$12,n$14,objects,idx,enumerateObjectsUsingBlock); [line 48, column 28]\n APPLY_ABSTRACTION; [line 48, column 28]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" [label="9: Prune (false branch, for loop) \n PRUNE(!(n$12 < n$14), false); [line 48, column 28]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_9" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_3" ; @@ -111,32 +111,32 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_10" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_6" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" [label="11: BinaryOperatorStmt: EQ \n n$15=*&stop:_Bool* [line 52, column 10]\n n$16=*n$15:_Bool [line 52, column 9]\n EXIT_SCOPE(n$15); [line 52, column 9]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" [label="11: BinaryOperatorStmt: EQ \n n$15=*&stop:_Bool* [line 52, column 10]\n n$16=*n$15:_Bool [line 52, column 9]\n " shape="box"] "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, if) \n PRUNE((n$16 == 1), true); [line 52, column 9]\n NULLIFY(&objects); [line 52, column 9]\n NULLIFY(&idx); [line 52, column 9]\n NULLIFY(&enumerateObjectsUsingBlock); [line 52, column 9]\n EXIT_SCOPE(n$16,objects,idx,enumerateObjectsUsingBlock); [line 52, column 9]\n APPLY_ABSTRACTION; [line 52, column 9]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_12" [label="12: Prune (true branch, if) \n PRUNE((n$16 == 1), true); [line 52, 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, if) \n PRUNE(!(n$16 == 1), false); [line 52, column 9]\n EXIT_SCOPE(n$16); [line 52, column 9]\n " shape="invhouse"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" [label="13: Prune (false branch, if) \n PRUNE(!(n$16 == 1), false); [line 52, column 9]\n " shape="invhouse"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_13" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_10" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" [label="14: Call n$20 \n n$20=*&enumerateObjectsUsingBlock:_fn_(*) [line 51, column 5]\n n$21=*&object:objc_object* [line 51, column 32]\n n$22=*&idx:unsigned long [line 51, column 40]\n n$23=*&stop:_Bool* [line 51, column 45]\n n$24=n$20(n$21:objc_object*,n$22:unsigned long,n$23:_Bool*) objc_block [line 51, column 5]\n NULLIFY(&object); [line 51, column 5]\n EXIT_SCOPE(n$20,n$21,n$22,n$23,n$24,object); [line 51, column 5]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" [label="14: Call n$20 \n n$20=*&enumerateObjectsUsingBlock:_fn_(*) [line 51, column 5]\n n$21=*&object:objc_object* [line 51, column 32]\n n$22=*&idx:unsigned long [line 51, column 40]\n n$23=*&stop:_Bool* [line 51, column 45]\n n$24=n$20(n$21:objc_object*,n$22:unsigned long,n$23:_Bool*) objc_block [line 51, column 5]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_11" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" [label="15: DeclStmt \n VARIABLE_DECLARED(object:objc_object*); [line 50, column 5]\n n$26=*&objects:NSArray* [line 50, column 17]\n n$25=*&idx:unsigned long [line 50, column 25]\n n$27=_fun_NSArray::objectAtIndexedSubscript:(n$26:NSArray*,n$25:unsigned long) virtual [line 50, column 17]\n *&object:objc_object*=n$27 [line 50, column 5]\n EXIT_SCOPE(n$25,n$26,n$27); [line 50, column 5]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" [label="15: DeclStmt \n VARIABLE_DECLARED(object:objc_object*); [line 50, column 5]\n n$26=*&objects:NSArray* [line 50, column 17]\n n$25=*&idx:unsigned long [line 50, column 25]\n n$27=_fun_NSArray::objectAtIndexedSubscript:(n$26:NSArray*,n$25:unsigned long) virtual [line 50, column 17]\n *&object:objc_object*=n$27 [line 50, column 5]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_15" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_14" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" [label="16: BinaryOperatorStmt: Assign \n n$29=*&stop:_Bool* [line 46, column 4]\n *n$29:_Bool=0 [line 46, column 3]\n EXIT_SCOPE(n$29); [line 46, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" [label="16: BinaryOperatorStmt: Assign \n n$29=*&stop:_Bool* [line 46, column 4]\n *n$29:_Bool=0 [line 46, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_5" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" [label="17: DeclStmt \n VARIABLE_DECLARED(stop:_Bool*); [line 45, column 3]\n n$30=_fun_malloc_no_fail(sizeof(t=_Bool;nbytes=1):_Bool) [line 45, column 16]\n *&stop:_Bool*=(_Bool*)n$30 [line 45, column 3]\n EXIT_SCOPE(n$30); [line 45, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" [label="17: DeclStmt \n VARIABLE_DECLARED(stop:_Bool*); [line 45, column 3]\n n$30=_fun_malloc_no_fail(sizeof(t=_Bool;nbytes=1):_Bool) [line 45, column 16]\n *&stop:_Bool*=(_Bool*)n$30 [line 45, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_16" ; @@ -144,11 +144,11 @@ digraph cfg { "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_17" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" [label="19: DeclStmt \n VARIABLE_DECLARED(objects:NSArray*); [line 34, column 3]\n n$36=*&a:NSArray* [line 34, column 22]\n *&objects:NSArray*=n$36 [line 34, column 3]\n NULLIFY(&a); [line 34, column 3]\n EXIT_SCOPE(n$36,a); [line 34, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" [label="19: DeclStmt \n VARIABLE_DECLARED(objects:NSArray*); [line 34, column 3]\n n$36=*&a:NSArray* [line 34, column 22]\n *&objects:NSArray*=n$36 [line 34, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_18" ; -"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" [label="20: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 32, column 3]\n n$37=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 32, column 17]\n n$38=_fun_NSArray::init(n$37:NSArray*) virtual [line 32, column 16]\n *&a:NSArray*=n$38 [line 32, column 3]\n EXIT_SCOPE(n$37,n$38); [line 32, column 3]\n " shape="box"] +"array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" [label="20: DeclStmt \n VARIABLE_DECLARED(a:NSArray*); [line 32, column 3]\n n$37=_fun___objc_alloc_no_fail(sizeof(t=NSArray):unsigned long) [line 32, column 17]\n n$38=_fun_NSArray::init(n$37:NSArray*) virtual [line 32, column 16]\n *&a:NSArray*=n$38 [line 32, column 3]\n " shape="box"] "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_20" -> "array_trans#MyBlock#instance.13289a590560d0628a3ae5174e716a32_19" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/block.m.dot b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot index 631dd5657..b98a033f0 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block.m.dot @@ -7,7 +7,7 @@ digraph cfg { "BlockMain.116013dceff9629776ec833c9d43561d_2" [label="2: Exit BlockMain \n " color=yellow style=filled] -"BlockMain.116013dceff9629776ec833c9d43561d_3" [label="3: Return Stmt \n n$0=_fun_main1(4:int) [line 43, column 26]\n *&return:int=n$0 [line 43, column 19]\n EXIT_SCOPE(n$0); [line 43, column 19]\n APPLY_ABSTRACTION; [line 43, column 19]\n " shape="box"] +"BlockMain.116013dceff9629776ec833c9d43561d_3" [label="3: Return Stmt \n n$0=_fun_main1(4:int) [line 43, column 26]\n *&return:int=n$0 [line 43, column 19]\n " shape="box"] "BlockMain.116013dceff9629776ec833c9d43561d_3" -> "BlockMain.116013dceff9629776ec833c9d43561d_2" ; @@ -18,15 +18,15 @@ digraph cfg { "main1.38f534a9576db7ec6ebcbca8c111f942_2" [label="2: Exit main1 \n " color=yellow style=filled] -"main1.38f534a9576db7ec6ebcbca8c111f942_3" [label="3: Return Stmt \n n$0=*&y:int [line 40, column 10]\n *&return:int=n$0 [line 40, column 3]\n NULLIFY(&y); [line 40, column 3]\n EXIT_SCOPE(n$0,y); [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_3" [label="3: Return Stmt \n n$0=*&y:int [line 40, column 10]\n *&return:int=n$0 [line 40, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_3" -> "main1.38f534a9576db7ec6ebcbca8c111f942_2" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&add1:int [line 38, column 7]\n n$2=*&add2:int [line 38, column 14]\n *&y:int=(n$1 / n$2) [line 38, column 3]\n NULLIFY(&add2); [line 38, column 3]\n NULLIFY(&add1); [line 38, column 3]\n EXIT_SCOPE(n$1,n$2,add2,add1); [line 38, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&add1:int [line 38, column 7]\n n$2=*&add2:int [line 38, column 14]\n *&y:int=(n$1 / n$2) [line 38, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_4" -> "main1.38f534a9576db7ec6ebcbca8c111f942_3" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&addblock:_fn_(*) [line 35, column 10]\n n$4=n$3(3:int,2:int) objc_block [line 35, column 10]\n *&add2:int=n$4 [line 35, column 3]\n NULLIFY(&addblock); [line 35, column 3]\n EXIT_SCOPE(n$3,n$4,addblock); [line 35, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_5" [label="5: BinaryOperatorStmt: Assign \n n$3=*&addblock:_fn_(*) [line 35, column 10]\n n$4=n$3(3:int,2:int) objc_block [line 35, column 10]\n *&add2:int=n$4 [line 35, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_5" -> "main1.38f534a9576db7ec6ebcbca8c111f942_4" ; @@ -34,11 +34,11 @@ digraph cfg { "main1.38f534a9576db7ec6ebcbca8c111f942_6" -> "main1.38f534a9576db7ec6ebcbca8c111f942_5" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_7" [label="7: BinaryOperatorStmt: Assign \n n$7=*&addblock:_fn_(*) [line 29, column 10]\n n$8=n$7(1:int,2:int) objc_block [line 29, column 10]\n *&add1:int=n$8 [line 29, column 3]\n NULLIFY(&addblock); [line 29, column 3]\n EXIT_SCOPE(n$7,n$8,addblock); [line 29, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_7" [label="7: BinaryOperatorStmt: Assign \n n$7=*&addblock:_fn_(*) [line 29, column 10]\n n$8=n$7(1:int,2:int) objc_block [line 29, column 10]\n *&add1:int=n$8 [line 29, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_7" -> "main1.38f534a9576db7ec6ebcbca8c111f942_6" ; -"main1.38f534a9576db7ec6ebcbca8c111f942_8" [label="8: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 16, column 14]\n *&addblock:_fn_(*)=(_fun_objc_blockmain1_2,(n$9 &x:int)) [line 16, column 3]\n NULLIFY(&x); [line 16, column 3]\n EXIT_SCOPE(n$9,x); [line 16, column 3]\n " shape="box"] +"main1.38f534a9576db7ec6ebcbca8c111f942_8" [label="8: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 16, column 14]\n *&addblock:_fn_(*)=(_fun_objc_blockmain1_2,(n$9 &x:int)) [line 16, column 3]\n " shape="box"] "main1.38f534a9576db7ec6ebcbca8c111f942_8" -> "main1.38f534a9576db7ec6ebcbca8c111f942_7" ; @@ -57,7 +57,7 @@ digraph cfg { "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_2" [label="2: Exit objc_blockmain1_1 \n " color=yellow style=filled] -"objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" [label="3: Return Stmt \n n$5=*&e:int [line 32, column 12]\n n$6=*&#GB$main1.s:int [line 32, column 16]\n *&return:int=(n$5 - n$6) [line 32, column 5]\n NULLIFY(&e); [line 32, column 5]\n EXIT_SCOPE(n$5,n$6,e); [line 32, column 5]\n APPLY_ABSTRACTION; [line 32, column 5]\n " shape="box"] +"objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" [label="3: Return Stmt \n n$5=*&e:int [line 32, column 12]\n n$6=*&#GB$main1.s:int [line 32, column 16]\n *&return:int=(n$5 - n$6) [line 32, column 5]\n " shape="box"] "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_3" -> "objc_blockmain1_1.74199543de3b6a9a736f23ef5e45586a_2" ; @@ -68,15 +68,15 @@ digraph cfg { "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_2" [label="2: Exit objc_blockmain1_2 \n " color=yellow style=filled] -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" [label="3: Return Stmt \n n$10=*&c:int [line 26, column 12]\n n$11=*&add2:int [line 26, column 16]\n n$12=*&bla:int [line 26, column 23]\n *&return:int=((n$10 + n$11) + n$12) [line 26, column 5]\n NULLIFY(&bla); [line 26, column 5]\n NULLIFY(&c); [line 26, column 5]\n NULLIFY(&add2); [line 26, column 5]\n EXIT_SCOPE(n$10,n$11,n$12,bla,c,add2); [line 26, column 5]\n APPLY_ABSTRACTION; [line 26, column 5]\n " shape="box"] +"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" [label="3: Return Stmt \n n$10=*&c:int [line 26, column 12]\n n$11=*&add2:int [line 26, column 16]\n n$12=*&bla:int [line 26, column 23]\n *&return:int=((n$10 + n$11) + n$12) [line 26, column 5]\n " shape="box"] "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_2" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" [label="4: BinaryOperatorStmt: Assign \n n$13=*&addblock2:_fn_(*) [line 25, column 12]\n n$14=n$13(1:int) objc_block [line 25, column 12]\n *&add2:int=n$14 [line 25, column 5]\n NULLIFY(&addblock2); [line 25, column 5]\n EXIT_SCOPE(n$13,n$14,addblock2); [line 25, column 5]\n " shape="box"] +"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" [label="4: BinaryOperatorStmt: Assign \n n$13=*&addblock2:_fn_(*) [line 25, column 12]\n n$14=n$13(1:int) objc_block [line 25, column 12]\n *&add2:int=n$14 [line 25, column 5]\n " shape="box"] "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_3" ; -"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" [label="5: BinaryOperatorStmt: Assign \n n$15=*&x:int [line 21, column 17]\n n$16=*&bla:int [line 21, column 17]\n *&addblock2:_fn_(*)=(_fun_objc_blockobjc_blockmain1_2_3,(n$15 &x:int),(n$16 &bla:int)) [line 21, column 5]\n NULLIFY(&x); [line 21, column 5]\n EXIT_SCOPE(n$15,n$16,x); [line 21, column 5]\n " shape="box"] +"objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" [label="5: BinaryOperatorStmt: Assign \n n$15=*&x:int [line 21, column 17]\n n$16=*&bla:int [line 21, column 17]\n *&addblock2:_fn_(*)=(_fun_objc_blockobjc_blockmain1_2_3,(n$15 &x:int),(n$16 &bla:int)) [line 21, column 5]\n " shape="box"] "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_5" -> "objc_blockmain1_2.0d332204bbe33f46a9283d2c0df5700a_4" ; @@ -91,7 +91,7 @@ digraph cfg { "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_2" [label="2: Exit objc_blockobjc_blockmain1_2_3 \n " color=yellow style=filled] -"objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" [label="3: Return Stmt \n n$17=*&z:int [line 22, column 14]\n n$18=*&#GB$main1.s:int [line 22, column 18]\n n$19=*&x:int [line 22, column 22]\n n$20=*&bla:int [line 22, column 26]\n *&return:int=(((n$17 + n$18) + n$19) + n$20) [line 22, column 7]\n NULLIFY(&z); [line 22, column 7]\n NULLIFY(&bla); [line 22, column 7]\n NULLIFY(&x); [line 22, column 7]\n EXIT_SCOPE(n$17,n$18,n$19,n$20,z,bla,x); [line 22, column 7]\n APPLY_ABSTRACTION; [line 22, column 7]\n " shape="box"] +"objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" [label="3: Return Stmt \n n$17=*&z:int [line 22, column 14]\n n$18=*&#GB$main1.s:int [line 22, column 18]\n n$19=*&x:int [line 22, column 22]\n n$20=*&bla:int [line 22, column 26]\n *&return:int=(((n$17 + n$18) + n$19) + n$20) [line 22, column 7]\n " shape="box"] "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_3" -> "objc_blockobjc_blockmain1_2_3.0824f0806cf4ebad2920e9a12535d20e_2" ; 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 03687ad8d..7c47f05c1 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 @@ -7,7 +7,7 @@ digraph cfg { "objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_2" [label="2: Exit objc_blockMy_manager::m_1 \n " color=yellow style=filled] -"objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&z:int [line 24, column 9]\n *&#GB$g:int=(n$8 + 3) [line 24, column 5]\n NULLIFY(&z); [line 24, column 5]\n EXIT_SCOPE(n$8,z); [line 24, column 5]\n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&z:int [line 24, column 9]\n *&#GB$g:int=(n$8 + 3) [line 24, column 5]\n " shape="box"] "objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_3" -> "objc_blockMy_manager::m_1.bc98a1b6d7bd8cbef60672af337939a3_2" ; @@ -22,7 +22,7 @@ digraph cfg { "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_3" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_4" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_4" [label="4: between_join_and_exit \n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_4" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_2" ; @@ -31,19 +31,19 @@ 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, if) \n PRUNE((n$0 == 6), true); [line 28, column 7]\n NULLIFY(&z); [line 28, column 7]\n EXIT_SCOPE(n$0,z); [line 28, column 7]\n " shape="invhouse"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == 6), true); [line 28, 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, if) \n PRUNE(!(n$0 == 6), false); [line 28, column 7]\n NULLIFY(&p); [line 28, column 7]\n EXIT_SCOPE(n$0,p); [line 28, column 7]\n " shape="invhouse"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == 6), false); [line 28, column 7]\n " shape="invhouse"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_7" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_9" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 29, column 13]\n n$2=*n$1:int [line 29, column 12]\n *&return:int=n$2 [line 29, column 5]\n NULLIFY(&p); [line 29, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_8" [label="8: Return Stmt \n n$1=*&p:int* [line 29, column 13]\n n$2=*n$1:int [line 29, column 12]\n *&return:int=n$2 [line 29, column 5]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_8" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_2" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_9" [label="9: Return Stmt \n n$3=*&z:int [line 31, column 12]\n *&return:int=n$3 [line 31, column 5]\n NULLIFY(&z); [line 31, column 5]\n EXIT_SCOPE(n$3,z); [line 31, column 5]\n APPLY_ABSTRACTION; [line 31, column 5]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_9" [label="9: Return Stmt \n n$3=*&z:int [line 31, column 12]\n *&return:int=n$3 [line 31, column 5]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_9" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_2" ; @@ -51,11 +51,11 @@ digraph cfg { "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_10" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_5" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" [label="11: Call n$5 \n n$5=*&b:_fn_(*) [line 26, column 3]\n n$6=n$5() objc_block [line 26, column 3]\n NULLIFY(&b); [line 26, column 3]\n EXIT_SCOPE(n$5,n$6,b); [line 26, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" [label="11: Call n$5 \n n$5=*&b:_fn_(*) [line 26, column 3]\n n$6=n$5() objc_block [line 26, column 3]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_10" ; -"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" [label="12: BinaryOperatorStmt: Assign \n n$7=*&z:int [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::m_1,(n$7 &z:int)) [line 23, column 3]\n EXIT_SCOPE(n$7); [line 23, column 3]\n " shape="box"] +"m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" [label="12: BinaryOperatorStmt: Assign \n n$7=*&z:int [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::m_1,(n$7 &z:int)) [line 23, column 3]\n " shape="box"] "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_12" -> "m#My_manager#instance.e773f849d062cb9801497b62f5c98f5e_11" ; 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 62819637b..d045c7fde 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/block_release.m.dot @@ -12,19 +12,19 @@ digraph cfg { "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_3" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_4" ; -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 24, column 5]\n " shape="box"] +"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_4" [label="4: between_join_and_exit \n " shape="box"] "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_4" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_2" ; -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_5" [label="5: Prune (true branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(n$10, true); [line 24, column 9]\n EXIT_SCOPE(n$10); [line 24, column 9]\n " shape="invhouse"] +"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_5" [label="5: Prune (true branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(n$10, true); [line 24, column 9]\n " shape="invhouse"] "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_5" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_7" ; -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_6" [label="6: Prune (false branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(!n$10, false); [line 24, column 9]\n NULLIFY(&newImage); [line 24, column 9]\n EXIT_SCOPE(n$10,newImage); [line 24, column 9]\n APPLY_ABSTRACTION; [line 24, column 9]\n " shape="invhouse"] +"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_6" [label="6: Prune (false branch, if) \n n$10=*&newImage:CGImage* [line 24, column 9]\n PRUNE(!n$10, false); [line 24, column 9]\n " shape="invhouse"] "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_6" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_3" ; -"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_7" [label="7: Call _fun_CGImageRelease \n n$11=*&newImage:CGImage* [line 25, column 22]\n n$12=_fun_CGImageRelease(n$11:CGImage*) [line 25, column 7]\n NULLIFY(&newImage); [line 25, column 7]\n EXIT_SCOPE(n$11,n$12,newImage); [line 25, column 7]\n APPLY_ABSTRACTION; [line 25, column 7]\n " shape="box"] +"objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_7" [label="7: Call _fun_CGImageRelease \n n$11=*&newImage:CGImage* [line 25, column 22]\n n$12=_fun_CGImageRelease(n$11:CGImage*) [line 25, column 7]\n " shape="box"] "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_7" -> "objc_blockMy_manager::blockReleaseNoLeak_1(struct CGImage).84ad49561aaa89b84a792baf34151a77_3" ; @@ -35,7 +35,7 @@ digraph cfg { "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_2" [label="2: Exit My_manager::blockReleaseNoLeak \n " color=yellow style=filled] -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" [label="3: Return Stmt \n n$0=*&z:int [line 30, column 10]\n *&return:int=n$0 [line 30, column 3]\n NULLIFY(&z); [line 30, column 3]\n EXIT_SCOPE(n$0,z); [line 30, column 3]\n APPLY_ABSTRACTION; [line 30, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" [label="3: Return Stmt \n n$0=*&z:int [line 30, column 10]\n *&return:int=n$0 [line 30, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_3" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_2" ; @@ -43,32 +43,32 @@ 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, if) \n n$1=*&context:CGContext* [line 28, column 7]\n PRUNE(n$1, true); [line 28, column 7]\n EXIT_SCOPE(n$1); [line 28, column 7]\n " shape="invhouse"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" [label="5: Prune (true branch, if) \n n$1=*&context:CGContext* [line 28, column 7]\n PRUNE(n$1, true); [line 28, column 7]\n " shape="invhouse"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" [label="6: Prune (false branch, if) \n n$1=*&context:CGContext* [line 28, column 7]\n PRUNE(!n$1, false); [line 28, column 7]\n NULLIFY(&context); [line 28, column 7]\n EXIT_SCOPE(n$1,context); [line 28, column 7]\n APPLY_ABSTRACTION; [line 28, column 7]\n " shape="invhouse"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" [label="6: Prune (false branch, if) \n n$1=*&context:CGContext* [line 28, column 7]\n PRUNE(!n$1, false); [line 28, column 7]\n " shape="invhouse"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" [label="7: Call _fun_CGContextRelease \n n$2=*&context:CGContext* [line 29, column 22]\n n$3=_fun_CGContextRelease(n$2:CGContext*) [line 29, column 5]\n NULLIFY(&context); [line 29, column 5]\n EXIT_SCOPE(n$2,n$3,context); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" [label="7: Call _fun_CGContextRelease \n n$2=*&context:CGContext* [line 29, column 22]\n n$3=_fun_CGContextRelease(n$2:CGContext*) [line 29, column 5]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_7" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_4" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" [label="8: Call n$6 \n n$6=*&b:_fn_(*) [line 27, column 3]\n n$7=*&z:int [line 27, column 5]\n n$8=n$6(n$7:int) objc_block [line 27, column 3]\n NULLIFY(&b); [line 27, column 3]\n EXIT_SCOPE(n$6,n$7,n$8,b); [line 27, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" [label="8: Call n$6 \n n$6=*&b:_fn_(*) [line 27, column 3]\n n$7=*&z:int [line 27, column 5]\n n$8=n$6(n$7:int) objc_block [line 27, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_5" ; "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_6" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" [label="9: BinaryOperatorStmt: Assign \n n$9=*&newImage:CGImage* [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::blockReleaseNoLeak_1,(n$9 &newImage:CGImage*)) [line 23, column 3]\n NULLIFY(&newImage); [line 23, column 3]\n EXIT_SCOPE(n$9,newImage); [line 23, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" [label="9: BinaryOperatorStmt: Assign \n n$9=*&newImage:CGImage* [line 23, column 7]\n *&b:_fn_(*)=(_fun_objc_blockMy_manager::blockReleaseNoLeak_1,(n$9 &newImage:CGImage*)) [line 23, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_8" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" [label="10: DeclStmt \n VARIABLE_DECLARED(newImage:CGImage*); [line 22, column 3]\n n$15=*&context:CGContext* [line 22, column 52]\n n$16=_fun_CGBitmapContextCreateImage(n$15:CGContext*) [line 22, column 25]\n *&newImage:CGImage*=n$16 [line 22, column 3]\n EXIT_SCOPE(n$15,n$16); [line 22, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" [label="10: DeclStmt \n VARIABLE_DECLARED(newImage:CGImage*); [line 22, column 3]\n n$15=*&context:CGContext* [line 22, column 52]\n n$16=_fun_CGBitmapContextCreateImage(n$15:CGContext*) [line 22, column 25]\n *&newImage:CGImage*=n$16 [line 22, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_9" ; -"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" [label="11: DeclStmt \n VARIABLE_DECLARED(context:CGContext*); [line 21, column 3]\n n$17=_fun_CGBitmapContextCreate(null:void*,(unsigned long)0:unsigned long,(unsigned long)0:unsigned long,(unsigned long)8:unsigned long,(unsigned long)0:unsigned long,null:CGColorSpace*,(unsigned int)0:unsigned int) [line 21, column 26]\n *&context:CGContext*=n$17 [line 21, column 3]\n EXIT_SCOPE(n$17); [line 21, column 3]\n " shape="box"] +"blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" [label="11: DeclStmt \n VARIABLE_DECLARED(context:CGContext*); [line 21, column 3]\n n$17=_fun_CGBitmapContextCreate(null:void*,(unsigned long)0:unsigned long,(unsigned long)0:unsigned long,(unsigned long)8:unsigned long,(unsigned long)0:unsigned long,null:CGColorSpace*,(unsigned int)0:unsigned int) [line 21, column 26]\n *&context:CGContext*=n$17 [line 21, column 3]\n " shape="box"] "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_11" -> "blockReleaseNoLeak#My_manager#instance.0c48f80f024250b18a529440f1313af6_10" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot index ca2424ca8..a3ad6de03 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch.m.dot @@ -11,28 +11,28 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_3" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_4" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_4" [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 85, column 3]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_4" [label="4: between_join_and_exit \n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_4" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&b:DispatchA* [line 85, column 7]\n NULLIFY(&b); [line 85, column 7]\n EXIT_SCOPE(b); [line 85, column 7]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&b:DispatchA* [line 85, column 7]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" ; "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == null), true); [line 85, column 7]\n EXIT_SCOPE(n$0); [line 85, column 7]\n " shape="invhouse"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" [label="6: Prune (true branch, if) \n PRUNE((n$0 == null), true); [line 85, column 7]\n " shape="invhouse"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_6" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == null), false); [line 85, column 7]\n NULLIFY(&p); [line 85, column 7]\n EXIT_SCOPE(n$0,p); [line 85, column 7]\n " shape="invhouse"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" [label="7: Prune (false branch, if) \n PRUNE(!(n$0 == null), false); [line 85, column 7]\n " shape="invhouse"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_7" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" [label="8: Return Stmt \n n$1=*&p:int* [line 86, column 13]\n n$2=*n$1:int [line 86, column 12]\n *&return:int=n$2 [line 86, column 5]\n NULLIFY(&p); [line 86, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 86, column 5]\n APPLY_ABSTRACTION; [line 86, column 5]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" [label="8: Return Stmt \n n$1=*&p:int* [line 86, column 13]\n n$2=*n$1:int [line 86, column 12]\n *&return:int=n$2 [line 86, column 5]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_8" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" [label="9: Return Stmt \n *&return:int=0 [line 88, column 5]\n APPLY_ABSTRACTION; [line 88, column 5]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" [label="9: Return Stmt \n *&return:int=0 [line 88, column 5]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_9" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_2" ; @@ -40,7 +40,7 @@ digraph cfg { "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_5" ; -"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" [label="11: DeclStmt \n VARIABLE_DECLARED(b:DispatchA*); [line 83, column 3]\n n$4=_fun_DispatchA::sharedInstance() [line 83, column 18]\n *&b:DispatchA*=n$4 [line 83, column 3]\n EXIT_SCOPE(n$4); [line 83, column 3]\n " shape="box"] +"DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" [label="11: DeclStmt \n VARIABLE_DECLARED(b:DispatchA*); [line 83, column 3]\n n$4=_fun_DispatchA::sharedInstance() [line 83, column 18]\n *&b:DispatchA*=n$4 [line 83, column 3]\n " shape="box"] "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_11" -> "DispatchMain.f6461dbdaeaf9a114cbe40f5f72fbb3f_10" ; @@ -51,7 +51,7 @@ digraph cfg { "objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_2" [label="2: Exit objc_blockDispatchA::block_attribute_2 \n " color=yellow style=filled] -"objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&a:DispatchA* [line 38, column 5]\n *n$8._x:int=10 [line 38, column 5]\n NULLIFY(&a); [line 38, column 5]\n EXIT_SCOPE(n$8,a); [line 38, column 5]\n APPLY_ABSTRACTION; [line 38, column 5]\n " shape="box"] +"objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_3" [label="3: BinaryOperatorStmt: Assign \n n$8=*&a:DispatchA* [line 38, column 5]\n *n$8._x:int=10 [line 38, column 5]\n " shape="box"] "objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_3" -> "objc_blockDispatchA::block_attribute_2(class DispatchA).8dc1ebb9b817a75d59191e3b5ac3d8f4_2" ; @@ -62,7 +62,7 @@ digraph cfg { "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_2" [label="2: Exit objc_blockDispatchA::dispatch_a_block_variable_4 \n " color=yellow style=filled] -"objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_3" [label="3: BinaryOperatorStmt: Assign \n n$20=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 55, column 25]\n n$21=_fun_NSObject::init(n$20:DispatchA*) virtual [line 55, column 25]\n *&#GB$DispatchA::dispatch_a_block_variable.static_storage__:DispatchA*=n$21 [line 55, column 5]\n EXIT_SCOPE(n$20,n$21); [line 55, column 5]\n APPLY_ABSTRACTION; [line 55, column 5]\n " shape="box"] +"objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_3" [label="3: BinaryOperatorStmt: Assign \n n$20=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 55, column 25]\n n$21=_fun_NSObject::init(n$20:DispatchA*) virtual [line 55, column 25]\n *&#GB$DispatchA::dispatch_a_block_variable.static_storage__:DispatchA*=n$21 [line 55, column 5]\n " shape="box"] "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_3" -> "objc_blockDispatchA::dispatch_a_block_variable_4.0b9ca2975d7f2bf9120661b118c2c0bb_2" ; @@ -73,7 +73,7 @@ digraph cfg { "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_2" [label="2: Exit objc_blockDispatchA::dispatch_a_block_variable_from_macro_5 \n " color=yellow style=filled] -"objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_3" [label="3: BinaryOperatorStmt: Assign \n n$25=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 66, column 27]\n n$26=_fun_NSObject::init(n$25:DispatchA*) virtual [line 66, column 27]\n *&#GB$DispatchA::dispatch_a_block_variable_from_macro.static_storage__:DispatchA*=n$26 [line 66, column 7]\n EXIT_SCOPE(n$25,n$26); [line 66, column 7]\n APPLY_ABSTRACTION; [line 66, column 7]\n " shape="box"] +"objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_3" [label="3: BinaryOperatorStmt: Assign \n n$25=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 66, column 27]\n n$26=_fun_NSObject::init(n$25:DispatchA*) virtual [line 66, column 27]\n *&#GB$DispatchA::dispatch_a_block_variable_from_macro.static_storage__:DispatchA*=n$26 [line 66, column 7]\n " shape="box"] "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_3" -> "objc_blockDispatchA::dispatch_a_block_variable_from_macro_5.95f7628ee6d5ad3dae46b578932c94aa_2" ; @@ -84,7 +84,7 @@ digraph cfg { "objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_2" [label="2: Exit objc_blockDispatchA::sharedInstance_1 \n " color=yellow style=filled] -"objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_3" [label="3: BinaryOperatorStmt: Assign \n n$2=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 29, column 23]\n n$3=_fun_DispatchA::init(n$2:DispatchA*) virtual [line 29, column 22]\n *&#GB$DispatchA::sharedInstance.sharedInstance:objc_object*=n$3 [line 29, column 5]\n EXIT_SCOPE(n$2,n$3); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] +"objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_3" [label="3: BinaryOperatorStmt: Assign \n n$2=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 29, column 23]\n n$3=_fun_DispatchA::init(n$2:DispatchA*) virtual [line 29, column 22]\n *&#GB$DispatchA::sharedInstance.sharedInstance:objc_object*=n$3 [line 29, column 5]\n " shape="box"] "objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_3" -> "objc_blockDispatchA::sharedInstance_1.50704f3ac0a3af5feaadec9b1fbbe54d_2" ; @@ -95,7 +95,7 @@ digraph cfg { "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_2" [label="2: Exit objc_blockDispatchA::trans_3 \n " color=yellow style=filled] -"objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_3" [label="3: BinaryOperatorStmt: Assign \n n$15=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 46, column 23]\n n$16=_fun_DispatchA::init(n$15:DispatchA*) virtual [line 46, column 22]\n *&#GB$DispatchA::trans.sharedInstance:objc_object*=n$16 [line 46, column 5]\n EXIT_SCOPE(n$15,n$16); [line 46, column 5]\n APPLY_ABSTRACTION; [line 46, column 5]\n " shape="box"] +"objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_3" [label="3: BinaryOperatorStmt: Assign \n n$15=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 46, column 23]\n n$16=_fun_DispatchA::init(n$15:DispatchA*) virtual [line 46, column 22]\n *&#GB$DispatchA::trans.sharedInstance:objc_object*=n$16 [line 46, column 5]\n " shape="box"] "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_3" -> "objc_blockDispatchA::trans_3.95a17d9ac15f0da3f92b7057c890d96c_2" ; @@ -106,15 +106,15 @@ digraph cfg { "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" [label="2: Exit DispatchA::block_attribute \n " color=yellow style=filled] -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" [label="3: Return Stmt \n n$5=*&a:DispatchA* [line 40, column 10]\n n$6=*n$5._x:int [line 40, column 10]\n *&return:int=n$6 [line 40, column 3]\n NULLIFY(&a); [line 40, column 3]\n EXIT_SCOPE(n$5,n$6,a); [line 40, column 3]\n APPLY_ABSTRACTION; [line 40, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" [label="3: Return Stmt \n n$5=*&a:DispatchA* [line 40, column 10]\n n$6=*n$5._x:int [line 40, column 10]\n *&return:int=n$6 [line 40, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_2" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" [label="4: Call _fun__dispatch_once \n n$7=*&a:DispatchA* [line 37, column 24]\n n$9=_fun__dispatch_once(&#GB$DispatchA::block_attribute.once:long*,(_fun_objc_blockDispatchA::block_attribute_2,(n$7 &a:DispatchA*)):_fn_(*)) block_params [line 37, column 3]\n EXIT_SCOPE(n$7,n$9); [line 37, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" [label="4: Call _fun__dispatch_once \n n$7=*&a:DispatchA* [line 37, column 24]\n n$9=_fun__dispatch_once(&#GB$DispatchA::block_attribute.once:long*,(_fun_objc_blockDispatchA::block_attribute_2,(n$7 &a:DispatchA*)):_fn_(*)) block_params [line 37, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_3" ; -"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 36, column 3]\n n$10=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 36, column 26]\n n$11=_fun_NSObject::init(n$10:DispatchA*) virtual [line 36, column 26]\n *&a:DispatchA*=n$11 [line 36, column 3]\n EXIT_SCOPE(n$10,n$11); [line 36, column 3]\n " shape="box"] +"block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 36, column 3]\n n$10=_fun___objc_alloc_no_fail(sizeof(t=DispatchA):unsigned long) [line 36, column 26]\n n$11=_fun_NSObject::init(n$10:DispatchA*) virtual [line 36, column 26]\n *&a:DispatchA*=n$11 [line 36, column 3]\n " shape="box"] "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_5" -> "block_attribute#DispatchA#class.df997e345dbf19ec3438c667c942e14a_4" ; @@ -125,11 +125,11 @@ digraph cfg { "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_2" [label="2: Exit DispatchA::dispatch_a_block_variable \n " color=yellow style=filled] -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" [label="3: Return Stmt \n n$17=*&#GB$DispatchA::dispatch_a_block_variable.static_storage__:DispatchA* [line 59, column 10]\n *&return:objc_object*=n$17 [line 59, column 3]\n EXIT_SCOPE(n$17); [line 59, column 3]\n APPLY_ABSTRACTION; [line 59, column 3]\n " shape="box"] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" [label="3: Return Stmt \n n$17=*&#GB$DispatchA::dispatch_a_block_variable.static_storage__:DispatchA* [line 59, column 10]\n *&return:objc_object*=n$17 [line 59, column 3]\n " shape="box"] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_2" ; -"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" [label="4: Call _fun__dispatch_once \n n$18=*&initialization_block__:_fn_(*) [line 58, column 32]\n n$19=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable.once_token__:long*,n$18:_fn_(*)) [line 58, column 3]\n NULLIFY(&initialization_block__); [line 58, column 3]\n EXIT_SCOPE(n$18,n$19,initialization_block__); [line 58, column 3]\n " shape="box"] +"dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" [label="4: Call _fun__dispatch_once \n n$18=*&initialization_block__:_fn_(*) [line 58, column 32]\n n$19=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable.once_token__:long*,n$18:_fn_(*)) [line 58, column 3]\n " shape="box"] "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_4" -> "dispatch_a_block_variable#DispatchA#class.3cc12dd22127281b8293b7c046d21bb2_3" ; @@ -148,7 +148,7 @@ digraph cfg { "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" [label="4: Call _fun__dispatch_once \n n$23=*&initialization_block__:_fn_(*) [line 69, column 34]\n n$24=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable_from_macro.once_token__:long*,n$23:_fn_(*)) [line 69, column 5]\n NULLIFY(&initialization_block__); [line 69, column 5]\n EXIT_SCOPE(n$23,n$24,initialization_block__); [line 69, column 5]\n " shape="box"] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" [label="4: Call _fun__dispatch_once \n n$23=*&initialization_block__:_fn_(*) [line 69, column 34]\n n$24=_fun__dispatch_once(&#GB$DispatchA::dispatch_a_block_variable_from_macro.once_token__:long*,n$23:_fn_(*)) [line 69, column 5]\n " shape="box"] "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_3" ; @@ -156,7 +156,7 @@ digraph cfg { "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_5" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_4" ; -"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" [label="6: Return Stmt \n *&return:objc_object*=n$22 [line 63, column 3]\n EXIT_SCOPE(n$22); [line 63, column 3]\n APPLY_ABSTRACTION; [line 63, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" [label="6: Return Stmt \n *&return:objc_object*=n$22 [line 63, column 3]\n " shape="box"] "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_6" -> "dispatch_a_block_variable_from_macro#DispatchA#class.92567a38d5ab3cf637f72030b1097441_2" ; @@ -167,15 +167,15 @@ digraph cfg { "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_2" [label="2: Exit DispatchA::dispatch_a_block_variable_from_macro_delivers_initialised_object \n " color=yellow style=filled] -"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" [label="3: Return Stmt \n n$27=*&a:DispatchA* [line 77, column 15]\n n$28=*n$27._x:int [line 77, column 15]\n *&return:int=(1 / (n$28 - 5)) [line 77, column 3]\n NULLIFY(&a); [line 77, column 3]\n EXIT_SCOPE(n$27,n$28,a); [line 77, column 3]\n APPLY_ABSTRACTION; [line 77, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" [label="3: Return Stmt \n n$27=*&a:DispatchA* [line 77, column 15]\n n$28=*n$27._x:int [line 77, column 15]\n *&return:int=(1 / (n$28 - 5)) [line 77, column 3]\n " shape="box"] "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_2" ; -"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" [label="4: BinaryOperatorStmt: Assign \n n$29=*&a:DispatchA* [line 76, column 3]\n *n$29._x:int=5 [line 76, column 3]\n EXIT_SCOPE(n$29); [line 76, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" [label="4: BinaryOperatorStmt: Assign \n n$29=*&a:DispatchA* [line 76, column 3]\n *n$29._x:int=5 [line 76, column 3]\n " shape="box"] "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_3" ; -"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 75, column 3]\n n$30=_fun_DispatchA::dispatch_a_block_variable_from_macro() [line 75, column 18]\n *&a:DispatchA*=n$30 [line 75, column 3]\n EXIT_SCOPE(n$30); [line 75, column 3]\n " shape="box"] +"dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:DispatchA*); [line 75, column 3]\n n$30=_fun_DispatchA::dispatch_a_block_variable_from_macro() [line 75, column 18]\n *&a:DispatchA*=n$30 [line 75, column 3]\n " shape="box"] "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_5" -> "dispatch_a_block_variable_from_macro_delivers_initialised_object#DispatchA#class.a58ef5afb5e1e9480b49788e2400c52c_4" ; @@ -186,11 +186,11 @@ digraph cfg { "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_2" [label="2: Exit DispatchA::sharedInstance \n " color=yellow style=filled] -"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchA::sharedInstance.sharedInstance:objc_object* [line 31, column 10]\n *&return:objc_object*=n$1 [line 31, column 3]\n EXIT_SCOPE(n$1); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchA::sharedInstance.sharedInstance:objc_object* [line 31, column 10]\n *&return:objc_object*=n$1 [line 31, column 3]\n " shape="box"] "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_2" ; -"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" [label="4: Call _fun__dispatch_once \n n$4=_fun__dispatch_once(&#GB$DispatchA::sharedInstance.once:long*,(_fun_objc_blockDispatchA::sharedInstance_1):_fn_(*)) block_params [line 28, column 3]\n EXIT_SCOPE(n$4); [line 28, column 3]\n " shape="box"] +"sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" [label="4: Call _fun__dispatch_once \n n$4=_fun__dispatch_once(&#GB$DispatchA::sharedInstance.once:long*,(_fun_objc_blockDispatchA::sharedInstance_1):_fn_(*)) block_params [line 28, column 3]\n " shape="box"] "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_4" -> "sharedInstance#DispatchA#class.8992c6086d1ce5c225093940f62386ac_3" ; @@ -201,11 +201,11 @@ digraph cfg { "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" [label="2: Exit DispatchA::trans \n " color=yellow style=filled] -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" [label="3: Return Stmt \n n$12=*&#GB$DispatchA::trans.sharedInstance:objc_object* [line 49, column 10]\n *&return:objc_object*=n$12 [line 49, column 3]\n EXIT_SCOPE(n$12); [line 49, column 3]\n APPLY_ABSTRACTION; [line 49, column 3]\n " shape="box"] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" [label="3: Return Stmt \n n$12=*&#GB$DispatchA::trans.sharedInstance:objc_object* [line 49, column 10]\n *&return:objc_object*=n$12 [line 49, column 3]\n " shape="box"] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_2" ; -"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" [label="4: Call n$13 \n n$13=*&dummy_block:_fn_(*) [line 48, column 3]\n n$14=n$13() objc_block [line 48, column 3]\n NULLIFY(&dummy_block); [line 48, column 3]\n EXIT_SCOPE(n$13,n$14,dummy_block); [line 48, column 3]\n " shape="box"] +"trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" [label="4: Call n$13 \n n$13=*&dummy_block:_fn_(*) [line 48, column 3]\n n$14=n$13() objc_block [line 48, column 3]\n " shape="box"] "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_4" -> "trans#DispatchA#class.23f9d908a87deca79c235bc76ca6e941_3" ; @@ -220,7 +220,7 @@ digraph cfg { "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" [label="2: Exit DispatchA::init \n " color=yellow style=filled] -"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" [label="3: Return Stmt \n n$0=*&self:DispatchA* [line 22, column 10]\n *&return:objc_object*=n$0 [line 22, column 3]\n NULLIFY(&self); [line 22, column 3]\n EXIT_SCOPE(n$0,self); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" [label="3: Return Stmt \n n$0=*&self:DispatchA* [line 22, column 10]\n *&return:objc_object*=n$0 [line 22, column 3]\n " shape="box"] "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_3" -> "init#DispatchA#instance.ff6c7b9a5a49bb46493519a4290a6582_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot index dae2a6aee..9501cfa7d 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch_examples.m.dot @@ -7,11 +7,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_2" [label="2: Exit objc_blockDispatchEx::dispatch_after_example_3 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" [label="3: BinaryOperatorStmt: Assign \n n$18=*&#GB$DispatchEx::dispatch_after_example.a:DispatchEx* [line 50, column 20]\n *n$18.x:int=10 [line 50, column 20]\n EXIT_SCOPE(n$18); [line 50, column 20]\n APPLY_ABSTRACTION; [line 50, column 20]\n " shape="box"] +"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" [label="3: BinaryOperatorStmt: Assign \n n$18=*&#GB$DispatchEx::dispatch_after_example.a:DispatchEx* [line 50, column 20]\n *n$18.x:int=10 [line 50, column 20]\n " shape="box"] "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" -> "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_2" ; -"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_4" [label="4: BinaryOperatorStmt: Assign \n n$19=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 49, column 25]\n n$20=_fun_DispatchEx::init(n$19:DispatchEx*) virtual [line 49, column 24]\n *&#GB$DispatchEx::dispatch_after_example.a:DispatchEx*=n$20 [line 49, column 20]\n EXIT_SCOPE(n$19,n$20); [line 49, column 20]\n " shape="box"] +"objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_4" [label="4: BinaryOperatorStmt: Assign \n n$19=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 49, column 25]\n n$20=_fun_DispatchEx::init(n$19:DispatchEx*) virtual [line 49, column 24]\n *&#GB$DispatchEx::dispatch_after_example.a:DispatchEx*=n$20 [line 49, column 20]\n " shape="box"] "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_4" -> "objc_blockDispatchEx::dispatch_after_example_3.6e9398bb753d10e1e5234dfa24ad1e09_3" ; @@ -22,11 +22,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_2" [label="2: Exit objc_blockDispatchEx::dispatch_async_example_2 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" [label="3: BinaryOperatorStmt: Assign \n n$10=*&#GB$DispatchEx::dispatch_async_example.a:DispatchEx* [line 39, column 20]\n *n$10.x:int=10 [line 39, column 20]\n EXIT_SCOPE(n$10); [line 39, column 20]\n APPLY_ABSTRACTION; [line 39, column 20]\n " shape="box"] +"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" [label="3: BinaryOperatorStmt: Assign \n n$10=*&#GB$DispatchEx::dispatch_async_example.a:DispatchEx* [line 39, column 20]\n *n$10.x:int=10 [line 39, column 20]\n " shape="box"] "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" -> "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_2" ; -"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_4" [label="4: BinaryOperatorStmt: Assign \n n$11=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 38, column 25]\n n$12=_fun_DispatchEx::init(n$11:DispatchEx*) virtual [line 38, column 24]\n *&#GB$DispatchEx::dispatch_async_example.a:DispatchEx*=n$12 [line 38, column 20]\n EXIT_SCOPE(n$11,n$12); [line 38, column 20]\n " shape="box"] +"objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_4" [label="4: BinaryOperatorStmt: Assign \n n$11=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 38, column 25]\n n$12=_fun_DispatchEx::init(n$11:DispatchEx*) virtual [line 38, column 24]\n *&#GB$DispatchEx::dispatch_async_example.a:DispatchEx*=n$12 [line 38, column 20]\n " shape="box"] "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_4" -> "objc_blockDispatchEx::dispatch_async_example_2.fa5a3367063c1299f87ec871fed2d30b_3" ; @@ -37,11 +37,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_2" [label="2: Exit objc_blockDispatchEx::dispatch_barrier_example_6 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" [label="3: BinaryOperatorStmt: Assign \n n$39=*&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx* [line 77, column 5]\n *n$39.x:int=10 [line 77, column 5]\n EXIT_SCOPE(n$39); [line 77, column 5]\n APPLY_ABSTRACTION; [line 77, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" [label="3: BinaryOperatorStmt: Assign \n n$39=*&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx* [line 77, column 5]\n *n$39.x:int=10 [line 77, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" -> "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_2" ; -"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_4" [label="4: BinaryOperatorStmt: Assign \n n$40=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 76, column 10]\n n$41=_fun_DispatchEx::init(n$40:DispatchEx*) virtual [line 76, column 9]\n *&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*=n$41 [line 76, column 5]\n EXIT_SCOPE(n$40,n$41); [line 76, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_4" [label="4: BinaryOperatorStmt: Assign \n n$40=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 76, column 10]\n n$41=_fun_DispatchEx::init(n$40:DispatchEx*) virtual [line 76, column 9]\n *&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx*=n$41 [line 76, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_4" -> "objc_blockDispatchEx::dispatch_barrier_example_6.ba3ac5911ae9e3a82bd6b67ca544b8b7_3" ; @@ -52,11 +52,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_2" [label="2: Exit objc_blockDispatchEx::dispatch_group_example_4 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" [label="3: BinaryOperatorStmt: Assign \n n$25=*&#GB$DispatchEx::dispatch_group_example.a:DispatchEx* [line 59, column 5]\n *n$25.x:int=10 [line 59, column 5]\n EXIT_SCOPE(n$25); [line 59, column 5]\n APPLY_ABSTRACTION; [line 59, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" [label="3: BinaryOperatorStmt: Assign \n n$25=*&#GB$DispatchEx::dispatch_group_example.a:DispatchEx* [line 59, column 5]\n *n$25.x:int=10 [line 59, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" -> "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_2" ; -"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_4" [label="4: BinaryOperatorStmt: Assign \n n$26=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 58, column 10]\n n$27=_fun_DispatchEx::init(n$26:DispatchEx*) virtual [line 58, column 9]\n *&#GB$DispatchEx::dispatch_group_example.a:DispatchEx*=n$27 [line 58, column 5]\n EXIT_SCOPE(n$26,n$27); [line 58, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_4" [label="4: BinaryOperatorStmt: Assign \n n$26=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 58, column 10]\n n$27=_fun_DispatchEx::init(n$26:DispatchEx*) virtual [line 58, column 9]\n *&#GB$DispatchEx::dispatch_group_example.a:DispatchEx*=n$27 [line 58, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_4" -> "objc_blockDispatchEx::dispatch_group_example_4.c2800d28963d2b21480cccdc47d7f3ac_3" ; @@ -67,11 +67,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_2" [label="2: Exit objc_blockDispatchEx::dispatch_group_notify_example_5 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" [label="3: BinaryOperatorStmt: Assign \n n$32=*&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx* [line 68, column 5]\n *n$32.x:int=10 [line 68, column 5]\n EXIT_SCOPE(n$32); [line 68, column 5]\n APPLY_ABSTRACTION; [line 68, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" [label="3: BinaryOperatorStmt: Assign \n n$32=*&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx* [line 68, column 5]\n *n$32.x:int=10 [line 68, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" -> "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_2" ; -"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_4" [label="4: BinaryOperatorStmt: Assign \n n$33=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 67, column 10]\n n$34=_fun_DispatchEx::init(n$33:DispatchEx*) virtual [line 67, column 9]\n *&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*=n$34 [line 67, column 5]\n EXIT_SCOPE(n$33,n$34); [line 67, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_4" [label="4: BinaryOperatorStmt: Assign \n n$33=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 67, column 10]\n n$34=_fun_DispatchEx::init(n$33:DispatchEx*) virtual [line 67, column 9]\n *&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx*=n$34 [line 67, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_4" -> "objc_blockDispatchEx::dispatch_group_notify_example_5.a0aee72ff872d034fa63a16b19a6f65d_3" ; @@ -82,11 +82,11 @@ digraph cfg { "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_2" [label="2: Exit objc_blockDispatchEx::dispatch_once_example_1 \n " color=yellow style=filled] -"objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&#GB$DispatchEx::dispatch_once_example.a:DispatchEx* [line 29, column 5]\n *n$3.x:int=10 [line 29, column 5]\n EXIT_SCOPE(n$3); [line 29, column 5]\n APPLY_ABSTRACTION; [line 29, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_3" [label="3: BinaryOperatorStmt: Assign \n n$3=*&#GB$DispatchEx::dispatch_once_example.a:DispatchEx* [line 29, column 5]\n *n$3.x:int=10 [line 29, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_3" -> "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_2" ; -"objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_4" [label="4: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 28, column 10]\n n$5=_fun_DispatchEx::init(n$4:DispatchEx*) virtual [line 28, column 9]\n *&#GB$DispatchEx::dispatch_once_example.a:DispatchEx*=n$5 [line 28, column 5]\n EXIT_SCOPE(n$4,n$5); [line 28, column 5]\n " shape="box"] +"objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_4" [label="4: BinaryOperatorStmt: Assign \n n$4=_fun___objc_alloc_no_fail(sizeof(t=DispatchEx):unsigned long) [line 28, column 10]\n n$5=_fun_DispatchEx::init(n$4:DispatchEx*) virtual [line 28, column 9]\n *&#GB$DispatchEx::dispatch_once_example.a:DispatchEx*=n$5 [line 28, column 5]\n " shape="box"] "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_4" -> "objc_blockDispatchEx::dispatch_once_example_1.da175f9cefd6334957e7f8d6d6b39790_3" ; @@ -97,11 +97,11 @@ digraph cfg { "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_2" [label="2: Exit DispatchEx::dispatch_after_example \n " color=yellow style=filled] -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" [label="3: Return Stmt \n n$14=*&#GB$DispatchEx::dispatch_after_example.a:DispatchEx* [line 52, column 10]\n n$15=*n$14.x:int [line 52, column 10]\n *&return:int=n$15 [line 52, column 3]\n EXIT_SCOPE(n$14,n$15); [line 52, column 3]\n APPLY_ABSTRACTION; [line 52, column 3]\n " shape="box"] +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" [label="3: Return Stmt \n n$14=*&#GB$DispatchEx::dispatch_after_example.a:DispatchEx* [line 52, column 10]\n n$15=*n$14.x:int [line 52, column 10]\n *&return:int=n$15 [line 52, column 3]\n " shape="box"] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_2" ; -"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" [label="4: Call _fun_dispatch_after \n n$16=_fun_dispatch_time(0:unsigned long long,((unsigned long long)2 * 1000000000):long long) [line 46, column 18]\n n$17=_fun_dispatch_get_main_queue() [line 47, column 18]\n n$21=_fun_dispatch_after(n$16:unsigned long long,n$17:NSObject*,(_fun_objc_blockDispatchEx::dispatch_after_example_3):_fn_(*)) block_params [line 46, column 3]\n EXIT_SCOPE(n$16,n$17,n$21); [line 46, column 3]\n " shape="box"] +"dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" [label="4: Call _fun_dispatch_after \n n$16=_fun_dispatch_time(0:unsigned long long,((unsigned long long)2 * 1000000000):long long) [line 46, column 18]\n n$17=_fun_dispatch_get_main_queue() [line 47, column 18]\n n$21=_fun_dispatch_after(n$16:unsigned long long,n$17:NSObject*,(_fun_objc_blockDispatchEx::dispatch_after_example_3):_fn_(*)) block_params [line 46, column 3]\n " shape="box"] "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_4" -> "dispatch_after_example#DispatchEx#class.1d25856bd99eb1ef683c8f65ff46d05d_3" ; @@ -116,11 +116,11 @@ digraph cfg { "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_2" [label="2: Exit DispatchEx::dispatch_async_example \n " color=yellow style=filled] -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" [label="3: Return Stmt \n n$7=*&#GB$DispatchEx::dispatch_async_example.a:DispatchEx* [line 41, column 10]\n n$8=*n$7.x:int [line 41, column 10]\n *&return:int=n$8 [line 41, column 3]\n EXIT_SCOPE(n$7,n$8); [line 41, column 3]\n APPLY_ABSTRACTION; [line 41, column 3]\n " shape="box"] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" [label="3: Return Stmt \n n$7=*&#GB$DispatchEx::dispatch_async_example.a:DispatchEx* [line 41, column 10]\n n$8=*n$7.x:int [line 41, column 10]\n *&return:int=n$8 [line 41, column 3]\n " shape="box"] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_2" ; -"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" [label="4: Call _fun_dispatch_async \n n$9=_fun_dispatch_get_global_queue(0:long,(unsigned long)0:unsigned long) [line 36, column 18]\n n$13=_fun_dispatch_async(n$9:NSObject*,(_fun_objc_blockDispatchEx::dispatch_async_example_2):_fn_(*)) block_params [line 36, column 3]\n EXIT_SCOPE(n$9,n$13); [line 36, column 3]\n " shape="box"] +"dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" [label="4: Call _fun_dispatch_async \n n$9=_fun_dispatch_get_global_queue(0:long,(unsigned long)0:unsigned long) [line 36, column 18]\n n$13=_fun_dispatch_async(n$9:NSObject*,(_fun_objc_blockDispatchEx::dispatch_async_example_2):_fn_(*)) block_params [line 36, column 3]\n " shape="box"] "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_4" -> "dispatch_async_example#DispatchEx#class.5c5d7347be2a9654ad7e32514189fe54_3" ; @@ -135,11 +135,11 @@ digraph cfg { "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_2" [label="2: Exit DispatchEx::dispatch_barrier_example \n " color=yellow style=filled] -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" [label="3: Return Stmt \n n$36=*&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx* [line 79, column 10]\n n$37=*n$36.x:int [line 79, column 10]\n *&return:int=n$37 [line 79, column 3]\n EXIT_SCOPE(n$36,n$37); [line 79, column 3]\n APPLY_ABSTRACTION; [line 79, column 3]\n " shape="box"] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" [label="3: Return Stmt \n n$36=*&#GB$DispatchEx::dispatch_barrier_example.a:DispatchEx* [line 79, column 10]\n n$37=*n$36.x:int [line 79, column 10]\n *&return:int=n$37 [line 79, column 3]\n " shape="box"] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_2" ; -"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" [label="4: Call _fun_dispatch_barrier_async \n n$38=_fun_dispatch_get_main_queue() [line 75, column 26]\n n$42=_fun_dispatch_barrier_async(n$38:NSObject*,(_fun_objc_blockDispatchEx::dispatch_barrier_example_6):_fn_(*)) block_params [line 75, column 3]\n EXIT_SCOPE(n$38,n$42); [line 75, column 3]\n " shape="box"] +"dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" [label="4: Call _fun_dispatch_barrier_async \n n$38=_fun_dispatch_get_main_queue() [line 75, column 26]\n n$42=_fun_dispatch_barrier_async(n$38:NSObject*,(_fun_objc_blockDispatchEx::dispatch_barrier_example_6):_fn_(*)) block_params [line 75, column 3]\n " shape="box"] "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_4" -> "dispatch_barrier_example#DispatchEx#class.a541a40f2f04e29019c58e563f7544d8_3" ; @@ -154,11 +154,11 @@ digraph cfg { "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_2" [label="2: Exit DispatchEx::dispatch_group_example \n " color=yellow style=filled] -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" [label="3: Return Stmt \n n$22=*&#GB$DispatchEx::dispatch_group_example.a:DispatchEx* [line 61, column 10]\n n$23=*n$22.x:int [line 61, column 10]\n *&return:int=n$23 [line 61, column 3]\n EXIT_SCOPE(n$22,n$23); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, column 3]\n " shape="box"] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" [label="3: Return Stmt \n n$22=*&#GB$DispatchEx::dispatch_group_example.a:DispatchEx* [line 61, column 10]\n n$23=*n$22.x:int [line 61, column 10]\n *&return:int=n$23 [line 61, column 3]\n " shape="box"] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_2" ; -"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" [label="4: Call _fun_dispatch_group_async \n n$24=_fun_dispatch_get_main_queue() [line 57, column 30]\n n$28=_fun_dispatch_group_async(null:NSObject*,n$24:NSObject*,(_fun_objc_blockDispatchEx::dispatch_group_example_4):_fn_(*)) block_params [line 57, column 3]\n EXIT_SCOPE(n$24,n$28); [line 57, column 3]\n " shape="box"] +"dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" [label="4: Call _fun_dispatch_group_async \n n$24=_fun_dispatch_get_main_queue() [line 57, column 30]\n n$28=_fun_dispatch_group_async(null:NSObject*,n$24:NSObject*,(_fun_objc_blockDispatchEx::dispatch_group_example_4):_fn_(*)) block_params [line 57, column 3]\n " shape="box"] "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_4" -> "dispatch_group_example#DispatchEx#class.f420a75c58eda6d3f0e5e05fadabfc18_3" ; @@ -173,11 +173,11 @@ digraph cfg { "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_2" [label="2: Exit DispatchEx::dispatch_group_notify_example \n " color=yellow style=filled] -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" [label="3: Return Stmt \n n$29=*&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx* [line 70, column 10]\n n$30=*n$29.x:int [line 70, column 10]\n *&return:int=n$30 [line 70, column 3]\n EXIT_SCOPE(n$29,n$30); [line 70, column 3]\n APPLY_ABSTRACTION; [line 70, column 3]\n " shape="box"] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" [label="3: Return Stmt \n n$29=*&#GB$DispatchEx::dispatch_group_notify_example.a:DispatchEx* [line 70, column 10]\n n$30=*n$29.x:int [line 70, column 10]\n *&return:int=n$30 [line 70, column 3]\n " shape="box"] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_2" ; -"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" [label="4: Call _fun_dispatch_group_async \n n$31=_fun_dispatch_get_main_queue() [line 66, column 30]\n n$35=_fun_dispatch_group_async(null:NSObject*,n$31:NSObject*,(_fun_objc_blockDispatchEx::dispatch_group_notify_example_5):_fn_(*)) block_params [line 66, column 3]\n EXIT_SCOPE(n$31,n$35); [line 66, column 3]\n " shape="box"] +"dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" [label="4: Call _fun_dispatch_group_async \n n$31=_fun_dispatch_get_main_queue() [line 66, column 30]\n n$35=_fun_dispatch_group_async(null:NSObject*,n$31:NSObject*,(_fun_objc_blockDispatchEx::dispatch_group_notify_example_5):_fn_(*)) block_params [line 66, column 3]\n " shape="box"] "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_4" -> "dispatch_group_notify_example#DispatchEx#class.f5cf54b07621c319cf7ead3b217760ed_3" ; @@ -192,11 +192,11 @@ digraph cfg { "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_2" [label="2: Exit DispatchEx::dispatch_once_example \n " color=yellow style=filled] -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchEx::dispatch_once_example.a:DispatchEx* [line 31, column 10]\n n$2=*n$1.x:int [line 31, column 10]\n *&return:int=n$2 [line 31, column 3]\n EXIT_SCOPE(n$1,n$2); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" [label="3: Return Stmt \n n$1=*&#GB$DispatchEx::dispatch_once_example.a:DispatchEx* [line 31, column 10]\n n$2=*n$1.x:int [line 31, column 10]\n *&return:int=n$2 [line 31, column 3]\n " shape="box"] "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_2" ; -"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" [label="4: Call _fun__dispatch_once \n n$6=_fun__dispatch_once(&#GB$DispatchEx::dispatch_once_example.onceToken:long*,(_fun_objc_blockDispatchEx::dispatch_once_example_1):_fn_(*)) block_params [line 27, column 3]\n EXIT_SCOPE(n$6); [line 27, column 3]\n " shape="box"] +"dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" [label="4: Call _fun__dispatch_once \n n$6=_fun__dispatch_once(&#GB$DispatchEx::dispatch_once_example.onceToken:long*,(_fun_objc_blockDispatchEx::dispatch_once_example_1):_fn_(*)) block_params [line 27, column 3]\n " shape="box"] "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_4" -> "dispatch_once_example#DispatchEx#class.d3456446b1a2d5355c1767887cc8b62c_3" ; @@ -211,7 +211,7 @@ digraph cfg { "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_2" [label="2: Exit DispatchEx::init \n " color=yellow style=filled] -"init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_3" [label="3: Return Stmt \n n$0=*&self:DispatchEx* [line 19, column 10]\n *&return:objc_object*=n$0 [line 19, column 3]\n NULLIFY(&self); [line 19, column 3]\n EXIT_SCOPE(n$0,self); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_3" [label="3: Return Stmt \n n$0=*&self:DispatchEx* [line 19, column 10]\n *&return:objc_object*=n$0 [line 19, column 3]\n " shape="box"] "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_3" -> "init#DispatchEx#instance.04117ac30ba5664de2d577c4aa97d118_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot b/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot index 25e2a0915..8f885f790 100644 --- a/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/block/dispatch_in_macro.m.dot @@ -11,11 +11,11 @@ digraph cfg { "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_3" -> "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_5" ; -"DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_4" [label="4: Call _fun__dispatch_once \n n$3=_fun__dispatch_once(&#GB$DispatchInMacroTest.once_token:long*,(_fun_objc_blockDispatchInMacroTest_1):_fn_(*)) block_params [line 21, column 10]\n EXIT_SCOPE(n$3); [line 21, column 10]\n " shape="box"] +"DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_4" [label="4: Call _fun__dispatch_once \n n$3=_fun__dispatch_once(&#GB$DispatchInMacroTest.once_token:long*,(_fun_objc_blockDispatchInMacroTest_1):_fn_(*)) block_params [line 21, column 10]\n " shape="box"] "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_4" -> "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_3" ; -"DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_5" [label="5: Return Stmt \n *&return:objc_object*=n$0 [line 21, column 3]\n EXIT_SCOPE(n$0); [line 21, column 3]\n APPLY_ABSTRACTION; [line 21, column 3]\n " shape="box"] +"DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_5" [label="5: Return Stmt \n *&return:objc_object*=n$0 [line 21, column 3]\n " shape="box"] "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_5" -> "DispatchInMacroTest.f5d56763274a479d06265a2f9562bef1_2" ; @@ -26,7 +26,7 @@ digraph cfg { "objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_2" [label="2: Exit objc_blockDispatchInMacroTest_1 \n " color=yellow style=filled] -"objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(t=NSObject):unsigned long) [line 21, column 10]\n n$2=_fun_NSObject::init(n$1:NSObject*) virtual [line 21, column 10]\n *&#GB$DispatchInMacroTest.static_storage:NSObject*=n$2 [line 21, column 10]\n EXIT_SCOPE(n$1,n$2); [line 21, column 10]\n APPLY_ABSTRACTION; [line 21, column 10]\n " shape="box"] +"objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_3" [label="3: BinaryOperatorStmt: Assign \n n$1=_fun___objc_alloc_no_fail(sizeof(t=NSObject):unsigned long) [line 21, column 10]\n n$2=_fun_NSObject::init(n$1:NSObject*) virtual [line 21, column 10]\n *&#GB$DispatchInMacroTest.static_storage:NSObject*=n$2 [line 21, column 10]\n " shape="box"] "objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_3" -> "objc_blockDispatchInMacroTest_1.0a2ff27838c52acc175e58f653e6eaad_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot b/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot index 757e9f710..906f5e466 100644 --- a/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/category_procdesc/EOCPerson.m.dot @@ -7,7 +7,7 @@ digraph cfg { "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_2" [label="2: Exit EOCPerson::performDaysWork \n " color=yellow style=filled] -"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"Performing days at work\":char* const ) [line 13, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 13, column 3]\n EXIT_SCOPE(n$0,n$1); [line 13, column 3]\n APPLY_ABSTRACTION; [line 13, column 3]\n " shape="box"] +"performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"Performing days at work\":char* const ) [line 13, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 13, column 3]\n " shape="box"] "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_3" -> "performDaysWork#EOCPerson#instance.68f45cebac26de5310062b9c47f6dc36_2" ; @@ -18,7 +18,7 @@ digraph cfg { "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_2" [label="2: Exit EOCPerson::takeVacationFromWork \n " color=yellow style=filled] -"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString::stringWithUTF8String:(\"BTaking vacations\":char* const ) [line 17, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 17, column 3]\n EXIT_SCOPE(n$2,n$3); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString::stringWithUTF8String:(\"BTaking vacations\":char* const ) [line 17, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 17, column 3]\n " shape="box"] "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_3" -> "takeVacationFromWork#EOCPerson#instance.a4a2043283853257ef9e4402128b75f9_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot b/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot index 3caaf3ba7..fab4fb1c9 100644 --- a/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot +++ b/infer/tests/codetoanalyze/objc/shared/category_procdesc/main.c.dot @@ -7,19 +7,19 @@ digraph cfg { "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_2" [label="2: Exit CategoryProcdescMain \n " color=yellow style=filled] -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_3" [label="3: Return Stmt \n *&return:int=0 [line 15, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_3" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_2" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 14, column 3]\n n$0=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 14, column 12]\n *&x:int*=(int*)n$0 [line 14, column 3]\n NULLIFY(&x); [line 14, column 3]\n EXIT_SCOPE(n$0,x); [line 14, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" [label="4: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 14, column 3]\n n$0=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 14, column 12]\n *&x:int*=(int*)n$0 [line 14, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_3" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" [label="5: Message Call: performDaysWork \n n$1=*&person:EOCPerson* [line 13, column 4]\n n$2=_fun_EOCPerson::performDaysWork(n$1:EOCPerson*) virtual [line 13, column 3]\n NULLIFY(&person); [line 13, column 3]\n EXIT_SCOPE(n$1,n$2,person); [line 13, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" [label="5: Message Call: performDaysWork \n n$1=*&person:EOCPerson* [line 13, column 4]\n n$2=_fun_EOCPerson::performDaysWork(n$1:EOCPerson*) virtual [line 13, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_4" ; -"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" [label="6: DeclStmt \n VARIABLE_DECLARED(person:EOCPerson*); [line 12, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=EOCPerson):unsigned long) [line 12, column 24]\n n$4=_fun_NSObject::init(n$3:EOCPerson*) virtual [line 12, column 23]\n *&person:EOCPerson*=n$4 [line 12, column 3]\n EXIT_SCOPE(n$3,n$4); [line 12, column 3]\n " shape="box"] +"CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" [label="6: DeclStmt \n VARIABLE_DECLARED(person:EOCPerson*); [line 12, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=EOCPerson):unsigned long) [line 12, column 24]\n n$4=_fun_NSObject::init(n$3:EOCPerson*) virtual [line 12, column 23]\n *&person:EOCPerson*=n$4 [line 12, column 3]\n " shape="box"] "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_6" -> "CategoryProcdescMain.ae2ee334c26ccbf8ee413efe5d896611_5" ; diff --git a/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot b/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot index c19b51fc2..23abfb6dc 100644 --- a/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/field_superclass/SuperExample.m.dot @@ -7,7 +7,7 @@ digraph cfg { "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_2" [label="2: Exit super_example_main \n " color=yellow style=filled] -"super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:objc_object*); [line 40, column 5]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=ASuper):unsigned long) [line 40, column 21]\n n$1=_fun_NSObject::init(n$0:ASuper*) virtual [line 40, column 21]\n NULLIFY(&a); [line 40, column 21]\n EXIT_SCOPE(n$0,n$1,a); [line 40, column 21]\n APPLY_ABSTRACTION; [line 40, column 21]\n " shape="box"] +"super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:objc_object*); [line 40, column 5]\n n$0=_fun___objc_alloc_no_fail(sizeof(t=ASuper):unsigned long) [line 40, column 21]\n n$1=_fun_NSObject::init(n$0:ASuper*) virtual [line 40, column 21]\n " shape="box"] "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_3" -> "super_example_main.e3ebe95e6c5ae811733f235c29fbbf6d_2" ; @@ -18,15 +18,15 @@ digraph cfg { "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_2" [label="2: Exit ASuper::init \n " color=yellow style=filled] -"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" [label="3: Return Stmt \n n$0=*&self:ASuper* [line 33, column 10]\n *&return:objc_object*=n$0 [line 33, column 3]\n NULLIFY(&self); [line 33, column 3]\n EXIT_SCOPE(n$0,self); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" [label="3: Return Stmt \n n$0=*&self:ASuper* [line 33, column 10]\n *&return:objc_object*=n$0 [line 33, column 3]\n " shape="box"] "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_2" ; -"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&self:ASuper* [line 32, column 3]\n *n$1.a:int=4 [line 32, column 3]\n EXIT_SCOPE(n$1); [line 32, column 3]\n " shape="box"] +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&self:ASuper* [line 32, column 3]\n *n$1.a:int=4 [line 32, column 3]\n " shape="box"] "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_3" ; -"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&self:ASuper* [line 31, column 10]\n n$3=_fun_BSuper::init(n$2:ASuper*) [line 31, column 10]\n *&self:ASuper*=n$3 [line 31, column 3]\n EXIT_SCOPE(n$2,n$3); [line 31, column 3]\n " shape="box"] +"init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&self:ASuper* [line 31, column 10]\n n$3=_fun_BSuper::init(n$2:ASuper*) [line 31, column 10]\n *&self:ASuper*=n$3 [line 31, column 3]\n " shape="box"] "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_5" -> "init#ASuper#instance.9832dae2a83c036d9d82b45709c4855e_4" ; @@ -37,7 +37,7 @@ digraph cfg { "init#BSuper#instance.6678b088cbd2579c21b766781beb8030_2" [label="2: Exit BSuper::init \n " color=yellow style=filled] -"init#BSuper#instance.6678b088cbd2579c21b766781beb8030_3" [label="3: Return Stmt \n *&return:objc_object*=null [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"init#BSuper#instance.6678b088cbd2579c21b766781beb8030_3" [label="3: Return Stmt \n *&return:objc_object*=null [line 17, column 3]\n " shape="box"] "init#BSuper#instance.6678b088cbd2579c21b766781beb8030_3" -> "init#BSuper#instance.6678b088cbd2579c21b766781beb8030_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot index f2c9a1fbc..60f8309db 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/ArcExample.m.dot @@ -7,11 +7,11 @@ digraph cfg { "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_2" [label="2: Exit ArcA::getS \n " color=yellow style=filled] -"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 10]\n *&return:NSString*=n$0 [line 22, column 3]\n NULLIFY(&s); [line 22, column 3]\n EXIT_SCOPE(n$0,s); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 10]\n *&return:NSString*=n$0 [line 22, column 3]\n " shape="box"] "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_2" ; -"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 21, column 17]\n *&s:NSString*=n$1 [line 21, column 3]\n EXIT_SCOPE(n$1); [line 21, column 3]\n " shape="box"] +"getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 21, column 17]\n *&s:NSString*=n$1 [line 21, column 3]\n " shape="box"] "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_4" -> "getS#ArcA#instance.a6d142da8215d5903690f8a054289ac7_3" ; @@ -22,11 +22,11 @@ digraph cfg { "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_2" [label="2: Exit ArcA::newS \n " color=yellow style=filled] -"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" [label="3: Return Stmt \n n$2=*&s:NSString* [line 28, column 10]\n *&return:NSString*=n$2 [line 28, column 3]\n NULLIFY(&s); [line 28, column 3]\n EXIT_SCOPE(n$2,s); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" [label="3: Return Stmt \n n$2=*&s:NSString* [line 28, column 10]\n *&return:NSString*=n$2 [line 28, column 3]\n " shape="box"] "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_2" ; -"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 27, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 27, column 17]\n *&s:NSString*=n$3 [line 27, column 3]\n EXIT_SCOPE(n$3); [line 27, column 3]\n " shape="box"] +"newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 27, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 27, column 17]\n *&s:NSString*=n$3 [line 27, column 3]\n " shape="box"] "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_4" -> "newS#ArcA#instance.9d1f2aa4ea1ccfd32c1438724cfc19ba_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot index 19a4c442c..f53042c1b 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/AutoreleaseExample.m.dot @@ -7,35 +7,35 @@ digraph cfg { "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_2" [label="2: Exit autorelease_test1 \n " color=yellow style=filled] -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_3" [label="3: Return Stmt \n *&return:int=0 [line 42, column 3]\n APPLY_ABSTRACTION; [line 42, column 3]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_3" [label="3: Return Stmt \n *&return:int=0 [line 42, column 3]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_3" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_2" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_createA() [line 40, column 10]\n *&s3:Auto*=n$0 [line 40, column 5]\n NULLIFY(&s3); [line 40, column 5]\n EXIT_SCOPE(n$0,s3); [line 40, column 5]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_createA() [line 40, column 10]\n *&s3:Auto*=n$0 [line 40, column 5]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_4" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_3" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 39, column 10]\n *&s2:Auto*=n$1 [line 39, column 5]\n NULLIFY(&s2); [line 39, column 5]\n EXIT_SCOPE(n$1,s2); [line 39, column 5]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 39, column 10]\n *&s2:Auto*=n$1 [line 39, column 5]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_4" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" [label="6: Message Call: retain \n n$2=*&s1:Auto* [line 38, column 6]\n n$3=_fun_NSObject::retain(n$2:Auto*) virtual [line 38, column 5]\n NULLIFY(&s1); [line 38, column 5]\n EXIT_SCOPE(n$2,n$3,s1); [line 38, column 5]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" [label="6: Message Call: retain \n n$2=*&s1:Auto* [line 38, column 6]\n n$3=_fun_NSObject::retain(n$2:Auto*) virtual [line 38, column 5]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_5" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_7" [label="7: BinaryOperatorStmt: Assign \n n$4=_fun_createA() [line 37, column 10]\n *&s1:Auto*=n$4 [line 37, column 5]\n EXIT_SCOPE(n$4); [line 37, column 5]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_7" [label="7: BinaryOperatorStmt: Assign \n n$4=_fun_createA() [line 37, column 10]\n *&s1:Auto*=n$4 [line 37, column 5]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_7" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_6" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_8" [label="8: DeclStmt \n VARIABLE_DECLARED(s3:Auto*); [line 35, column 3]\n *&s3:Auto*=null [line 35, column 3]\n NULLIFY(&s3); [line 35, column 3]\n EXIT_SCOPE(s3); [line 35, column 3]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_8" [label="8: DeclStmt \n VARIABLE_DECLARED(s3:Auto*); [line 35, column 3]\n *&s3:Auto*=null [line 35, column 3]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_8" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_7" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_9" [label="9: DeclStmt \n VARIABLE_DECLARED(s2:Auto*); [line 34, column 3]\n *&s2:Auto*=null [line 34, column 3]\n NULLIFY(&s2); [line 34, column 3]\n EXIT_SCOPE(s2); [line 34, column 3]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_9" [label="9: DeclStmt \n VARIABLE_DECLARED(s2:Auto*); [line 34, column 3]\n *&s2:Auto*=null [line 34, column 3]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_9" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_8" ; -"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_10" [label="10: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 33, column 3]\n *&s1:Auto*=null [line 33, column 3]\n NULLIFY(&s1); [line 33, column 3]\n EXIT_SCOPE(s1); [line 33, column 3]\n " shape="box"] +"autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_10" [label="10: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 33, column 3]\n *&s1:Auto*=null [line 33, column 3]\n " shape="box"] "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_10" -> "autorelease_test1.8f3499e28c7129f0f6b2300d214d7864_9" ; @@ -46,31 +46,31 @@ digraph cfg { "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_2" [label="2: Exit autorelease_test2 \n " color=yellow style=filled] -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_3" [label="3: Return Stmt \n *&return:int=0 [line 54, column 3]\n APPLY_ABSTRACTION; [line 54, column 3]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_3" [label="3: Return Stmt \n *&return:int=0 [line 54, column 3]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_3" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_2" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_createA() [line 52, column 10]\n *&s3:Auto*=n$0 [line 52, column 5]\n NULLIFY(&s3); [line 52, column 5]\n EXIT_SCOPE(n$0,s3); [line 52, column 5]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_createA() [line 52, column 10]\n *&s3:Auto*=n$0 [line 52, column 5]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_4" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_3" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 51, column 10]\n *&s2:Auto*=n$1 [line 51, column 5]\n NULLIFY(&s2); [line 51, column 5]\n EXIT_SCOPE(n$1,s2); [line 51, column 5]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_5" [label="5: BinaryOperatorStmt: Assign \n n$1=_fun_createA() [line 51, column 10]\n *&s2:Auto*=n$1 [line 51, column 5]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_5" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_4" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_6" [label="6: BinaryOperatorStmt: Assign \n n$2=_fun_createA() [line 50, column 10]\n *&s1:Auto*=n$2 [line 50, column 5]\n NULLIFY(&s1); [line 50, column 5]\n EXIT_SCOPE(n$2,s1); [line 50, column 5]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_6" [label="6: BinaryOperatorStmt: Assign \n n$2=_fun_createA() [line 50, column 10]\n *&s1:Auto*=n$2 [line 50, column 5]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_6" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_5" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_7" [label="7: DeclStmt \n VARIABLE_DECLARED(s3:Auto*); [line 48, column 3]\n *&s3:Auto*=null [line 48, column 3]\n NULLIFY(&s3); [line 48, column 3]\n EXIT_SCOPE(s3); [line 48, column 3]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_7" [label="7: DeclStmt \n VARIABLE_DECLARED(s3:Auto*); [line 48, column 3]\n *&s3:Auto*=null [line 48, column 3]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_7" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_6" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_8" [label="8: DeclStmt \n VARIABLE_DECLARED(s2:Auto*); [line 47, column 3]\n *&s2:Auto*=null [line 47, column 3]\n NULLIFY(&s2); [line 47, column 3]\n EXIT_SCOPE(s2); [line 47, column 3]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_8" [label="8: DeclStmt \n VARIABLE_DECLARED(s2:Auto*); [line 47, column 3]\n *&s2:Auto*=null [line 47, column 3]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_8" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_7" ; -"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_9" [label="9: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 46, column 3]\n *&s1:Auto*=null [line 46, column 3]\n NULLIFY(&s1); [line 46, column 3]\n EXIT_SCOPE(s1); [line 46, column 3]\n " shape="box"] +"autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_9" [label="9: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 46, column 3]\n *&s1:Auto*=null [line 46, column 3]\n " shape="box"] "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_9" -> "autorelease_test2.d978c6e21f1931e19bc731b4ffb90225_8" ; @@ -81,19 +81,19 @@ digraph cfg { "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_2" [label="2: Exit autorelease_test3 \n " color=yellow style=filled] -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:NSString*); [line 62, column 3]\n n$0=*&string:NSString* [line 62, column 17]\n *&c:NSString*=n$0 [line 62, column 3]\n NULLIFY(&string); [line 62, column 3]\n NULLIFY(&c); [line 62, column 3]\n EXIT_SCOPE(n$0,string,c); [line 62, column 3]\n APPLY_ABSTRACTION; [line 62, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" [label="3: DeclStmt \n VARIABLE_DECLARED(c:NSString*); [line 62, column 3]\n n$0=*&string:NSString* [line 62, column 17]\n *&c:NSString*=n$0 [line 62, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_2" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" [label="4: Message Call: release \n n$1=*&pool:NSAutoreleasePool* [line 61, column 4]\n n$2=_fun_NSObject::release(n$1:NSAutoreleasePool*) virtual [line 61, column 3]\n NULLIFY(&pool); [line 61, column 3]\n EXIT_SCOPE(n$1,n$2,pool); [line 61, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" [label="4: Message Call: release \n n$1=*&pool:NSAutoreleasePool* [line 61, column 4]\n n$2=_fun_NSObject::release(n$1:NSAutoreleasePool*) virtual [line 61, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_3" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" [label="5: DeclStmt \n VARIABLE_DECLARED(string:NSString*); [line 59, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 59, column 23]\n n$4=_fun_NSObject::autorelease(n$3:NSString*) virtual [line 59, column 22]\n *&string:NSString*=n$4 [line 59, column 3]\n EXIT_SCOPE(n$3,n$4); [line 59, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" [label="5: DeclStmt \n VARIABLE_DECLARED(string:NSString*); [line 59, column 3]\n n$3=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 59, column 23]\n n$4=_fun_NSObject::autorelease(n$3:NSString*) virtual [line 59, column 22]\n *&string:NSString*=n$4 [line 59, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_4" ; -"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" [label="6: DeclStmt \n VARIABLE_DECLARED(pool:NSAutoreleasePool*); [line 58, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=NSAutoreleasePool):unsigned long) [line 58, column 30]\n n$6=_fun_NSObject::init(n$5:NSAutoreleasePool*) virtual [line 58, column 29]\n *&pool:NSAutoreleasePool*=n$6 [line 58, column 3]\n EXIT_SCOPE(n$5,n$6); [line 58, column 3]\n " shape="box"] +"autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" [label="6: DeclStmt \n VARIABLE_DECLARED(pool:NSAutoreleasePool*); [line 58, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=NSAutoreleasePool):unsigned long) [line 58, column 30]\n n$6=_fun_NSObject::init(n$5:NSAutoreleasePool*) virtual [line 58, column 29]\n *&pool:NSAutoreleasePool*=n$6 [line 58, column 3]\n " shape="box"] "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_6" -> "autorelease_test3.5fa2e6ceb6075e26a47f9b8c9cdf65ba_5" ; @@ -104,11 +104,11 @@ digraph cfg { "createA.48a5d7f480131d59bba69d521715b836_2" [label="2: Exit createA \n " color=yellow style=filled] -"createA.48a5d7f480131d59bba69d521715b836_3" [label="3: Return Stmt \n n$0=*&s1:Auto* [line 29, column 11]\n n$1=_fun_NSObject::autorelease(n$0:Auto*) virtual [line 29, column 10]\n *&return:Auto*=n$1 [line 29, column 3]\n NULLIFY(&s1); [line 29, column 3]\n EXIT_SCOPE(n$0,n$1,s1); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"createA.48a5d7f480131d59bba69d521715b836_3" [label="3: Return Stmt \n n$0=*&s1:Auto* [line 29, column 11]\n n$1=_fun_NSObject::autorelease(n$0:Auto*) virtual [line 29, column 10]\n *&return:Auto*=n$1 [line 29, column 3]\n " shape="box"] "createA.48a5d7f480131d59bba69d521715b836_3" -> "createA.48a5d7f480131d59bba69d521715b836_2" ; -"createA.48a5d7f480131d59bba69d521715b836_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 28, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Auto):unsigned long) [line 28, column 15]\n n$3=_fun_NSObject::init(n$2:Auto*) virtual [line 28, column 14]\n *&s1:Auto*=n$3 [line 28, column 3]\n EXIT_SCOPE(n$2,n$3); [line 28, column 3]\n " shape="box"] +"createA.48a5d7f480131d59bba69d521715b836_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s1:Auto*); [line 28, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Auto):unsigned long) [line 28, column 15]\n n$3=_fun_NSObject::init(n$2:Auto*) virtual [line 28, column 14]\n *&s1:Auto*=n$3 [line 28, column 3]\n " shape="box"] "createA.48a5d7f480131d59bba69d521715b836_4" -> "createA.48a5d7f480131d59bba69d521715b836_3" ; @@ -119,11 +119,11 @@ digraph cfg { "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_2" [label="2: Exit Auto::autorelease_main \n " color=yellow style=filled] -"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 11]\n n$1=_fun_NSObject::autorelease(n$0:NSString*) virtual [line 22, column 10]\n *&return:NSString*=n$1 [line 22, column 3]\n NULLIFY(&s); [line 22, column 3]\n EXIT_SCOPE(n$0,n$1,s); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" [label="3: Return Stmt \n n$0=*&s:NSString* [line 22, column 11]\n n$1=_fun_NSObject::autorelease(n$0:NSString*) virtual [line 22, column 10]\n *&return:NSString*=n$1 [line 22, column 3]\n " shape="box"] "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_2" ; -"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 21, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 21, column 17]\n *&s:NSString*=n$2 [line 21, column 3]\n EXIT_SCOPE(n$2); [line 21, column 3]\n " shape="box"] +"autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(s:NSString*); [line 21, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=NSString):unsigned long) [line 21, column 17]\n *&s:NSString*=n$2 [line 21, column 3]\n " shape="box"] "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_4" -> "autorelease_main#Auto#instance.dbdd003a511fe2beb7e0a817d39f6fd8_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot index e2434e3c2..9372b270d 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/MemoryLeakExample.m.dot @@ -7,7 +7,7 @@ digraph cfg { "objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_2" [label="2: Exit objc_blockMemoryLeakExample::blockCapturedVarLeak_1 \n " color=yellow style=filled] -"objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_3" [label="3: Return Stmt \n n$52=*&x:int* [line 95, column 13]\n n$53=*n$52:int [line 95, column 12]\n *&return:int=n$53 [line 95, column 5]\n NULLIFY(&x); [line 95, column 5]\n EXIT_SCOPE(n$52,n$53,x); [line 95, column 5]\n APPLY_ABSTRACTION; [line 95, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_3" [label="3: Return Stmt \n n$52=*&x:int* [line 95, column 13]\n n$53=*n$52:int [line 95, column 12]\n *&return:int=n$53 [line 95, column 5]\n " shape="box"] "objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_3" -> "objc_blockMemoryLeakExample::blockCapturedVarLeak_1.2fc7658885fe88ae3f1ad70cae53336a_2" ; @@ -18,15 +18,15 @@ digraph cfg { "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_2" [label="2: Exit objc_blockMemoryLeakExample::blockFreeNoLeak_2 \n " color=yellow style=filled] -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" [label="3: Return Stmt \n n$59=*&i:int [line 106, column 12]\n *&return:int=n$59 [line 106, column 5]\n NULLIFY(&i); [line 106, column 5]\n EXIT_SCOPE(n$59,i); [line 106, column 5]\n APPLY_ABSTRACTION; [line 106, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" [label="3: Return Stmt \n n$59=*&i:int [line 106, column 12]\n *&return:int=n$59 [line 106, column 5]\n " shape="box"] "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_2" ; -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" [label="4: Call _fun_free \n n$60=*&x:int* [line 105, column 10]\n n$61=_fun_free(n$60:void*) [line 105, column 5]\n NULLIFY(&x); [line 105, column 5]\n EXIT_SCOPE(n$60,n$61,x); [line 105, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" [label="4: Call _fun_free \n n$60=*&x:int* [line 105, column 10]\n n$61=_fun_free(n$60:void*) [line 105, column 5]\n " shape="box"] "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_3" ; -"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 104, column 5]\n n$62=*&x:int* [line 104, column 14]\n n$63=*n$62:int [line 104, column 13]\n *&i:int=n$63 [line 104, column 5]\n EXIT_SCOPE(n$62,n$63); [line 104, column 5]\n " shape="box"] +"objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_5" [label="5: DeclStmt \n VARIABLE_DECLARED(i:int); [line 104, column 5]\n n$62=*&x:int* [line 104, column 14]\n n$63=*n$62:int [line 104, column 13]\n *&i:int=n$63 [line 104, column 5]\n " shape="box"] "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_5" -> "objc_blockMemoryLeakExample::blockFreeNoLeak_2.280cc1341d470c6c734eb5c908870fcf_4" ; @@ -37,11 +37,11 @@ digraph cfg { "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" [label="2: Exit MemoryLeakExample::createCloseCrossGlyph: \n " color=yellow style=filled] -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" [label="3: Call _fun_CGPathCreateMutable \n n$26=_fun_CGPathCreateMutable() [line 53, column 3]\n EXIT_SCOPE(n$26); [line 53, column 3]\n APPLY_ABSTRACTION; [line 53, column 3]\n " shape="box"] +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" [label="3: Call _fun_CGPathCreateMutable \n n$26=_fun_CGPathCreateMutable() [line 53, column 3]\n " shape="box"] "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_2" ; -"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" [label="4: BinaryOperatorStmt: Mul \n n$27=*&rect:CGRect [line 52, column 27]\n n$28=_fun_CGRectGetHeight(n$27:CGRect) [line 52, column 11]\n NULLIFY(&rect); [line 52, column 11]\n EXIT_SCOPE(n$27,n$28,rect); [line 52, column 11]\n " shape="box"] +"createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" [label="4: BinaryOperatorStmt: Mul \n n$27=*&rect:CGRect [line 52, column 27]\n n$28=_fun_CGRectGetHeight(n$27:CGRect) [line 52, column 11]\n " shape="box"] "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_4" -> "createCloseCrossGlyph:#MemoryLeakExample#class.b78475cbe035b221b50538a8aad3c9cf_3" ; @@ -52,15 +52,15 @@ digraph cfg { "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" [label="2: Exit MemoryLeakExample::createCloseCrossGlyphNoLeak: \n " color=yellow style=filled] -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" [label="3: Call _fun_CFRelease \n n$29=*&path1:CGPath* [line 61, column 13]\n n$30=_fun_CFRelease(n$29:void const *) [line 61, column 3]\n NULLIFY(&path1); [line 61, column 3]\n EXIT_SCOPE(n$29,n$30,path1); [line 61, column 3]\n APPLY_ABSTRACTION; [line 61, column 3]\n " shape="box"] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" [label="3: Call _fun_CFRelease \n n$29=*&path1:CGPath* [line 61, column 13]\n n$30=_fun_CFRelease(n$29:void const *) [line 61, column 3]\n " shape="box"] "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_2" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(path1:CGPath*); [line 60, column 3]\n n$31=_fun_CGPathCreateMutable() [line 60, column 28]\n *&path1:CGPath*=n$31 [line 60, column 3]\n EXIT_SCOPE(n$31); [line 60, column 3]\n " shape="box"] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(path1:CGPath*); [line 60, column 3]\n n$31=_fun_CGPathCreateMutable() [line 60, column 28]\n *&path1:CGPath*=n$31 [line 60, column 3]\n " shape="box"] "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_3" ; -"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(lineThickness:double); [line 57, column 3]\n n$32=*&rect:CGRect [line 57, column 51]\n n$33=_fun_CGRectGetHeight(n$32:CGRect) [line 57, column 35]\n *&lineThickness:double=(0.200000003 * n$33) [line 57, column 3]\n NULLIFY(&lineThickness); [line 57, column 3]\n NULLIFY(&rect); [line 57, column 3]\n EXIT_SCOPE(n$32,n$33,lineThickness,rect); [line 57, column 3]\n " shape="box"] +"createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(lineThickness:double); [line 57, column 3]\n n$32=*&rect:CGRect [line 57, column 51]\n n$33=_fun_CGRectGetHeight(n$32:CGRect) [line 57, column 35]\n *&lineThickness:double=(0.200000003 * n$33) [line 57, column 3]\n " shape="box"] "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_5" -> "createCloseCrossGlyphNoLeak:#MemoryLeakExample#class.0954bcd442044fd9788af38303a3790b_4" ; @@ -71,7 +71,7 @@ digraph cfg { "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" [label="2: Exit MemoryLeakExample::measureFrameSizeForText \n " color=yellow style=filled] -"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" [label="3: Call _fun_CFAttributedStringCreateMutable \n n$17=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 33, column 3]\n EXIT_SCOPE(n$17); [line 33, column 3]\n APPLY_ABSTRACTION; [line 33, column 3]\n " shape="box"] +"measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" [label="3: Call _fun_CFAttributedStringCreateMutable \n n$17=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 33, column 3]\n " shape="box"] "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_3" -> "measureFrameSizeForText#MemoryLeakExample#class.f59bd9e59cef3fd16475487a380b3804_2" ; @@ -82,11 +82,11 @@ digraph cfg { "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" [label="2: Exit MemoryLeakExample::measureFrameSizeForTextNoLeak \n " color=yellow style=filled] -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" [label="3: Call _fun_CFRelease \n n$18=*&maString:__CFAttributedString* [line 39, column 13]\n n$19=_fun_CFRelease(n$18:void const *) [line 39, column 3]\n NULLIFY(&maString); [line 39, column 3]\n EXIT_SCOPE(n$18,n$19,maString); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" [label="3: Call _fun_CFRelease \n n$18=*&maString:__CFAttributedString* [line 39, column 13]\n n$19=_fun_CFRelease(n$18:void const *) [line 39, column 3]\n " shape="box"] "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_2" ; -"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(maString:__CFAttributedString*); [line 37, column 3]\n n$20=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 38, column 7]\n *&maString:__CFAttributedString*=n$20 [line 37, column 3]\n EXIT_SCOPE(n$20); [line 37, column 3]\n " shape="box"] +"measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" [label="4: DeclStmt \n VARIABLE_DECLARED(maString:__CFAttributedString*); [line 37, column 3]\n n$20=_fun_CFAttributedStringCreateMutable(null:__CFAllocator const *,0:long) [line 38, column 7]\n *&maString:__CFAttributedString*=n$20 [line 37, column 3]\n " shape="box"] "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_4" -> "measureFrameSizeForTextNoLeak#MemoryLeakExample#class.9443bec011166230e1709abbe3c930d4_3" ; @@ -97,7 +97,7 @@ digraph cfg { "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_2" [label="2: Exit MemoryLeakExample::test1: \n " color=yellow style=filled] -"test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_3" [label="3: Call _fun_CTFramesetterCreateWithAttributedString \n n$21=*&str:__CFAttributedString const * [line 43, column 43]\n n$22=_fun_CTFramesetterCreateWithAttributedString(n$21:__CFAttributedString const *) [line 43, column 3]\n NULLIFY(&str); [line 43, column 3]\n EXIT_SCOPE(n$21,n$22,str); [line 43, column 3]\n APPLY_ABSTRACTION; [line 43, column 3]\n " shape="box"] +"test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_3" [label="3: Call _fun_CTFramesetterCreateWithAttributedString \n n$21=*&str:__CFAttributedString const * [line 43, column 43]\n n$22=_fun_CTFramesetterCreateWithAttributedString(n$21:__CFAttributedString const *) [line 43, column 3]\n " shape="box"] "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_3" -> "test1:#MemoryLeakExample(struct __CFAttributedString)#class.5c69af4eb9da1845df6efe64785fd0c9_2" ; @@ -108,11 +108,11 @@ digraph cfg { "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" [label="2: Exit MemoryLeakExample::test1NoLeak \n " color=yellow style=filled] -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" [label="3: Call _fun_CFRelease \n n$23=*&framesetter:__CTFramesetter const * [line 48, column 13]\n n$24=_fun_CFRelease(n$23:void const *) [line 48, column 3]\n NULLIFY(&framesetter); [line 48, column 3]\n EXIT_SCOPE(n$23,n$24,framesetter); [line 48, column 3]\n APPLY_ABSTRACTION; [line 48, column 3]\n " shape="box"] +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" [label="3: Call _fun_CFRelease \n n$23=*&framesetter:__CTFramesetter const * [line 48, column 13]\n n$24=_fun_CFRelease(n$23:void const *) [line 48, column 3]\n " shape="box"] "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_2" ; -"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(framesetter:__CTFramesetter const *); [line 47, column 3]\n n$25=_fun_CTFramesetterCreateWithAttributedString(null:__CFAttributedString const *) [line 47, column 34]\n *&framesetter:__CTFramesetter const *=n$25 [line 47, column 3]\n EXIT_SCOPE(n$25); [line 47, column 3]\n " shape="box"] +"test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" [label="4: DeclStmt \n VARIABLE_DECLARED(framesetter:__CTFramesetter const *); [line 47, column 3]\n n$25=_fun_CTFramesetterCreateWithAttributedString(null:__CFAttributedString const *) [line 47, column 34]\n *&framesetter:__CTFramesetter const *=n$25 [line 47, column 3]\n " shape="box"] "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_4" -> "test1NoLeak#MemoryLeakExample#class.7e0d9640dbd86a21622e801793707bd9_3" ; @@ -123,7 +123,7 @@ digraph cfg { "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_2" [label="2: Exit MemoryLeakExample::test2: \n " color=yellow style=filled] -"test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_3" [label="3: Call _fun_SecTrustCopyPublicKey \n n$34=*&trust:__SecTrust* [line 65, column 25]\n n$35=_fun_SecTrustCopyPublicKey(n$34:__SecTrust*) [line 65, column 3]\n NULLIFY(&trust); [line 65, column 3]\n EXIT_SCOPE(n$34,n$35,trust); [line 65, column 3]\n APPLY_ABSTRACTION; [line 65, column 3]\n " shape="box"] +"test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_3" [label="3: Call _fun_SecTrustCopyPublicKey \n n$34=*&trust:__SecTrust* [line 65, column 25]\n n$35=_fun_SecTrustCopyPublicKey(n$34:__SecTrust*) [line 65, column 3]\n " shape="box"] "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_3" -> "test2:#MemoryLeakExample(struct __SecTrust)#class.0351c8bd25e5a49860146e05fbc5b49a_2" ; @@ -134,11 +134,11 @@ digraph cfg { "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" [label="2: Exit MemoryLeakExample::test2NoLeak \n " color=yellow style=filled] -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" [label="3: Call _fun_CFRelease \n n$36=*&allowedPublicKey:__SecKey* [line 70, column 13]\n n$37=_fun_CFRelease(n$36:void const *) [line 70, column 3]\n NULLIFY(&allowedPublicKey); [line 70, column 3]\n EXIT_SCOPE(n$36,n$37,allowedPublicKey); [line 70, column 3]\n APPLY_ABSTRACTION; [line 70, column 3]\n " shape="box"] +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" [label="3: Call _fun_CFRelease \n n$36=*&allowedPublicKey:__SecKey* [line 70, column 13]\n n$37=_fun_CFRelease(n$36:void const *) [line 70, column 3]\n " shape="box"] "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_2" ; -"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(allowedPublicKey:__SecKey*); [line 69, column 3]\n n$38=_fun_SecTrustCopyPublicKey(null:__SecTrust*) [line 69, column 32]\n *&allowedPublicKey:__SecKey*=n$38 [line 69, column 3]\n EXIT_SCOPE(n$38); [line 69, column 3]\n " shape="box"] +"test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" [label="4: DeclStmt \n VARIABLE_DECLARED(allowedPublicKey:__SecKey*); [line 69, column 3]\n n$38=_fun_SecTrustCopyPublicKey(null:__SecTrust*) [line 69, column 32]\n *&allowedPublicKey:__SecKey*=n$38 [line 69, column 3]\n " shape="box"] "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_4" -> "test2NoLeak#MemoryLeakExample#class.69cf0c35f7df26deefa723cac655894d_3" ; @@ -149,11 +149,11 @@ digraph cfg { "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" [label="2: Exit MemoryLeakExample::testImageRefRelease \n " color=yellow style=filled] -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" [label="3: Call _fun_CGImageRelease \n n$39=*&newImage:CGImage* [line 75, column 18]\n n$40=_fun_CGImageRelease(n$39:CGImage*) [line 75, column 3]\n NULLIFY(&newImage); [line 75, column 3]\n EXIT_SCOPE(n$39,n$40,newImage); [line 75, column 3]\n APPLY_ABSTRACTION; [line 75, column 3]\n " shape="box"] +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" [label="3: Call _fun_CGImageRelease \n n$39=*&newImage:CGImage* [line 75, column 18]\n n$40=_fun_CGImageRelease(n$39:CGImage*) [line 75, column 3]\n " shape="box"] "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_2" ; -"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(newImage:CGImage*); [line 74, column 3]\n n$41=_fun_CGBitmapContextCreateImage(null:CGContext*) [line 74, column 25]\n *&newImage:CGImage*=n$41 [line 74, column 3]\n EXIT_SCOPE(n$41); [line 74, column 3]\n " shape="box"] +"testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(newImage:CGImage*); [line 74, column 3]\n n$41=_fun_CGBitmapContextCreateImage(null:CGContext*) [line 74, column 25]\n *&newImage:CGImage*=n$41 [line 74, column 3]\n " shape="box"] "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_4" -> "testImageRefRelease#MemoryLeakExample#class.fa3cf5eac6a14b14c5050c7d62d2a79f_3" ; @@ -164,19 +164,19 @@ digraph cfg { "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" [label="2: Exit MemoryLeakExample::blockCapturedVarLeak \n " color=yellow style=filled] -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" [label="3: Return Stmt \n n$49=*&blk:_fn_(*) [line 97, column 10]\n n$50=n$49() objc_block [line 97, column 10]\n *&return:int=n$50 [line 97, column 3]\n NULLIFY(&blk); [line 97, column 3]\n EXIT_SCOPE(n$49,n$50,blk); [line 97, column 3]\n APPLY_ABSTRACTION; [line 97, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" [label="3: Return Stmt \n n$49=*&blk:_fn_(*) [line 97, column 10]\n n$50=n$49() objc_block [line 97, column 10]\n *&return:int=n$50 [line 97, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_2" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 94, column 3]\n n$51=*&x:int* [line 94, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockCapturedVarLeak_1,(n$51 &x:int*)) [line 94, column 3]\n NULLIFY(&x); [line 94, column 3]\n EXIT_SCOPE(n$51,x); [line 94, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 94, column 3]\n n$51=*&x:int* [line 94, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockCapturedVarLeak_1,(n$51 &x:int*)) [line 94, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_3" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" [label="5: BinaryOperatorStmt: Assign \n n$54=*&x:int* [line 93, column 4]\n *n$54:int=2 [line 93, column 3]\n EXIT_SCOPE(n$54); [line 93, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" [label="5: BinaryOperatorStmt: Assign \n n$54=*&x:int* [line 93, column 4]\n *n$54:int=2 [line 93, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_4" ; -"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 92, column 3]\n n$55=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 92, column 12]\n *&x:int*=(int*)n$55 [line 92, column 3]\n EXIT_SCOPE(n$55); [line 92, column 3]\n " shape="box"] +"blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 92, column 3]\n n$55=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 92, column 12]\n *&x:int*=(int*)n$55 [line 92, column 3]\n " shape="box"] "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_6" -> "blockCapturedVarLeak#MemoryLeakExample#instance.53bb018bc84d6a696dc756e20b5b3f52_5" ; @@ -187,19 +187,19 @@ digraph cfg { "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" [label="2: Exit MemoryLeakExample::blockFreeNoLeak \n " color=yellow style=filled] -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" [label="3: Return Stmt \n n$56=*&blk:_fn_(*) [line 108, column 10]\n n$57=n$56() objc_block [line 108, column 10]\n *&return:int=n$57 [line 108, column 3]\n NULLIFY(&blk); [line 108, column 3]\n EXIT_SCOPE(n$56,n$57,blk); [line 108, column 3]\n APPLY_ABSTRACTION; [line 108, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" [label="3: Return Stmt \n n$56=*&blk:_fn_(*) [line 108, column 10]\n n$57=n$56() objc_block [line 108, column 10]\n *&return:int=n$57 [line 108, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_2" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 103, column 3]\n n$58=*&x:int* [line 103, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockFreeNoLeak_2,(n$58 &x:int*)) [line 103, column 3]\n NULLIFY(&x); [line 103, column 3]\n EXIT_SCOPE(n$58,x); [line 103, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" [label="4: DeclStmt \n VARIABLE_DECLARED(blk:_fn_(*)); [line 103, column 3]\n n$58=*&x:int* [line 103, column 22]\n *&blk:_fn_(*)=(_fun_objc_blockMemoryLeakExample::blockFreeNoLeak_2,(n$58 &x:int*)) [line 103, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_3" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" [label="5: BinaryOperatorStmt: Assign \n n$64=*&x:int* [line 102, column 4]\n *n$64:int=2 [line 102, column 3]\n EXIT_SCOPE(n$64); [line 102, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" [label="5: BinaryOperatorStmt: Assign \n n$64=*&x:int* [line 102, column 4]\n *n$64:int=2 [line 102, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_4" ; -"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 101, column 3]\n n$65=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 101, column 12]\n *&x:int*=(int*)n$65 [line 101, column 3]\n EXIT_SCOPE(n$65); [line 101, column 3]\n " shape="box"] +"blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" [label="6: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 101, column 3]\n n$65=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 101, column 12]\n *&x:int*=(int*)n$65 [line 101, column 3]\n " shape="box"] "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_6" -> "blockFreeNoLeak#MemoryLeakExample#instance.6bcefe2afb9f172f8aadbab54d9bd144_5" ; @@ -210,19 +210,19 @@ digraph cfg { "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" [label="2: Exit MemoryLeakExample::layoutSubviews \n " color=yellow style=filled] -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" [label="3: Message Call: release \n n$0=*&attachmentContainerView:UIView* [line 23, column 4]\n n$1=_fun_NSObject::release(n$0:UIView*) virtual [line 23, column 3]\n NULLIFY(&attachmentContainerView); [line 23, column 3]\n EXIT_SCOPE(n$0,n$1,attachmentContainerView); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" [label="3: Message Call: release \n n$0=*&attachmentContainerView:UIView* [line 23, column 4]\n n$1=_fun_NSObject::release(n$0:UIView*) virtual [line 23, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_2" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" [label="4: Call _fun_CGPathRelease \n n$2=*&shadowPath:CGPath const * [line 22, column 17]\n n$3=_fun_CGPathRelease(n$2:CGPath const *) [line 22, column 3]\n NULLIFY(&shadowPath); [line 22, column 3]\n EXIT_SCOPE(n$2,n$3,shadowPath); [line 22, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" [label="4: Call _fun_CGPathRelease \n n$2=*&shadowPath:CGPath const * [line 22, column 17]\n n$3=_fun_CGPathRelease(n$2:CGPath const *) [line 22, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_3" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" [label="5: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 19, column 3]\n n$4=*&attachmentContainerView:UIView* [line 20, column 28]\n n$5=_fun_UIView::bounds(n$4:UIView*) [line 20, column 52]\n n$6=_fun_CGPathCreateWithRect(n$5:CGRect,null:CGAffineTransform const *) [line 20, column 7]\n *&shadowPath:CGPath const *=n$6 [line 19, column 3]\n EXIT_SCOPE(n$4,n$5,n$6); [line 19, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" [label="5: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 19, column 3]\n n$4=*&attachmentContainerView:UIView* [line 20, column 28]\n n$5=_fun_UIView::bounds(n$4:UIView*) [line 20, column 52]\n n$6=_fun_CGPathCreateWithRect(n$5:CGRect,null:CGAffineTransform const *) [line 20, column 7]\n *&shadowPath:CGPath const *=n$6 [line 19, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_4" ; -"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" [label="6: DeclStmt \n VARIABLE_DECLARED(attachmentContainerView:UIView*); [line 18, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=UIView):unsigned long) [line 18, column 37]\n *&attachmentContainerView:UIView*=n$7 [line 18, column 3]\n EXIT_SCOPE(n$7); [line 18, column 3]\n " shape="box"] +"layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" [label="6: DeclStmt \n VARIABLE_DECLARED(attachmentContainerView:UIView*); [line 18, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=UIView):unsigned long) [line 18, column 37]\n *&attachmentContainerView:UIView*=n$7 [line 18, column 3]\n " shape="box"] "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_6" -> "layoutSubviews#MemoryLeakExample#instance.2b3151f18431bcdbc08267ea4ff96f53_5" ; @@ -233,15 +233,15 @@ digraph cfg { "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" [label="2: Exit MemoryLeakExample::regularLeak \n " color=yellow style=filled] -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" [label="3: Return Stmt \n n$45=*&x:int* [line 88, column 11]\n n$46=*n$45:int [line 88, column 10]\n *&return:int=n$46 [line 88, column 3]\n NULLIFY(&x); [line 88, column 3]\n EXIT_SCOPE(n$45,n$46,x); [line 88, column 3]\n APPLY_ABSTRACTION; [line 88, column 3]\n " shape="box"] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" [label="3: Return Stmt \n n$45=*&x:int* [line 88, column 11]\n n$46=*n$45:int [line 88, column 10]\n *&return:int=n$46 [line 88, column 3]\n " shape="box"] "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_2" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" [label="4: BinaryOperatorStmt: Assign \n n$47=*&x:int* [line 87, column 4]\n *n$47:int=7 [line 87, column 3]\n EXIT_SCOPE(n$47); [line 87, column 3]\n " shape="box"] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" [label="4: BinaryOperatorStmt: Assign \n n$47=*&x:int* [line 87, column 4]\n *n$47:int=7 [line 87, column 3]\n " shape="box"] "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_3" ; -"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 86, column 3]\n n$48=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 86, column 12]\n *&x:int*=(int*)n$48 [line 86, column 3]\n EXIT_SCOPE(n$48); [line 86, column 3]\n " shape="box"] +"regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(x:int*); [line 86, column 3]\n n$48=_fun_malloc_no_fail(sizeof(t=int;nbytes=4):int) [line 86, column 12]\n *&x:int*=(int*)n$48 [line 86, column 3]\n " shape="box"] "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_5" -> "regularLeak#MemoryLeakExample#instance.939a892cee505c3459f2d889292f218b_4" ; @@ -252,11 +252,11 @@ digraph cfg { "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" [label="2: Exit MemoryLeakExample::test \n " color=yellow style=filled] -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" [label="3: Message Call: setShadowPath: \n n$9=*&self:MemoryLeakExample* [line 29, column 3]\n n$10=_fun_MemoryLeakExample::backgroundCoveringView(n$9:MemoryLeakExample*) [line 29, column 8]\n n$11=_fun_UIView::layer(n$10:UIView*) [line 29, column 31]\n n$8=*&shadowPath:CGPath const * [line 29, column 50]\n n$12=_fun_CALayer::setShadowPath:(n$11:CALayer*,n$8:CGPath const *) [line 29, column 37]\n NULLIFY(&shadowPath); [line 29, column 37]\n NULLIFY(&self); [line 29, column 37]\n EXIT_SCOPE(n$8,n$9,n$10,n$11,n$12,shadowPath,self); [line 29, column 37]\n APPLY_ABSTRACTION; [line 29, column 37]\n " shape="box"] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" [label="3: Message Call: setShadowPath: \n n$9=*&self:MemoryLeakExample* [line 29, column 3]\n n$10=_fun_MemoryLeakExample::backgroundCoveringView(n$9:MemoryLeakExample*) [line 29, column 8]\n n$11=_fun_UIView::layer(n$10:UIView*) [line 29, column 31]\n n$8=*&shadowPath:CGPath const * [line 29, column 50]\n n$12=_fun_CALayer::setShadowPath:(n$11:CALayer*,n$8:CGPath const *) [line 29, column 37]\n " shape="box"] "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_2" ; -"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" [label="4: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 27, column 3]\n n$13=*&self:MemoryLeakExample* [line 28, column 28]\n n$14=_fun_MemoryLeakExample::backgroundCoveringView(n$13:MemoryLeakExample*) [line 28, column 33]\n n$15=_fun_UIView::bounds(n$14:UIView*) [line 28, column 56]\n n$16=_fun_CGPathCreateWithRect(n$15:CGRect,null:CGAffineTransform const *) [line 28, column 7]\n *&shadowPath:CGPath const *=n$16 [line 27, column 3]\n EXIT_SCOPE(n$13,n$14,n$15,n$16); [line 27, column 3]\n " shape="box"] +"test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" [label="4: DeclStmt \n VARIABLE_DECLARED(shadowPath:CGPath const *); [line 27, column 3]\n n$13=*&self:MemoryLeakExample* [line 28, column 28]\n n$14=_fun_MemoryLeakExample::backgroundCoveringView(n$13:MemoryLeakExample*) [line 28, column 33]\n n$15=_fun_UIView::bounds(n$14:UIView*) [line 28, column 56]\n n$16=_fun_CGPathCreateWithRect(n$15:CGRect,null:CGAffineTransform const *) [line 28, column 7]\n *&shadowPath:CGPath const *=n$16 [line 27, column 3]\n " shape="box"] "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_4" -> "test#MemoryLeakExample#instance.cbb708bfe735ac5e5777524359299e00_3" ; @@ -267,11 +267,11 @@ digraph cfg { "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" [label="2: Exit MemoryLeakExample::testFBColorCreateWithGray \n " color=yellow style=filled] -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" [label="3: Call _fun_CGColorRelease \n n$42=*&borderColor:CGColor* [line 82, column 18]\n n$43=_fun_CGColorRelease(n$42:CGColor*) [line 82, column 3]\n NULLIFY(&borderColor); [line 82, column 3]\n EXIT_SCOPE(n$42,n$43,borderColor); [line 82, column 3]\n APPLY_ABSTRACTION; [line 82, column 3]\n " shape="box"] +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" [label="3: Call _fun_CGColorRelease \n n$42=*&borderColor:CGColor* [line 82, column 18]\n n$43=_fun_CGColorRelease(n$42:CGColor*) [line 82, column 3]\n " shape="box"] "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_2" ; -"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(borderColor:CGColor*); [line 81, column 3]\n n$44=_fun_FBColorCreateWithGray(0.:double,0.3:double) [line 81, column 28]\n *&borderColor:CGColor*=n$44 [line 81, column 3]\n EXIT_SCOPE(n$44); [line 81, column 3]\n " shape="box"] +"testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" [label="4: DeclStmt \n VARIABLE_DECLARED(borderColor:CGColor*); [line 81, column 3]\n n$44=_fun_FBColorCreateWithGray(0.:double,0.3:double) [line 81, column 28]\n *&borderColor:CGColor*=n$44 [line 81, column 3]\n " shape="box"] "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_4" -> "testFBColorCreateWithGray#MemoryLeakExample#instance.4f74b525e11effa846f82d4205d48a4a_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot index c3ff62998..ab7bb781b 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/RetainReleaseExample.m.dot @@ -7,15 +7,15 @@ digraph cfg { "retain_release_test.65a9467f2c991ef519f3b0d97687f937_2" [label="2: Exit retain_release_test \n " color=yellow style=filled] -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" [label="3: Message Call: release \n n$0=*&a:RRA* [line 25, column 4]\n n$1=_fun_NSObject::release(n$0:RRA*) virtual [line 25, column 3]\n NULLIFY(&a); [line 25, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" [label="3: Message Call: release \n n$0=*&a:RRA* [line 25, column 4]\n n$1=_fun_NSObject::release(n$0:RRA*) virtual [line 25, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_2" ; -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" [label="4: Message Call: retain \n n$2=*&a:RRA* [line 24, column 4]\n n$3=_fun_NSObject::retain(n$2:RRA*) virtual [line 24, column 3]\n EXIT_SCOPE(n$2,n$3); [line 24, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" [label="4: Message Call: retain \n n$2=*&a:RRA* [line 24, column 4]\n n$3=_fun_NSObject::retain(n$2:RRA*) virtual [line 24, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_3" ; -"retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:RRA*); [line 23, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=RRA):unsigned long) [line 23, column 13]\n n$5=_fun_RRA::init(n$4:RRA*) virtual [line 23, column 12]\n *&a:RRA*=n$5 [line 23, column 3]\n EXIT_SCOPE(n$4,n$5); [line 23, column 3]\n " shape="box"] +"retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:RRA*); [line 23, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=RRA):unsigned long) [line 23, column 13]\n n$5=_fun_RRA::init(n$4:RRA*) virtual [line 23, column 12]\n *&a:RRA*=n$5 [line 23, column 3]\n " shape="box"] "retain_release_test.65a9467f2c991ef519f3b0d97687f937_5" -> "retain_release_test.65a9467f2c991ef519f3b0d97687f937_4" ; @@ -26,7 +26,7 @@ digraph cfg { "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_2" [label="2: Exit RRA::init \n " color=yellow style=filled] -"init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_3" [label="3: Return Stmt \n n$0=*&self:RRA* [line 17, column 10]\n *&return:objc_object*=n$0 [line 17, column 3]\n NULLIFY(&self); [line 17, column 3]\n EXIT_SCOPE(n$0,self); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_3" [label="3: Return Stmt \n n$0=*&self:RRA* [line 17, column 10]\n *&return:objc_object*=n$0 [line 17, column 3]\n " shape="box"] "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_3" -> "init#RRA#instance.dca8e0cb72bcdfba262607a28c07b04b_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot index 435af07cb..5f1534875 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/TollBridgeExample.m.dot @@ -7,11 +7,11 @@ digraph cfg { "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_2" [label="2: Exit bridgeDictionaryNoLeak \n " color=yellow style=filled] -"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" [label="3: DeclStmt \n VARIABLE_DECLARED(dict:__CFDictionary const *); [line 44, column 3]\n n$0=*&bufferAttributes:NSDictionary* [line 44, column 52]\n *&dict:__CFDictionary const *=n$0 [line 44, column 3]\n NULLIFY(&bufferAttributes); [line 44, column 3]\n NULLIFY(&dict); [line 44, column 3]\n EXIT_SCOPE(n$0,bufferAttributes,dict); [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] +"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" [label="3: DeclStmt \n VARIABLE_DECLARED(dict:__CFDictionary const *); [line 44, column 3]\n n$0=*&bufferAttributes:NSDictionary* [line 44, column 52]\n *&dict:__CFDictionary const *=n$0 [line 44, column 3]\n " shape="box"] "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" -> "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_2" ; -"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(bufferAttributes:NSDictionary*); [line 43, column 3]\n n$2=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(null:objc_object*) [line 43, column 58]\n n$1=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 43, column 49]\n n$3=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$2:objc_object*,n$1:objc_object*,null:objc_object*) [line 43, column 36]\n *&bufferAttributes:NSDictionary*=n$3 [line 43, column 3]\n EXIT_SCOPE(n$1,n$2,n$3); [line 43, column 3]\n " shape="box"] +"bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(bufferAttributes:NSDictionary*); [line 43, column 3]\n n$2=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(null:objc_object*) [line 43, column 58]\n n$1=_fun_NSString::stringWithUTF8String:(\"key\":char* const ) [line 43, column 49]\n n$3=_fun_NSDictionary::dictionaryWithObjects:forKeys:count:(n$2:objc_object*,n$1:objc_object*,null:objc_object*) [line 43, column 36]\n *&bufferAttributes:NSDictionary*=n$3 [line 43, column 3]\n " shape="box"] "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_4" -> "bridgeDictionaryNoLeak.a9b55a0c8751bf95138aeb6870d0dec1_3" ; @@ -22,7 +22,7 @@ digraph cfg { "cfautorelease_test.2ccea2233b65cd3828a2d5e2571ad69b_2" [label="2: Exit cfautorelease_test \n " color=yellow style=filled] -"cfautorelease_test.2ccea2233b65cd3828a2d5e2571ad69b_3" [label="3: Return Stmt \n n$0=_fun___builtin___CFStringMakeConstantString(\"Icon\":char*) [line 39, column 45]\n n$1=_fun_CTFontCreateWithName(n$0:__CFString const *,17.:double,null:CGAffineTransform const *) [line 39, column 24]\n n$2=_fun_CFAutorelease(n$1:void const *) [line 39, column 10]\n *&return:__CTFont const *=n$2 [line 39, column 3]\n EXIT_SCOPE(n$0,n$1,n$2); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"cfautorelease_test.2ccea2233b65cd3828a2d5e2571ad69b_3" [label="3: Return Stmt \n n$0=_fun___builtin___CFStringMakeConstantString(\"Icon\":char*) [line 39, column 45]\n n$1=_fun_CTFontCreateWithName(n$0:__CFString const *,17.:double,null:CGAffineTransform const *) [line 39, column 24]\n n$2=_fun_CFAutorelease(n$1:void const *) [line 39, column 10]\n *&return:__CTFont const *=n$2 [line 39, column 3]\n " shape="box"] "cfautorelease_test.2ccea2233b65cd3828a2d5e2571ad69b_3" -> "cfautorelease_test.2ccea2233b65cd3828a2d5e2571ad69b_2" ; @@ -33,11 +33,11 @@ digraph cfg { "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_2" [label="2: Exit TollBridgeExample::_readHTTPHeader \n " color=yellow style=filled] -"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" [label="3: Call _fun_CFBridgingRelease \n n$8=*&ref:__CFDictionary const * [line 35, column 21]\n n$9=_fun_CFBridgingRelease(n$8:void const *) [line 35, column 3]\n NULLIFY(&ref); [line 35, column 3]\n EXIT_SCOPE(n$8,n$9,ref); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" [label="3: Call _fun_CFBridgingRelease \n n$8=*&ref:__CFDictionary const * [line 35, column 21]\n n$9=_fun_CFBridgingRelease(n$8:void const *) [line 35, column 3]\n " shape="box"] "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" -> "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_2" ; -"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref:__CFDictionary const *); [line 34, column 3]\n n$10=_fun_CFHTTPMessageCopyAllHeaderFields(null:__CFHTTPMessage*) [line 34, column 25]\n *&ref:__CFDictionary const *=n$10 [line 34, column 3]\n EXIT_SCOPE(n$10); [line 34, column 3]\n " shape="box"] +"_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ref:__CFDictionary const *); [line 34, column 3]\n n$10=_fun_CFHTTPMessageCopyAllHeaderFields(null:__CFHTTPMessage*) [line 34, column 25]\n *&ref:__CFDictionary const *=n$10 [line 34, column 3]\n " shape="box"] "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_4" -> "_readHTTPHeader#TollBridgeExample#instance.3d37ce88cf13750e89ba404865a70554_3" ; @@ -48,11 +48,11 @@ digraph cfg { "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_2" [label="2: Exit TollBridgeExample::brideRetained \n " color=yellow style=filled] -"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:__CFLocale const *); [line 29, column 3]\n n$6=*&observer:objc_object* [line 29, column 50]\n *&a:__CFLocale const *=n$6 [line 29, column 3]\n NULLIFY(&observer); [line 29, column 3]\n NULLIFY(&a); [line 29, column 3]\n EXIT_SCOPE(n$6,observer,a); [line 29, column 3]\n APPLY_ABSTRACTION; [line 29, column 3]\n " shape="box"] +"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:__CFLocale const *); [line 29, column 3]\n n$6=*&observer:objc_object* [line 29, column 50]\n *&a:__CFLocale const *=n$6 [line 29, column 3]\n " shape="box"] "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" -> "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_2" ; -"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(observer:objc_object*); [line 28, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSLocale):unsigned long) [line 28, column 17]\n *&observer:objc_object*=n$7 [line 28, column 3]\n EXIT_SCOPE(n$7); [line 28, column 3]\n " shape="box"] +"brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" [label="4: DeclStmt \n VARIABLE_DECLARED(observer:objc_object*); [line 28, column 3]\n n$7=_fun___objc_alloc_no_fail(sizeof(t=NSLocale):unsigned long) [line 28, column 17]\n *&observer:objc_object*=n$7 [line 28, column 3]\n " shape="box"] "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_4" -> "brideRetained#TollBridgeExample#instance.de039e838ea3246eff789fdc0d11405c_3" ; @@ -63,11 +63,11 @@ digraph cfg { "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_2" [label="2: Exit TollBridgeExample::bridge \n " color=yellow style=filled] -"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:NSLocale*); [line 24, column 3]\n n$3=*&nameRef:__CFLocale const * [line 24, column 37]\n n$4=_fun___free_cf(n$3:__CFLocale const *) [line 24, column 17]\n *&a:NSLocale*=n$3 [line 24, column 3]\n NULLIFY(&a); [line 24, column 3]\n NULLIFY(&nameRef); [line 24, column 3]\n EXIT_SCOPE(n$3,n$4,a,nameRef); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:NSLocale*); [line 24, column 3]\n n$3=*&nameRef:__CFLocale const * [line 24, column 37]\n n$4=_fun___free_cf(n$3:__CFLocale const *) [line 24, column 17]\n *&a:NSLocale*=n$3 [line 24, column 3]\n " shape="box"] "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" -> "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_2" ; -"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" [label="4: DeclStmt \n VARIABLE_DECLARED(nameRef:__CFLocale const *); [line 23, column 3]\n n$5=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 23, column 25]\n *&nameRef:__CFLocale const *=n$5 [line 23, column 3]\n EXIT_SCOPE(n$5); [line 23, column 3]\n " shape="box"] +"bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" [label="4: DeclStmt \n VARIABLE_DECLARED(nameRef:__CFLocale const *); [line 23, column 3]\n n$5=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 23, column 25]\n *&nameRef:__CFLocale const *=n$5 [line 23, column 3]\n " shape="box"] "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_4" -> "bridge#TollBridgeExample#instance.fadd5a014118113c960fa1a6e3ff27ba_3" ; @@ -78,11 +78,11 @@ digraph cfg { "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_2" [label="2: Exit TollBridgeExample::bridgeTransfer \n " color=yellow style=filled] -"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:NSLocale*); [line 19, column 3]\n n$0=*&nameRef:__CFLocale const * [line 19, column 46]\n n$1=_fun___free_cf(n$0:__CFLocale const *) [line 19, column 17]\n *&a:NSLocale*=n$0 [line 19, column 3]\n NULLIFY(&nameRef); [line 19, column 3]\n NULLIFY(&a); [line 19, column 3]\n EXIT_SCOPE(n$0,n$1,nameRef,a); [line 19, column 3]\n APPLY_ABSTRACTION; [line 19, column 3]\n " shape="box"] +"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" [label="3: DeclStmt \n VARIABLE_DECLARED(a:NSLocale*); [line 19, column 3]\n n$0=*&nameRef:__CFLocale const * [line 19, column 46]\n n$1=_fun___free_cf(n$0:__CFLocale const *) [line 19, column 17]\n *&a:NSLocale*=n$0 [line 19, column 3]\n " shape="box"] "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" -> "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_2" ; -"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" [label="4: DeclStmt \n VARIABLE_DECLARED(nameRef:__CFLocale const *); [line 18, column 3]\n n$2=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 18, column 25]\n *&nameRef:__CFLocale const *=n$2 [line 18, column 3]\n EXIT_SCOPE(n$2); [line 18, column 3]\n " shape="box"] +"bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" [label="4: DeclStmt \n VARIABLE_DECLARED(nameRef:__CFLocale const *); [line 18, column 3]\n n$2=_fun_CFLocaleCreate(null:__CFAllocator const *,null:__CFString const *) [line 18, column 25]\n *&nameRef:__CFLocale const *=n$2 [line 18, column 3]\n " shape="box"] "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_4" -> "bridgeTransfer#TollBridgeExample#instance.d0065913beb197e891ef0d8a0bb81b38_3" ; diff --git a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot index c00383cbf..0798cc475 100644 --- a/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/memory_leaks_benchmark/arc_methods.m.dot @@ -7,23 +7,23 @@ digraph cfg { "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_2" [label="2: Exit main_arc_methods \n " color=yellow style=filled] -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_3" [label="3: Return Stmt \n *&return:int=0 [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_3" [label="3: Return Stmt \n *&return:int=0 [line 44, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_3" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_2" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ab:ArcMethodsA*); [line 43, column 3]\n n$0=*&a2:ArcMethodsA* [line 43, column 21]\n *&ab:ArcMethodsA*=n$0 [line 43, column 3]\n NULLIFY(&a2); [line 43, column 3]\n NULLIFY(&ab); [line 43, column 3]\n EXIT_SCOPE(n$0,a2,ab); [line 43, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" [label="4: DeclStmt \n VARIABLE_DECLARED(ab:ArcMethodsA*); [line 43, column 3]\n n$0=*&a2:ArcMethodsA* [line 43, column 21]\n *&ab:ArcMethodsA*=n$0 [line 43, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_3" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a2:ArcMethodsA*); [line 42, column 3]\n n$1=_fun_ArcMethodsA::someA() [line 42, column 21]\n *&a2:ArcMethodsA*=n$1 [line 42, column 3]\n EXIT_SCOPE(n$1); [line 42, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a2:ArcMethodsA*); [line 42, column 3]\n n$1=_fun_ArcMethodsA::someA() [line 42, column 21]\n *&a2:ArcMethodsA*=n$1 [line 42, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_4" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(aa:ArcMethodsA*); [line 41, column 3]\n n$2=*&a1:ArcMethodsA* [line 41, column 21]\n *&aa:ArcMethodsA*=n$2 [line 41, column 3]\n NULLIFY(&aa); [line 41, column 3]\n NULLIFY(&a1); [line 41, column 3]\n EXIT_SCOPE(n$2,aa,a1); [line 41, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" [label="6: DeclStmt \n VARIABLE_DECLARED(aa:ArcMethodsA*); [line 41, column 3]\n n$2=*&a1:ArcMethodsA* [line 41, column 21]\n *&aa:ArcMethodsA*=n$2 [line 41, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_5" ; -"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a1:ArcMethodsA*); [line 40, column 3]\n n$3=_fun_ArcMethodsA::newA() [line 40, column 21]\n *&a1:ArcMethodsA*=n$3 [line 40, column 3]\n EXIT_SCOPE(n$3); [line 40, column 3]\n " shape="box"] +"main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" [label="7: DeclStmt \n VARIABLE_DECLARED(a1:ArcMethodsA*); [line 40, column 3]\n n$3=_fun_ArcMethodsA::newA() [line 40, column 21]\n *&a1:ArcMethodsA*=n$3 [line 40, column 3]\n " shape="box"] "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_7" -> "main_arc_methods.6924ccbb58d8dbb03048861dcbd6134b_6" ; @@ -34,11 +34,11 @@ digraph cfg { "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" [label="2: Exit ArcMethodsA::newA \n " color=yellow style=filled] -"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" [label="3: Return Stmt \n n$0=*&a:ArcMethodsA* [line 22, column 10]\n *&return:ArcMethodsA*=n$0 [line 22, column 3]\n NULLIFY(&a); [line 22, column 3]\n EXIT_SCOPE(n$0,a); [line 22, column 3]\n APPLY_ABSTRACTION; [line 22, column 3]\n " shape="box"] +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" [label="3: Return Stmt \n n$0=*&a:ArcMethodsA* [line 22, column 10]\n *&return:ArcMethodsA*=n$0 [line 22, column 3]\n " shape="box"] "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_2" ; -"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 21, column 21]\n n$2=_fun_NSObject::init(n$1:ArcMethodsA*) virtual [line 21, column 20]\n *&a:ArcMethodsA*=n$2 [line 21, column 3]\n EXIT_SCOPE(n$1,n$2); [line 21, column 3]\n " shape="box"] +"newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 21, column 3]\n n$1=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 21, column 21]\n n$2=_fun_NSObject::init(n$1:ArcMethodsA*) virtual [line 21, column 20]\n *&a:ArcMethodsA*=n$2 [line 21, column 3]\n " shape="box"] "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_4" -> "newA#ArcMethodsA#class.8f73d571693162b8fe59ae9b171012f1_3" ; @@ -49,11 +49,11 @@ digraph cfg { "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_2" [label="2: Exit ArcMethodsA::someA \n " color=yellow style=filled] -"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" [label="3: Return Stmt \n n$3=*&a:ArcMethodsA* [line 28, column 10]\n *&return:ArcMethodsA*=n$3 [line 28, column 3]\n NULLIFY(&a); [line 28, column 3]\n EXIT_SCOPE(n$3,a); [line 28, column 3]\n APPLY_ABSTRACTION; [line 28, column 3]\n " shape="box"] +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" [label="3: Return Stmt \n n$3=*&a:ArcMethodsA* [line 28, column 10]\n *&return:ArcMethodsA*=n$3 [line 28, column 3]\n " shape="box"] "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_2" ; -"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 26, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 26, column 21]\n n$5=_fun_NSObject::init(n$4:ArcMethodsA*) virtual [line 26, column 20]\n *&a:ArcMethodsA*=n$5 [line 26, column 3]\n EXIT_SCOPE(n$4,n$5); [line 26, column 3]\n " shape="box"] +"someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" [label="4: DeclStmt \n VARIABLE_DECLARED(a:ArcMethodsA*); [line 26, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=ArcMethodsA):unsigned long) [line 26, column 21]\n n$5=_fun_NSObject::init(n$4:ArcMethodsA*) virtual [line 26, column 20]\n *&a:ArcMethodsA*=n$5 [line 26, column 3]\n " shape="box"] "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_4" -> "someA#ArcMethodsA#class.b84b222a4d332a9b8f3f1d6626af9c8f_3" ; 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 6a9bb1670..14bdc3dbc 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/Available_expr.m.dot @@ -7,7 +7,7 @@ digraph cfg { "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" [label="2: Exit Available_expr::test_no_bug \n " color=yellow style=filled] -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_3" [label="3: Return Stmt \n *&return:int=0 [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_3" [label="3: Return Stmt \n *&return:int=0 [line 20, column 3]\n " shape="box"] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_3" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" ; @@ -15,15 +15,15 @@ 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, if) \n PRUNE(n$0, true); [line 17, column 7]\n EXIT_SCOPE(n$0); [line 17, 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 17, 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, if) \n PRUNE(!n$0, false); [line 17, column 7]\n NULLIFY(&p); [line 17, column 7]\n EXIT_SCOPE(n$0,p); [line 17, 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 17, column 7]\n " shape="invhouse"] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_6" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_4" ; -"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_7" [label="7: Return Stmt \n n$1=*&p:int* [line 18, column 13]\n n$2=*n$1:int [line 18, column 12]\n *&return:int=n$2 [line 18, column 5]\n NULLIFY(&p); [line 18, column 5]\n EXIT_SCOPE(n$1,n$2,p); [line 18, column 5]\n APPLY_ABSTRACTION; [line 18, column 5]\n " shape="box"] +"test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_7" [label="7: Return Stmt \n n$1=*&p:int* [line 18, column 13]\n n$2=*n$1:int [line 18, column 12]\n *&return:int=n$2 [line 18, column 5]\n " shape="box"] "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_7" -> "test_no_bug#Available_expr#instance.a4aa786abeb2b17541abfe8ecf02c88f_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot b/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot index 8ece72baa..a70fdff60 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/Nonnull_attribute_example.m.dot @@ -7,7 +7,7 @@ digraph cfg { "NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_2" [label="2: Exit NonnullAtrributeTest \n " color=yellow style=filled] -"NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_3" [label="3: Call n$0 \n n$0=*&callback:_fn_(*) [line 45, column 3]\n n$1=n$0(null:NSError*,null:objc_object*) objc_block [line 45, column 3]\n NULLIFY(&callback); [line 45, column 3]\n EXIT_SCOPE(n$0,n$1,callback); [line 45, column 3]\n APPLY_ABSTRACTION; [line 45, column 3]\n " shape="box"] +"NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_3" [label="3: Call n$0 \n n$0=*&callback:_fn_(*) [line 45, column 3]\n n$1=n$0(null:NSError*,null:objc_object*) objc_block [line 45, column 3]\n " shape="box"] "NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_3" -> "NonnullAtrributeTest.69a49728cf7d46ab0add381e5c93704c_2" ; @@ -18,7 +18,7 @@ digraph cfg { "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_2" [label="2: Exit NonnullA::getA \n " color=yellow style=filled] -"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" [label="3: Return Stmt \n n$0=_fun___objc_alloc_no_fail(sizeof(t=NonnullA):unsigned long) [line 24, column 10]\n n$1=_fun_NSObject::init(n$0:NonnullA*) virtual [line 24, column 10]\n *&return:NonnullA*=n$1 [line 24, column 3]\n EXIT_SCOPE(n$0,n$1); [line 24, column 3]\n APPLY_ABSTRACTION; [line 24, column 3]\n " shape="box"] +"getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" [label="3: Return Stmt \n n$0=_fun___objc_alloc_no_fail(sizeof(t=NonnullA):unsigned long) [line 24, column 10]\n n$1=_fun_NSObject::init(n$0:NonnullA*) virtual [line 24, column 10]\n *&return:NonnullA*=n$1 [line 24, column 3]\n " shape="box"] "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_3" -> "getA#NonnullA#instance.d4b29ece551a370c3f0c0c12526b3def_2" ; @@ -29,15 +29,15 @@ digraph cfg { "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_2" [label="2: Exit NonnullC::initWithCoder:and: \n " color=yellow style=filled] -"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" [label="3: Return Stmt \n n$0=*&self:NonnullC* [line 39, column 10]\n *&return:objc_object*=n$0 [line 39, column 3]\n NULLIFY(&self); [line 39, column 3]\n EXIT_SCOPE(n$0,self); [line 39, column 3]\n APPLY_ABSTRACTION; [line 39, column 3]\n " shape="box"] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" [label="3: Return Stmt \n n$0=*&self:NonnullC* [line 39, column 10]\n *&return:objc_object*=n$0 [line 39, column 3]\n " shape="box"] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_2" ; -"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:int); [line 38, column 3]\n n$1=*&a1:NonnullA* [line 38, column 11]\n n$2=*n$1.x:int [line 38, column 11]\n *&y:int=n$2 [line 38, column 3]\n NULLIFY(&y); [line 38, column 3]\n NULLIFY(&a1); [line 38, column 3]\n EXIT_SCOPE(n$1,n$2,y,a1); [line 38, column 3]\n " shape="box"] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" [label="4: DeclStmt \n VARIABLE_DECLARED(y:int); [line 38, column 3]\n n$1=*&a1:NonnullA* [line 38, column 11]\n n$2=*n$1.x:int [line 38, column 11]\n *&y:int=n$2 [line 38, column 3]\n " shape="box"] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_3" ; -"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a1:NonnullA*); [line 37, column 3]\n n$3=*&a:NonnullA* [line 37, column 19]\n n$4=_fun_NonnullA::getA(n$3:NonnullA*) virtual [line 37, column 18]\n *&a1:NonnullA*=n$4 [line 37, column 3]\n NULLIFY(&a); [line 37, column 3]\n EXIT_SCOPE(n$3,n$4,a); [line 37, column 3]\n " shape="box"] +"initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a1:NonnullA*); [line 37, column 3]\n n$3=*&a:NonnullA* [line 37, column 19]\n n$4=_fun_NonnullA::getA(n$3:NonnullA*) virtual [line 37, column 18]\n *&a1:NonnullA*=n$4 [line 37, column 3]\n " shape="box"] "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_5" -> "initWithCoder:and:#NonnullC(class NSString,class NonnullA)#instance.e23828ce4467c2001440771e2c4692f8_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot b/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot index 3b0c336fa..6a5549faa 100644 --- a/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/npe/npe_malloc.m.dot @@ -7,15 +7,15 @@ digraph cfg { "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_2" [label="2: Exit NpeMallocC::test \n " color=yellow style=filled] -"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" [label="3: Return Stmt \n n$0=*&person:Person* [line 25, column 10]\n *&return:Person*=n$0 [line 25, column 3]\n NULLIFY(&person); [line 25, column 3]\n EXIT_SCOPE(n$0,person); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" [label="3: Return Stmt \n n$0=*&person:Person* [line 25, column 10]\n *&return:Person*=n$0 [line 25, column 3]\n " shape="box"] "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_2" ; -"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&person:Person* [line 24, column 3]\n *n$1.x:int=10 [line 24, column 3]\n EXIT_SCOPE(n$1); [line 24, column 3]\n " shape="box"] +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&person:Person* [line 24, column 3]\n *n$1.x:int=10 [line 24, column 3]\n " shape="box"] "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_3" ; -"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 23, column 3]\n n$2=_fun_malloc_no_fail(sizeof(t=Person;nbytes=8):Person) [line 23, column 43]\n *&person:Person*=n$2 [line 23, column 3]\n EXIT_SCOPE(n$2); [line 23, column 3]\n " shape="box"] +"test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" [label="5: DeclStmt \n VARIABLE_DECLARED(person:Person*); [line 23, column 3]\n n$2=_fun_malloc_no_fail(sizeof(t=Person;nbytes=8):Person) [line 23, column 43]\n *&person:Person*=n$2 [line 23, column 3]\n " shape="box"] "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_5" -> "test#NpeMallocC#instance.736ba93f935cc64d6e9c549cc16c07a7_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot index 3cdbf7618..df21b54b6 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/GetterExample.m.dot @@ -7,15 +7,15 @@ digraph cfg { "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" [label="2: Exit should_have_div0 \n " color=yellow style=filled] -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" [label="3: Return Stmt \n n$0=*&a:GetterExample* [line 15, column 15]\n n$1=_fun_GetterExample::name(n$0:GetterExample*) [line 15, column 17]\n *&return:int=(1 / (n$1 - 5)) [line 15, column 3]\n NULLIFY(&a); [line 15, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 15, column 3]\n APPLY_ABSTRACTION; [line 15, column 3]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" [label="3: Return Stmt \n n$0=*&a:GetterExample* [line 15, column 15]\n n$1=_fun_GetterExample::name(n$0:GetterExample*) [line 15, column 17]\n *&return:int=(1 / (n$1 - 5)) [line 15, column 3]\n " shape="box"] "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_2" ; -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" [label="4: Message Call: setName: \n n$2=*&a:GetterExample* [line 14, column 3]\n n$3=_fun_GetterExample::setName:(n$2:GetterExample*,5:int) [line 14, column 5]\n EXIT_SCOPE(n$2,n$3); [line 14, column 5]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" [label="4: Message Call: setName: \n n$2=*&a:GetterExample* [line 14, column 3]\n n$3=_fun_GetterExample::setName:(n$2:GetterExample*,5:int) [line 14, column 5]\n " shape="box"] "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_3" ; -"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:GetterExample*); [line 13, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=GetterExample):unsigned long) [line 13, column 23]\n n$5=_fun_NSObject::init(n$4:GetterExample*) virtual [line 13, column 22]\n *&a:GetterExample*=n$5 [line 13, column 3]\n EXIT_SCOPE(n$4,n$5); [line 13, column 3]\n " shape="box"] +"should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" [label="5: DeclStmt \n VARIABLE_DECLARED(a:GetterExample*); [line 13, column 3]\n n$4=_fun___objc_alloc_no_fail(sizeof(t=GetterExample):unsigned long) [line 13, column 23]\n n$5=_fun_NSObject::init(n$4:GetterExample*) virtual [line 13, column 22]\n *&a:GetterExample*=n$5 [line 13, column 3]\n " shape="box"] "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_5" -> "should_have_div0.f0a0c4e0ab301ca0aa2f50aa87721dc4_4" ; diff --git a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot index 22d201a50..325313934 100644 --- a/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/property/PropertyAttributes.m.dot @@ -7,19 +7,19 @@ digraph cfg { "test.098f6bcd4621d373cade4e832627b4f6_2" [label="2: Exit test \n " color=yellow style=filled] -"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: Return Stmt \n *&return:int=0 [line 44, column 3]\n APPLY_ABSTRACTION; [line 44, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_3" [label="3: Return Stmt \n *&return:int=0 [line 44, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_3" -> "test.098f6bcd4621d373cade4e832627b4f6_2" ; -"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Message Call: release \n n$0=*&a:PropertyA* [line 43, column 4]\n n$1=_fun_NSObject::release(n$0:PropertyA*) virtual [line 43, column 3]\n NULLIFY(&a); [line 43, column 3]\n EXIT_SCOPE(n$0,n$1,a); [line 43, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_4" [label="4: Message Call: release \n n$0=*&a:PropertyA* [line 43, column 4]\n n$1=_fun_NSObject::release(n$0:PropertyA*) virtual [line 43, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_4" -> "test.098f6bcd4621d373cade4e832627b4f6_3" ; -"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Message Call: setLast_name: \n n$3=*&a:PropertyA* [line 42, column 3]\n n$2=*&a2:PropertyA* [line 42, column 17]\n n$4=_fun_PropertyA::setLast_name:(n$3:PropertyA*,n$2:PropertyA*) [line 42, column 5]\n NULLIFY(&a2); [line 42, column 5]\n EXIT_SCOPE(n$2,n$3,n$4,a2); [line 42, column 5]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_5" [label="5: Message Call: setLast_name: \n n$3=*&a:PropertyA* [line 42, column 3]\n n$2=*&a2:PropertyA* [line 42, column 17]\n n$4=_fun_PropertyA::setLast_name:(n$3:PropertyA*,n$2:PropertyA*) [line 42, column 5]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_5" -> "test.098f6bcd4621d373cade4e832627b4f6_4" ; -"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:PropertyA*); [line 41, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 41, column 19]\n n$6=_fun_PropertyA::init(n$5:PropertyA*) virtual [line 41, column 18]\n *&a:PropertyA*=n$6 [line 41, column 3]\n EXIT_SCOPE(n$5,n$6); [line 41, column 3]\n " shape="box"] +"test.098f6bcd4621d373cade4e832627b4f6_6" [label="6: DeclStmt \n VARIABLE_DECLARED(a:PropertyA*); [line 41, column 3]\n n$5=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 41, column 19]\n n$6=_fun_PropertyA::init(n$5:PropertyA*) virtual [line 41, column 18]\n *&a:PropertyA*=n$6 [line 41, column 3]\n " shape="box"] "test.098f6bcd4621d373cade4e832627b4f6_6" -> "test.098f6bcd4621d373cade4e832627b4f6_5" ; @@ -30,7 +30,7 @@ digraph cfg { "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_2" [label="2: Exit PropertyA::copy \n " color=yellow style=filled] -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" [label="3: Return Stmt \n n$1=*&other:PropertyA* [line 35, column 10]\n *&return:PropertyA*=n$1 [line 35, column 3]\n NULLIFY(&other); [line 35, column 3]\n EXIT_SCOPE(n$1,other); [line 35, column 3]\n APPLY_ABSTRACTION; [line 35, column 3]\n " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" [label="3: Return Stmt \n n$1=*&other:PropertyA* [line 35, column 10]\n *&return:PropertyA*=n$1 [line 35, column 3]\n " shape="box"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_2" ; @@ -38,27 +38,27 @@ digraph cfg { "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_3" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" [label="5: Prune (true branch, if) \n n$2=*&other:PropertyA* [line 30, column 7]\n PRUNE(n$2, true); [line 30, column 7]\n EXIT_SCOPE(n$2); [line 30, column 7]\n " shape="invhouse"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" [label="5: Prune (true branch, if) \n n$2=*&other:PropertyA* [line 30, column 7]\n PRUNE(n$2, true); [line 30, column 7]\n " shape="invhouse"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" [label="6: Prune (false branch, if) \n n$2=*&other:PropertyA* [line 30, column 7]\n PRUNE(!n$2, false); [line 30, column 7]\n EXIT_SCOPE(n$2); [line 30, column 7]\n APPLY_ABSTRACTION; [line 30, column 7]\n " shape="invhouse"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" [label="6: Prune (false branch, if) \n n$2=*&other:PropertyA* [line 30, column 7]\n PRUNE(!n$2, false); [line 30, column 7]\n " shape="invhouse"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_6" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&other:PropertyA* [line 33, column 5]\n n$4=*&self:PropertyA* [line 33, column 21]\n n$5=*n$4._child:PropertyA* [line 33, column 21]\n *n$3._child:PropertyA*=n$5 [line 33, column 5]\n NULLIFY(&self); [line 33, column 5]\n EXIT_SCOPE(n$3,n$4,n$5,self); [line 33, column 5]\n APPLY_ABSTRACTION; [line 33, column 5]\n " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&other:PropertyA* [line 33, column 5]\n n$4=*&self:PropertyA* [line 33, column 21]\n n$5=*n$4._child:PropertyA* [line 33, column 21]\n *n$3._child:PropertyA*=n$5 [line 33, column 5]\n " shape="box"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_4" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" [label="8: BinaryOperatorStmt: Assign \n n$6=*&other:PropertyA* [line 32, column 5]\n n$7=*&self:PropertyA* [line 32, column 25]\n n$8=*n$7._last_name:PropertyA* [line 32, column 25]\n *n$6._last_name:PropertyA*=n$8 [line 32, column 5]\n EXIT_SCOPE(n$6,n$7,n$8); [line 32, column 5]\n " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" [label="8: BinaryOperatorStmt: Assign \n n$6=*&other:PropertyA* [line 32, column 5]\n n$7=*&self:PropertyA* [line 32, column 25]\n n$8=*n$7._last_name:PropertyA* [line 32, column 25]\n *n$6._last_name:PropertyA*=n$8 [line 32, column 5]\n " shape="box"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_7" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" [label="9: BinaryOperatorStmt: Assign \n n$9=*&other:PropertyA* [line 31, column 5]\n n$10=*&self:PropertyA* [line 31, column 20]\n n$11=*n$10._name:PropertyA* [line 31, column 20]\n *n$9._name:PropertyA*=n$11 [line 31, column 5]\n EXIT_SCOPE(n$9,n$10,n$11); [line 31, column 5]\n " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" [label="9: BinaryOperatorStmt: Assign \n n$9=*&other:PropertyA* [line 31, column 5]\n n$10=*&self:PropertyA* [line 31, column 20]\n n$11=*n$10._name:PropertyA* [line 31, column 20]\n *n$9._name:PropertyA*=n$11 [line 31, column 5]\n " shape="box"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_9" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_8" ; -"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(other:PropertyA*); [line 29, column 3]\n n$14=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 29, column 23]\n n$15=_fun_PropertyA::init(n$14:PropertyA*) virtual [line 29, column 22]\n *&other:PropertyA*=n$15 [line 29, column 3]\n EXIT_SCOPE(n$14,n$15); [line 29, column 3]\n " shape="box"] +"copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" [label="10: DeclStmt \n VARIABLE_DECLARED(other:PropertyA*); [line 29, column 3]\n n$14=_fun___objc_alloc_no_fail(sizeof(t=PropertyA):unsigned long) [line 29, column 23]\n n$15=_fun_PropertyA::init(n$14:PropertyA*) virtual [line 29, column 22]\n *&other:PropertyA*=n$15 [line 29, column 3]\n " shape="box"] "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_10" -> "copy#PropertyA#instance.d5955e11cf35af4b4d602b2971590d5f_5" ; @@ -70,7 +70,7 @@ digraph cfg { "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_2" [label="2: Exit PropertyA::init \n " color=yellow style=filled] -"init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_3" [label="3: Return Stmt \n n$0=*&self:PropertyA* [line 25, column 10]\n *&return:objc_object*=n$0 [line 25, column 3]\n NULLIFY(&self); [line 25, column 3]\n EXIT_SCOPE(n$0,self); [line 25, column 3]\n APPLY_ABSTRACTION; [line 25, column 3]\n " shape="box"] +"init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_3" [label="3: Return Stmt \n n$0=*&self:PropertyA* [line 25, column 10]\n *&return:objc_object*=n$0 [line 25, column 3]\n " shape="box"] "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_3" -> "init#PropertyA#instance.a50cf011b0759e26f65bb059fbc6d60c_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot index b98c18230..1297554fe 100644 --- a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot +++ b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/Bicycle.m.dot @@ -7,7 +7,7 @@ digraph cfg { "lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_2" [label="2: Exit Bicycle::lockToStructure: \n " color=yellow style=filled] -"lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_3" [label="3: Call _fun_NSLog \n n$10=_fun_NSString::stringWithUTF8String:(\"Locked to structure. Don't forget the combination!\":char* const ) [line 31, column 9]\n n$11=_fun_NSLog(n$10:objc_object*) [line 31, column 3]\n EXIT_SCOPE(n$10,n$11); [line 31, column 3]\n APPLY_ABSTRACTION; [line 31, column 3]\n " shape="box"] +"lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_3" [label="3: Call _fun_NSLog \n n$10=_fun_NSString::stringWithUTF8String:(\"Locked to structure. Don't forget the combination!\":char* const ) [line 31, column 9]\n n$11=_fun_NSLog(n$10:objc_object*) [line 31, column 3]\n " shape="box"] "lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_3" -> "lockToStructure:#Bicycle(struct objc_object)#instance.08c84c9f07aafb2f30ed48101344ca7a_2" ; @@ -18,7 +18,7 @@ digraph cfg { "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_2" [label="2: Exit Bicycle::removeFrontWheel \n " color=yellow style=filled] -"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" [label="3: Call _fun_NSLog \n n$8=_fun_NSString::stringWithUTF8String:(\"Front wheel is off.Should probably replace that before pedaling...\":char* const ) [line 27, column 7]\n n$9=_fun_NSLog(n$8:objc_object*) [line 26, column 3]\n EXIT_SCOPE(n$8,n$9); [line 26, column 3]\n APPLY_ABSTRACTION; [line 26, column 3]\n " shape="box"] +"removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" [label="3: Call _fun_NSLog \n n$8=_fun_NSString::stringWithUTF8String:(\"Front wheel is off.Should probably replace that before pedaling...\":char* const ) [line 27, column 7]\n n$9=_fun_NSLog(n$8:objc_object*) [line 26, column 3]\n " shape="box"] "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_3" -> "removeFrontWheel#Bicycle#instance.30147087e52fa1526931dfcd2d381f31_2" ; @@ -29,7 +29,7 @@ digraph cfg { "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_2" [label="2: Exit Bicycle::signalLeftTurn \n " color=yellow style=filled] -"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString::stringWithUTF8String:(\"Extending left arm outwards\":char* const ) [line 17, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 17, column 3]\n EXIT_SCOPE(n$2,n$3); [line 17, column 3]\n APPLY_ABSTRACTION; [line 17, column 3]\n " shape="box"] +"signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" [label="3: Call _fun_NSLog \n n$2=_fun_NSString::stringWithUTF8String:(\"Extending left arm outwards\":char* const ) [line 17, column 9]\n n$3=_fun_NSLog(n$2:objc_object*) [line 17, column 3]\n " shape="box"] "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_3" -> "signalLeftTurn#Bicycle#instance.a4d5c86b4aa90993e2ac30d04f01880f_2" ; @@ -40,7 +40,7 @@ digraph cfg { "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_2" [label="2: Exit Bicycle::signalRightTurn \n " color=yellow style=filled] -"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString::stringWithUTF8String:(\"Bending left arm upwards\":char* const ) [line 20, column 9]\n n$5=_fun_NSLog(n$4:objc_object*) [line 20, column 3]\n EXIT_SCOPE(n$4,n$5); [line 20, column 3]\n APPLY_ABSTRACTION; [line 20, column 3]\n " shape="box"] +"signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" [label="3: Call _fun_NSLog \n n$4=_fun_NSString::stringWithUTF8String:(\"Bending left arm upwards\":char* const ) [line 20, column 9]\n n$5=_fun_NSLog(n$4:objc_object*) [line 20, column 3]\n " shape="box"] "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_3" -> "signalRightTurn#Bicycle#instance.fadced5c56a6d988e6d72d83b6b35cbe_2" ; @@ -51,7 +51,7 @@ digraph cfg { "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_2" [label="2: Exit Bicycle::signalStop \n " color=yellow style=filled] -"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"Bending left arm downwards\":char* const ) [line 14, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 14, column 3]\n EXIT_SCOPE(n$0,n$1); [line 14, column 3]\n APPLY_ABSTRACTION; [line 14, column 3]\n " shape="box"] +"signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" [label="3: Call _fun_NSLog \n n$0=_fun_NSString::stringWithUTF8String:(\"Bending left arm downwards\":char* const ) [line 14, column 9]\n n$1=_fun_NSLog(n$0:objc_object*) [line 14, column 3]\n " shape="box"] "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_3" -> "signalStop#Bicycle#instance.e21e040e406b062ae47420adbbba076a_2" ; @@ -62,7 +62,7 @@ digraph cfg { "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_2" [label="2: Exit Bicycle::startPedaling \n " color=yellow style=filled] -"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" [label="3: Call _fun_NSLog \n n$6=_fun_NSString::stringWithUTF8String:(\"Here we go!\":char* const ) [line 23, column 9]\n n$7=_fun_NSLog(n$6:objc_object*) [line 23, column 3]\n EXIT_SCOPE(n$6,n$7); [line 23, column 3]\n APPLY_ABSTRACTION; [line 23, column 3]\n " shape="box"] +"startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" [label="3: Call _fun_NSLog \n n$6=_fun_NSString::stringWithUTF8String:(\"Here we go!\":char* const ) [line 23, column 9]\n n$7=_fun_NSLog(n$6:objc_object*) [line 23, column 3]\n " shape="box"] "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_3" -> "startPedaling#Bicycle#instance.51dd675ab15335a15287fd45cbc21261_2" ; diff --git a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot index 6acd1ca5c..42cd074ae 100644 --- a/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot +++ b/infer/tests/codetoanalyze/objc/shared/protocol_procdesc/main.c.dot @@ -7,15 +7,15 @@ digraph cfg { "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_2" [label="2: Exit ProtocolProcdescMain \n " color=yellow style=filled] -"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" [label="3: Return Stmt \n *&return:int=0 [line 16, column 3]\n APPLY_ABSTRACTION; [line 16, column 3]\n " shape="box"] +"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" [label="3: Return Stmt \n *&return:int=0 [line 16, column 3]\n " shape="box"] "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_2" ; -"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" [label="4: Message Call: signalStop \n n$0=*&bike:Bicycle* [line 14, column 4]\n n$1=_fun_StreetVehicle::signalStop(n$0:Bicycle*) virtual [line 14, column 3]\n NULLIFY(&bike); [line 14, column 3]\n EXIT_SCOPE(n$0,n$1,bike); [line 14, column 3]\n " shape="box"] +"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" [label="4: Message Call: signalStop \n n$0=*&bike:Bicycle* [line 14, column 4]\n n$1=_fun_StreetVehicle::signalStop(n$0:Bicycle*) virtual [line 14, column 3]\n " shape="box"] "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_3" ; -"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_5" [label="5: DeclStmt \n VARIABLE_DECLARED(bike:Bicycle*); [line 12, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Bicycle):unsigned long) [line 12, column 19]\n *&bike:Bicycle*=n$2 [line 12, column 3]\n EXIT_SCOPE(n$2); [line 12, column 3]\n " shape="box"] +"ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_5" [label="5: DeclStmt \n VARIABLE_DECLARED(bike:Bicycle*); [line 12, column 3]\n n$2=_fun___objc_alloc_no_fail(sizeof(t=Bicycle):unsigned long) [line 12, column 19]\n *&bike:Bicycle*=n$2 [line 12, column 3]\n " shape="box"] "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_5" -> "ProtocolProcdescMain.84e7d2448aa904c965bf225f17cfb503_4" ; diff --git a/infer/tests/codetoanalyze/objcpp/frontend/block_in_struct.mm.dot b/infer/tests/codetoanalyze/objcpp/frontend/block_in_struct.mm.dot index c0d47ee4e..c55be48db 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/block_in_struct.mm.dot +++ b/infer/tests/codetoanalyze/objcpp/frontend/block_in_struct.mm.dot @@ -7,7 +7,7 @@ digraph cfg { "main.fad58de7366495db4650cfefac2fcd61_2" [label="2: Exit main \n " color=yellow style=filled] -"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 14]\n APPLY_ABSTRACTION; [line 18, column 14]\n " shape="box"] +"main.fad58de7366495db4650cfefac2fcd61_3" [label="3: Return Stmt \n *&return:int=0 [line 18, column 14]\n " shape="box"] "main.fad58de7366495db4650cfefac2fcd61_3" -> "main.fad58de7366495db4650cfefac2fcd61_2" ; diff --git a/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot b/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot index dcfdfa34c..a0abc8e8a 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot +++ b/infer/tests/codetoanalyze/objcpp/frontend/funcoverloading/af_test.mm.dot @@ -7,7 +7,7 @@ digraph cfg { "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_2" [label="2: Exit POPSelectValueType \n " color=yellow style=filled] -"POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 40]\n *&return:int=n$0 [line 12, column 33]\n NULLIFY(&v); [line 12, column 33]\n EXIT_SCOPE(n$0,v); [line 12, column 33]\n APPLY_ABSTRACTION; [line 12, column 33]\n " shape="box"] +"POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_3" [label="3: Return Stmt \n n$0=*&v:int [line 12, column 40]\n *&return:int=n$0 [line 12, column 33]\n " shape="box"] "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_3" -> "POPSelectValueType#13202608325161396336.7f6967bed79eb95ec02bca4d934e7bf7_2" ; @@ -18,7 +18,7 @@ digraph cfg { "POPSelectValueType(struct objc_object)#4590621362721862851.2ae895f0ed31789a8ee1d7db61fbe87f_2" [label="2: Exit POPSelectValueType \n " color=yellow style=filled] -"POPSelectValueType(struct objc_object)#4590621362721862851.2ae895f0ed31789a8ee1d7db61fbe87f_3" [label="3: Return Stmt \n *&return:int=1 [line 10, column 34]\n APPLY_ABSTRACTION; [line 10, column 34]\n " shape="box"] +"POPSelectValueType(struct objc_object)#4590621362721862851.2ae895f0ed31789a8ee1d7db61fbe87f_3" [label="3: Return Stmt \n *&return:int=1 [line 10, column 34]\n " shape="box"] "POPSelectValueType(struct objc_object)#4590621362721862851.2ae895f0ed31789a8ee1d7db61fbe87f_3" -> "POPSelectValueType(struct objc_object)#4590621362721862851.2ae895f0ed31789a8ee1d7db61fbe87f_2" ; diff --git a/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot b/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot index 3208f6786..4d7394c4e 100644 --- a/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot +++ b/infer/tests/codetoanalyze/objcpp/frontend/global_const/global_const.mm.dot @@ -7,7 +7,7 @@ digraph cfg { "__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_2" [label="2: Exit __infer_globals_initializer___someFields \n " color=yellow style=filled] -"__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$__someFields:Fields const ); [line 14, column 1]\n *&#GB$__someFields.field1:float=1 [line 14, column 36]\n *&#GB$__someFields.field2:float=2 [line 14, column 36]\n *&#GB$__someFields.field3:float=3 [line 14, column 36]\n APPLY_ABSTRACTION; [line 14, column 36]\n " shape="box"] +"__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_3" [label="3: DeclStmt \n VARIABLE_DECLARED(#GB$__someFields:Fields const ); [line 14, column 1]\n *&#GB$__someFields.field1:float=1 [line 14, column 36]\n *&#GB$__someFields.field2:float=2 [line 14, column 36]\n *&#GB$__someFields.field3:float=3 [line 14, column 36]\n " shape="box"] "__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_3" -> "__infer_globals_initializer___someFields#305cac08d8197bd145f7f55cc8a06d16.794b83eea8b5794c71808060b1f3b5c7_2" ; @@ -18,7 +18,7 @@ digraph cfg { "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_2" [label="2: Exit fields \n " color=yellow style=filled] -"fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_3" [label="3: Return Stmt \n n$0=*&__return_param:Fields* [line 20, column 19]\n n$1=_fun_Fields::(n$0:Fields*,&#GB$__someFields:Fields const &) [line 20, column 26]\n NULLIFY(&__return_param); [line 20, column 26]\n EXIT_SCOPE(n$0,n$1,__return_param); [line 20, column 26]\n APPLY_ABSTRACTION; [line 20, column 26]\n " shape="box"] +"fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_3" [label="3: Return Stmt \n n$0=*&__return_param:Fields* [line 20, column 19]\n n$1=_fun_Fields::(n$0:Fields*,&#GB$__someFields:Fields const &) [line 20, column 26]\n " shape="box"] "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_3" -> "fields(class Fields)#3037629886785813687.ade89225d198ce505301d5cdffda48f1_2" ; @@ -29,15 +29,15 @@ digraph cfg { "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_2" [label="2: Exit Fields:: \n " color=yellow style=filled] -"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" [label="3: Constructor Init \n n$1=*&this:Fields* [line 8, column 9]\n n$2=*&__param_0:Fields const & [line 8, column 9]\n n$3=*n$2.field3:float [line 8, column 9]\n *n$1.field3:float=n$3 [line 8, column 9]\n NULLIFY(&this); [line 8, column 9]\n NULLIFY(&__param_0); [line 8, column 9]\n EXIT_SCOPE(n$1,n$2,n$3,this,__param_0); [line 8, column 9]\n APPLY_ABSTRACTION; [line 8, column 9]\n " shape="box"] +"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" [label="3: Constructor Init \n n$1=*&this:Fields* [line 8, column 9]\n n$2=*&__param_0:Fields const & [line 8, column 9]\n n$3=*n$2.field3:float [line 8, column 9]\n *n$1.field3:float=n$3 [line 8, column 9]\n " shape="box"] "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_2" ; -"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" [label="4: Constructor Init \n n$4=*&this:Fields* [line 8, column 9]\n n$5=*&__param_0:Fields const & [line 8, column 9]\n n$6=*n$5.field2:float [line 8, column 9]\n *n$4.field2:float=n$6 [line 8, column 9]\n EXIT_SCOPE(n$4,n$5,n$6); [line 8, column 9]\n " shape="box"] +"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" [label="4: Constructor Init \n n$4=*&this:Fields* [line 8, column 9]\n n$5=*&__param_0:Fields const & [line 8, column 9]\n n$6=*n$5.field2:float [line 8, column 9]\n *n$4.field2:float=n$6 [line 8, column 9]\n " shape="box"] "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_3" ; -"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_5" [label="5: Constructor Init \n n$7=*&this:Fields* [line 8, column 9]\n n$8=*&__param_0:Fields const & [line 8, column 9]\n n$9=*n$8.field1:float [line 8, column 9]\n *n$7.field1:float=n$9 [line 8, column 9]\n EXIT_SCOPE(n$7,n$8,n$9); [line 8, column 9]\n " shape="box"] +"#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_5" [label="5: Constructor Init \n n$7=*&this:Fields* [line 8, column 9]\n n$8=*&__param_0:Fields const & [line 8, column 9]\n n$9=*n$8.field1:float [line 8, column 9]\n *n$7.field1:float=n$9 [line 8, column 9]\n " shape="box"] "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_5" -> "#Fields#{11740702837802970461|constexpr}.35c900b91f77169dcc7579a3ddf4fddf_4" ;