[CFrontend] Sizeof should have ulong type

master
Andrzej Kotulski 9 years ago
parent 7ebd48121f
commit 394a3b4c29

@ -181,7 +181,7 @@ struct
with Self.SelfClassException class_name -> with Self.SelfClassException class_name ->
let typ = CTypes_decl.type_name_to_sil_type trans_state.context.CContext.tenv class_name in let typ = CTypes_decl.type_name_to_sil_type trans_state.context.CContext.tenv class_name in
{ empty_res_trans with { empty_res_trans with
exps = [(Sil.Sizeof(typ, Sil.Subtype.exact), typ)]} exps = [(Sil.Sizeof(typ, Sil.Subtype.exact), Sil.Tint Sil.IULong)] }
(* Execute translation of e forcing to release priority (if it's not free) and then setting it back.*) (* Execute translation of e forcing to release priority (if it's not free) and then setting it back.*)
(* This is used in conditional operators where we need to force the priority to be free for the *) (* This is used in conditional operators where we need to force the priority to be free for the *)

@ -280,7 +280,7 @@ let create_alloc_instrs context sil_loc function_type fname =
function_type, CTypes_decl.expand_structured_type context.CContext.tenv styp function_type, CTypes_decl.expand_structured_type context.CContext.tenv styp
| _ -> Sil.Tptr (function_type, Sil.Pk_pointer), function_type in | _ -> Sil.Tptr (function_type, Sil.Pk_pointer), function_type in
let sizeof_exp = Sil.Sizeof (function_type_np, Sil.Subtype.exact) in let sizeof_exp = Sil.Sizeof (function_type_np, Sil.Subtype.exact) in
let exp = (sizeof_exp, function_type) in let exp = (sizeof_exp, Sil.Tint Sil.IULong) in
let ret_id = Ident.create_fresh Ident.knormal in let ret_id = Ident.create_fresh Ident.knormal in
let stmt_call = Sil.Call([ret_id], (Sil.Const (Sil.Cfun fname)), [exp], sil_loc, Sil.cf_default) in let stmt_call = Sil.Call([ret_id], (Sil.Const (Sil.Cfun fname)), [exp], sil_loc, Sil.cf_default) in
(function_type, ret_id, stmt_call, Sil.Var ret_id) (function_type, ret_id, stmt_call, Sil.Var ret_id)
@ -336,7 +336,7 @@ let create_cast_instrs context exp cast_from_typ cast_to_typ sil_loc =
CTypes_decl.expand_structured_type context.CContext.tenv (CTypes.remove_pointer_to_typ cast_to_typ) in CTypes_decl.expand_structured_type context.CContext.tenv (CTypes.remove_pointer_to_typ cast_to_typ) in
let sizeof_exp = Sil.Sizeof (cast_typ_no_pointer, Sil.Subtype.exact) in let sizeof_exp = Sil.Sizeof (cast_typ_no_pointer, Sil.Subtype.exact) in
let pname = SymExec.ModelBuiltins.__objc_cast in let pname = SymExec.ModelBuiltins.__objc_cast in
let args = [(exp, cast_from_typ); (sizeof_exp, Sil.Tvoid)] in let args = [(exp, cast_from_typ); (sizeof_exp, Sil.Tint Sil.IULong)] in
let stmt_call = Sil.Call([ret_id], (Sil.Const (Sil.Cfun pname)), args, sil_loc, Sil.cf_default) in let stmt_call = Sil.Call([ret_id], (Sil.Const (Sil.Cfun pname)), args, sil_loc, Sil.cf_default) in
(ret_id, stmt_call, Sil.Var ret_id) (ret_id, stmt_call, Sil.Var ret_id)

@ -3,11 +3,11 @@ digraph iCFG {
6 -> 5 ; 6 -> 5 ;
5 [label="5: DeclStmt \n n$2=_fun___new(sizeof(int ):int *) [line 12]\n *&i:int *=n$2 [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n " shape="box"] 5 [label="5: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 12]\n *&i:int *=n$2 [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;
4 [label="4: Call C++ new \n n$1=_fun___new(sizeof(int ):int *) [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n " shape="box"] 4 [label="4: Call C++ new \n n$1=_fun___new(sizeof(int ):unsigned long ) [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
6 [label="6: DeclStmt \n n$4=_fun___objc_alloc_no_fail(sizeof(class EOCPerson ):class EOCPerson *) [line 13]\n n$2=_fun_EOCPerson_init(n$4:class EOCPerson *) virtual [line 13]\n *&person:class EOCPerson *=n$2 [line 13]\n REMOVE_TEMPS(n$2,n$4); [line 13]\n " shape="box"] 6 [label="6: DeclStmt \n n$4=_fun___objc_alloc_no_fail(sizeof(class EOCPerson ):unsigned long ) [line 13]\n n$2=_fun_EOCPerson_init(n$4:class EOCPerson *) virtual [line 13]\n *&person:class EOCPerson *=n$2 [line 13]\n REMOVE_TEMPS(n$2,n$4); [line 13]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
12 [label="12: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 45]\n n$7=_fun_A_init(n$6:class A *) virtual [line 45]\n *&a:struct objc_object *=n$7 [line 46]\n REMOVE_TEMPS(n$6,n$7); [line 46]\n NULLIFY(&a,false); [line 46]\n " shape="box"] 12 [label="12: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 45]\n n$7=_fun_A_init(n$6:class A *) virtual [line 45]\n *&a:struct objc_object *=n$7 [line 46]\n REMOVE_TEMPS(n$6,n$7); [line 46]\n NULLIFY(&a,false); [line 46]\n " shape="box"]
12 -> 11 ; 12 -> 11 ;

@ -21,7 +21,7 @@ digraph iCFG {
9 -> 11 ; 9 -> 11 ;
8 [label="8: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class NSString ):class NSString *) [line 29]\n *&s:class NSString *=n$6 [line 29]\n REMOVE_TEMPS(n$6); [line 29]\n " shape="box"] 8 [label="8: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class NSString ):unsigned long ) [line 29]\n *&s:class NSString *=n$6 [line 29]\n REMOVE_TEMPS(n$6); [line 29]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -36,7 +36,7 @@ digraph iCFG {
5 -> 8 ; 5 -> 8 ;
4 [label="4: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class NSString ):class NSString *) [line 23]\n *&s:class NSString *=n$3 [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n " shape="box"] 4 [label="4: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class NSString ):unsigned long ) [line 23]\n *&s:class NSString *=n$3 [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -1,9 +1,9 @@
digraph iCFG { digraph iCFG {
41 [label="41: DeclStmt \n n$30=_fun___objc_alloc_no_fail(sizeof(class NSAutoreleasePool ):class NSAutoreleasePool *) [line 60]\n n$28=_fun_NSAutoreleasePool_init(n$30:class NSAutoreleasePool *) [line 60]\n *&pool:class NSAutoreleasePool *=n$28 [line 60]\n REMOVE_TEMPS(n$28,n$30); [line 60]\n " shape="box"] 41 [label="41: DeclStmt \n n$30=_fun___objc_alloc_no_fail(sizeof(class NSAutoreleasePool ):unsigned long ) [line 60]\n n$28=_fun_NSAutoreleasePool_init(n$30:class NSAutoreleasePool *) [line 60]\n *&pool:class NSAutoreleasePool *=n$28 [line 60]\n REMOVE_TEMPS(n$28,n$30); [line 60]\n " shape="box"]
41 -> 40 ; 41 -> 40 ;
40 [label="40: DeclStmt \n n$27=_fun___objc_alloc_no_fail(sizeof(class NSString ):class NSString *) [line 61]\n n$25=_fun___set_autorelease_attribute(n$27:class NSString *) [line 61]\n *&string:class NSString *=n$25 [line 61]\n REMOVE_TEMPS(n$25,n$27); [line 61]\n " shape="box"] 40 [label="40: DeclStmt \n n$27=_fun___objc_alloc_no_fail(sizeof(class NSString ):unsigned long ) [line 61]\n n$25=_fun___set_autorelease_attribute(n$27:class NSString *) [line 61]\n *&string:class NSString *=n$25 [line 61]\n REMOVE_TEMPS(n$25,n$27); [line 61]\n " shape="box"]
40 -> 39 ; 40 -> 39 ;
@ -104,7 +104,7 @@ digraph iCFG {
15 -> 25 ; 15 -> 25 ;
14 [label="14: DeclStmt \n n$12=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 30]\n n$10=_fun_A_init(n$12:class A *) virtual [line 30]\n *&s1:class A *=n$10 [line 30]\n REMOVE_TEMPS(n$10,n$12); [line 30]\n " shape="box"] 14 [label="14: DeclStmt \n n$12=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 30]\n n$10=_fun_A_init(n$12:class A *) virtual [line 30]\n *&s1:class A *=n$10 [line 30]\n REMOVE_TEMPS(n$10,n$12); [line 30]\n " shape="box"]
14 -> 13 ; 14 -> 13 ;
@ -141,7 +141,7 @@ digraph iCFG {
5 -> 7 ; 5 -> 7 ;
4 [label="4: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class NSString ):class NSString *) [line 23]\n *&s:class NSString *=n$3 [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n " shape="box"] 4 [label="4: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class NSString ):unsigned long ) [line 23]\n *&s:class NSString *=n$3 [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -156,7 +156,7 @@ digraph iCFG {
7 -> 10 ; 7 -> 10 ;
6 [label="6: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class UIView ):class UIView *) [line 21]\n *&attachmentContainerView:class UIView *=n$6 [line 21]\n REMOVE_TEMPS(n$6); [line 21]\n " shape="box"] 6 [label="6: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class UIView ):unsigned long ) [line 21]\n *&attachmentContainerView:class UIView *=n$6 [line 21]\n REMOVE_TEMPS(n$6); [line 21]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
5 [label="5: DeclStmt \n n$5=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 21]\n n$3=_fun_A_init(n$5:class A *) virtual [line 21]\n *&a:class A *=n$3 [line 21]\n REMOVE_TEMPS(n$3,n$5); [line 21]\n " shape="box"] 5 [label="5: DeclStmt \n n$5=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 21]\n n$3=_fun_A_init(n$5:class A *) virtual [line 21]\n *&a:class A *=n$3 [line 21]\n REMOVE_TEMPS(n$3,n$5); [line 21]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -23,7 +23,7 @@ digraph iCFG {
27 -> 30 ; 27 -> 30 ;
27 -> 31 ; 27 -> 31 ;
26 [label="26: DeclStmt \n n$21=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 62]\n n$19=_fun_A_init(n$21:class A *) virtual [line 62]\n *&a:class A *=n$19 [line 62]\n REMOVE_TEMPS(n$19,n$21); [line 62]\n " shape="box"] 26 [label="26: DeclStmt \n n$21=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 62]\n n$19=_fun_A_init(n$21:class A *) virtual [line 62]\n *&a:class A *=n$19 [line 62]\n REMOVE_TEMPS(n$19,n$21); [line 62]\n " shape="box"]
26 -> 25 ; 26 -> 25 ;
@ -42,7 +42,7 @@ digraph iCFG {
22 -> 26 ; 22 -> 26 ;
21 [label="21: DeclStmt \n n$15=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 55]\n n$13=_fun_A_init(n$15:class A *) virtual [line 55]\n *&a:class A *=n$13 [line 55]\n REMOVE_TEMPS(n$13,n$15); [line 55]\n " shape="box"] 21 [label="21: DeclStmt \n n$15=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 55]\n n$13=_fun_A_init(n$15:class A *) virtual [line 55]\n *&a:class A *=n$13 [line 55]\n REMOVE_TEMPS(n$13,n$15); [line 55]\n " shape="box"]
21 -> 20 ; 21 -> 20 ;
@ -98,7 +98,7 @@ digraph iCFG {
7 -> 10 ; 7 -> 10 ;
6 [label="6: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 26]\n n$4=_fun_A_init(n$6:class A *) virtual [line 26]\n *&a:class A *=n$4 [line 26]\n REMOVE_TEMPS(n$4,n$6); [line 26]\n " shape="box"] 6 [label="6: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 26]\n n$4=_fun_A_init(n$6:class A *) virtual [line 26]\n *&a:class A *=n$4 [line 26]\n REMOVE_TEMPS(n$4,n$6); [line 26]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
19 [label="19: Return Stmt \n n$10=_fun___builtin___CFStringMakeConstantString(\"Icon\":char *) [line 43]\n n$11=_fun_CTFontCreateWithName(n$10:struct __CFString *,17.000000:double ,0:CGAffineTransform *) [line 43]\n n$12=_fun___objc_cast(n$11:void *,sizeof(void ):void ) [line 43]\n *&return:struct __CTFont *=n$12 [line 43]\n REMOVE_TEMPS(n$10,n$11,n$12); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"] 19 [label="19: Return Stmt \n n$10=_fun___builtin___CFStringMakeConstantString(\"Icon\":char *) [line 43]\n n$11=_fun_CTFontCreateWithName(n$10:struct __CFString *,17.000000:double ,0:CGAffineTransform *) [line 43]\n n$12=_fun___objc_cast(n$11:void *,sizeof(void ):unsigned long ) [line 43]\n *&return:struct __CTFont *=n$12 [line 43]\n REMOVE_TEMPS(n$10,n$11,n$12); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
19 -> 18 ; 19 -> 18 ;
@ -14,7 +14,7 @@ digraph iCFG {
16 -> 15 ; 16 -> 15 ;
15 [label="15: Call _fun_CFBridgingRelease \n n$7=*&ref:struct __CFDictionary * [line 39]\n n$8=_fun___objc_cast(n$7:void *,sizeof(struct objc_object ):void ) [line 39]\n REMOVE_TEMPS(n$7,n$8); [line 39]\n NULLIFY(&ref,false); [line 39]\n APPLY_ABSTRACTION; [line 39]\n " shape="box"] 15 [label="15: Call _fun_CFBridgingRelease \n n$7=*&ref:struct __CFDictionary * [line 39]\n n$8=_fun___objc_cast(n$7:void *,sizeof(struct objc_object ):unsigned long ) [line 39]\n REMOVE_TEMPS(n$7,n$8); [line 39]\n NULLIFY(&ref,false); [line 39]\n APPLY_ABSTRACTION; [line 39]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
@ -25,7 +25,7 @@ digraph iCFG {
13 -> 16 ; 13 -> 16 ;
12 [label="12: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class NSLocale ):class NSLocale *) [line 32]\n *&observer:struct objc_object *=n$6 [line 32]\n REMOVE_TEMPS(n$6); [line 32]\n " shape="box"] 12 [label="12: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class NSLocale ):unsigned long ) [line 32]\n *&observer:struct objc_object *=n$6 [line 32]\n REMOVE_TEMPS(n$6); [line 32]\n " shape="box"]
12 -> 11 ; 12 -> 11 ;

@ -26,7 +26,7 @@ digraph iCFG {
9 -> 15 ; 9 -> 15 ;
8 [label="8: DeclStmt \n n$8=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 28]\n n$6=_fun_A_init(n$8:class A *) virtual [line 28]\n *&a:class A *=n$6 [line 28]\n REMOVE_TEMPS(n$6,n$8); [line 28]\n " shape="box"] 8 [label="8: DeclStmt \n n$8=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 28]\n n$6=_fun_A_init(n$8:class A *) virtual [line 28]\n *&a:class A *=n$6 [line 28]\n REMOVE_TEMPS(n$6,n$8); [line 28]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -41,7 +41,7 @@ digraph iCFG {
5 -> 8 ; 5 -> 8 ;
4 [label="4: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 23]\n n$1=_fun_A_init(n$3:class A *) virtual [line 23]\n *&a:class A *=n$1 [line 23]\n REMOVE_TEMPS(n$1,n$3); [line 23]\n " shape="box"] 4 [label="4: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 23]\n n$1=_fun_A_init(n$3:class A *) virtual [line 23]\n *&a:class A *=n$1 [line 23]\n REMOVE_TEMPS(n$1,n$3); [line 23]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -63,7 +63,7 @@ digraph iCFG {
4 -> 9 ; 4 -> 9 ;
3 [label="3: Return Stmt \n n$1=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 25]\n n$2=_fun_A_init(n$1:class A *) virtual [line 25]\n *&return:class A *=n$2 [line 25]\n n$3=_fun___set_autorelease_attribute(n$2:class A *) [line 25]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"] 3 [label="3: Return Stmt \n n$1=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 25]\n n$2=_fun_A_init(n$1:class A *) virtual [line 25]\n *&return:class A *=n$2 [line 25]\n n$3=_fun___set_autorelease_attribute(n$2:class A *) [line 25]\n REMOVE_TEMPS(n$1,n$2,n$3); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
5 [label="5: DeclStmt \n n$2=_fun___objc_alloc_no_fail(sizeof(class Bicycle ):class Bicycle *) [line 15]\n *&bike:class Bicycle *=n$2 [line 15]\n REMOVE_TEMPS(n$2); [line 15]\n " shape="box"] 5 [label="5: DeclStmt \n n$2=_fun___objc_alloc_no_fail(sizeof(class Bicycle ):unsigned long ) [line 15]\n *&bike:class Bicycle *=n$2 [line 15]\n REMOVE_TEMPS(n$2); [line 15]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -18,7 +18,7 @@ digraph iCFG {
8 -> 12 ; 8 -> 12 ;
7 [label="7: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1); [line 21]\n n$6=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1 ):class __objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1 *) [line 21]\n *&__objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1:class __objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1 =n$6 [line 21]\n *&addBlock:_fn_ (*)=(_fun___objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1) [line 21]\n REMOVE_TEMPS(n$6); [line 21]\n " shape="box"] 7 [label="7: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1); [line 21]\n n$6=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1 ):unsigned long ) [line 21]\n *&__objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1:class __objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1 =n$6 [line 21]\n *&addBlock:_fn_ (*)=(_fun___objc_anonymous_block_BlockVar_navigateToURLInBackground:resolver:______1) [line 21]\n REMOVE_TEMPS(n$6); [line 21]\n " shape="box"]
7 -> 6 ; 7 -> 6 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
52 [label="52: DeclStmt \n n$47=_fun___objc_alloc_no_fail(sizeof(class NSArray ):class NSArray *) [line 30]\n n$45=_fun_NSArray_init(n$47:class NSArray *) virtual [line 30]\n *&a:class NSArray *=n$45 [line 30]\n REMOVE_TEMPS(n$45,n$47); [line 30]\n " shape="box"] 52 [label="52: DeclStmt \n n$47=_fun___objc_alloc_no_fail(sizeof(class NSArray ):unsigned long ) [line 30]\n n$45=_fun_NSArray_init(n$47:class NSArray *) virtual [line 30]\n *&a:class NSArray *=n$45 [line 30]\n REMOVE_TEMPS(n$45,n$47); [line 30]\n " shape="box"]
52 -> 51 ; 52 -> 51 ;
@ -31,7 +31,7 @@ digraph iCFG {
45 -> 48 ; 45 -> 48 ;
45 -> 49 ; 45 -> 49 ;
44 [label="44: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_MyBlock_array_trans______2); [line 35]\n n$43=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_MyBlock_array_trans______2 ):class __objc_anonymous_block_MyBlock_array_trans______2 *) [line 35]\n *&__objc_anonymous_block_MyBlock_array_trans______2:class __objc_anonymous_block_MyBlock_array_trans______2 =n$43 [line 35]\n *&enumerateObjectsUsingBlock:_fn_ (*)=(_fun___objc_anonymous_block_MyBlock_array_trans______2) [line 35]\n REMOVE_TEMPS(n$43); [line 35]\n " shape="box"] 44 [label="44: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_MyBlock_array_trans______2); [line 35]\n n$43=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_MyBlock_array_trans______2 ):unsigned long ) [line 35]\n *&__objc_anonymous_block_MyBlock_array_trans______2:class __objc_anonymous_block_MyBlock_array_trans______2 =n$43 [line 35]\n *&enumerateObjectsUsingBlock:_fn_ (*)=(_fun___objc_anonymous_block_MyBlock_array_trans______2) [line 35]\n REMOVE_TEMPS(n$43); [line 35]\n " shape="box"]
44 -> 43 ; 44 -> 43 ;
@ -104,7 +104,7 @@ digraph iCFG {
27 -> 52 ; 27 -> 52 ;
26 [label="26: DeclStmt \n n$24=_fun___objc_alloc_no_fail(sizeof(class NSArray ):class NSArray *) [line 14]\n n$22=_fun_NSArray_init(n$24:class NSArray *) virtual [line 14]\n *&a:class NSArray *=n$22 [line 14]\n REMOVE_TEMPS(n$22,n$24); [line 14]\n " shape="box"] 26 [label="26: DeclStmt \n n$24=_fun___objc_alloc_no_fail(sizeof(class NSArray ):unsigned long ) [line 14]\n n$22=_fun_NSArray_init(n$24:class NSArray *) virtual [line 14]\n *&a:class NSArray *=n$22 [line 14]\n REMOVE_TEMPS(n$22,n$24); [line 14]\n " shape="box"]
26 -> 25 ; 26 -> 25 ;
@ -136,7 +136,7 @@ digraph iCFG {
19 -> 22 ; 19 -> 22 ;
19 -> 23 ; 19 -> 23 ;
18 [label="18: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_MyBlock_array______1); [line 15]\n n$20=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_MyBlock_array______1 ):class __objc_anonymous_block_MyBlock_array______1 *) [line 15]\n *&__objc_anonymous_block_MyBlock_array______1:class __objc_anonymous_block_MyBlock_array______1 =n$20 [line 15]\n *&infer___objc_anonymous_block_MyBlock_array______1:_fn_ (*)=(_fun___objc_anonymous_block_MyBlock_array______1) [line 15]\n REMOVE_TEMPS(n$20); [line 15]\n " shape="box"] 18 [label="18: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_MyBlock_array______1); [line 15]\n n$20=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_MyBlock_array______1 ):unsigned long ) [line 15]\n *&__objc_anonymous_block_MyBlock_array______1:class __objc_anonymous_block_MyBlock_array______1 =n$20 [line 15]\n *&infer___objc_anonymous_block_MyBlock_array______1:_fn_ (*)=(_fun___objc_anonymous_block_MyBlock_array______1) [line 15]\n REMOVE_TEMPS(n$20); [line 15]\n " shape="box"]
18 -> 17 ; 18 -> 17 ;

@ -18,7 +18,7 @@ digraph iCFG {
21 -> 20 ; 21 -> 20 ;
20 [label="20: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_main1______2); [line 19]\n n$25=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_main1______2 ):class __objc_anonymous_block_main1______2 *) [line 19]\n *&__objc_anonymous_block_main1______2:class __objc_anonymous_block_main1______2 =n$25 [line 19]\n n$26=*&x:int [line 19]\n *n$25.x:int =n$26 [line 19]\n n$10=*&x:int [line 19]\n *&addblock:_fn_ (*)=(_fun___objc_anonymous_block_main1______2,n$10) [line 19]\n REMOVE_TEMPS(n$25,n$26,n$10); [line 19]\n " shape="box"] 20 [label="20: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_main1______2); [line 19]\n n$25=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_main1______2 ):unsigned long ) [line 19]\n *&__objc_anonymous_block_main1______2:class __objc_anonymous_block_main1______2 =n$25 [line 19]\n n$26=*&x:int [line 19]\n *n$25.x:int =n$26 [line 19]\n n$10=*&x:int [line 19]\n *&addblock:_fn_ (*)=(_fun___objc_anonymous_block_main1______2,n$10) [line 19]\n REMOVE_TEMPS(n$25,n$26,n$10); [line 19]\n " shape="box"]
20 -> 10 ; 20 -> 10 ;
@ -26,7 +26,7 @@ digraph iCFG {
19 -> 18 ; 19 -> 18 ;
18 [label="18: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block___objc_anonymous_block_main1______2______3); [line 25]\n n$22=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block___objc_anonymous_block_main1______2______3 ):class __objc_anonymous_block___objc_anonymous_block_main1______2______3 *) [line 25]\n *&__objc_anonymous_block___objc_anonymous_block_main1______2______3:class __objc_anonymous_block___objc_anonymous_block_main1______2______3 =n$22 [line 25]\n n$23=*&x:int [line 25]\n n$24=*&bla:int [line 25]\n *n$22.bla:int =n$23 [line 25]\n *n$22.x:int =n$24 [line 25]\n n$16=*&x:int [line 25]\n n$17=*&bla:int [line 25]\n *&addblock2:_fn_ (*)=(_fun___objc_anonymous_block___objc_anonymous_block_main1______2______3,n$16,n$17) [line 25]\n REMOVE_TEMPS(n$22,n$23,n$24,n$16,n$17); [line 25]\n " shape="box"] 18 [label="18: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block___objc_anonymous_block_main1______2______3); [line 25]\n n$22=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block___objc_anonymous_block_main1______2______3 ):unsigned long ) [line 25]\n *&__objc_anonymous_block___objc_anonymous_block_main1______2______3:class __objc_anonymous_block___objc_anonymous_block_main1______2______3 =n$22 [line 25]\n n$23=*&x:int [line 25]\n n$24=*&bla:int [line 25]\n *n$22.bla:int =n$23 [line 25]\n *n$22.x:int =n$24 [line 25]\n n$16=*&x:int [line 25]\n n$17=*&bla:int [line 25]\n *&addblock2:_fn_ (*)=(_fun___objc_anonymous_block___objc_anonymous_block_main1______2______3,n$16,n$17) [line 25]\n REMOVE_TEMPS(n$22,n$23,n$24,n$16,n$17); [line 25]\n " shape="box"]
18 -> 14 ; 18 -> 14 ;
@ -60,7 +60,7 @@ digraph iCFG {
10 -> 9 ; 10 -> 9 ;
9 [label="9: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_main1______1); [line 36]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_main1______1 ):class __objc_anonymous_block_main1______1 *) [line 36]\n *&__objc_anonymous_block_main1______1:class __objc_anonymous_block_main1______1 =n$7 [line 36]\n *&addblock:_fn_ (*)=(_fun___objc_anonymous_block_main1______1) [line 36]\n REMOVE_TEMPS(n$7); [line 36]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_main1______1); [line 36]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_main1______1 ):unsigned long ) [line 36]\n *&__objc_anonymous_block_main1______1:class __objc_anonymous_block_main1______1 =n$7 [line 36]\n *&addblock:_fn_ (*)=(_fun___objc_anonymous_block_main1______1) [line 36]\n REMOVE_TEMPS(n$7); [line 36]\n " shape="box"]
9 -> 5 ; 9 -> 5 ;

@ -7,7 +7,7 @@ digraph iCFG {
9 -> 8 ; 9 -> 8 ;
8 [label="8: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_My_manager_my_mehtod______1); [line 26]\n n$4=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_My_manager_my_mehtod______1 ):class __objc_anonymous_block_My_manager_my_mehtod______1 *) [line 26]\n *&__objc_anonymous_block_My_manager_my_mehtod______1:class __objc_anonymous_block_My_manager_my_mehtod______1 =n$4 [line 26]\n n$5=*&z:int [line 26]\n *n$4.z:int =n$5 [line 26]\n n$2=*&z:int [line 26]\n *&b:_fn_ (*)=(_fun___objc_anonymous_block_My_manager_my_mehtod______1,n$2) [line 26]\n REMOVE_TEMPS(n$4,n$5,n$2); [line 26]\n " shape="box"] 8 [label="8: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_My_manager_my_mehtod______1); [line 26]\n n$4=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_My_manager_my_mehtod______1 ):unsigned long ) [line 26]\n *&__objc_anonymous_block_My_manager_my_mehtod______1:class __objc_anonymous_block_My_manager_my_mehtod______1 =n$4 [line 26]\n n$5=*&z:int [line 26]\n *n$4.z:int =n$5 [line 26]\n n$2=*&z:int [line 26]\n *&b:_fn_ (*)=(_fun___objc_anonymous_block_My_manager_my_mehtod______1,n$2) [line 26]\n REMOVE_TEMPS(n$4,n$5,n$2); [line 26]\n " shape="box"]
8 -> 4 ; 8 -> 4 ;

@ -15,7 +15,7 @@ digraph iCFG {
16 -> 15 ; 16 -> 15 ;
15 [label="15: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_My_manager_my_mehtod______1); [line 29]\n n$8=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_My_manager_my_mehtod______1 ):class __objc_anonymous_block_My_manager_my_mehtod______1 *) [line 29]\n *&__objc_anonymous_block_My_manager_my_mehtod______1:class __objc_anonymous_block_My_manager_my_mehtod______1 =n$8 [line 29]\n n$9=*&newImage:struct CGImage * [line 29]\n *n$8.newImage:struct CGImage *=n$9 [line 29]\n n$5=*&newImage:struct CGImage * [line 29]\n *&b:_fn_ (*)=(_fun___objc_anonymous_block_My_manager_my_mehtod______1,n$5) [line 29]\n REMOVE_TEMPS(n$8,n$9,n$5); [line 29]\n " shape="box"] 15 [label="15: BinaryOperatorStmt: Assign \n DECLARE_LOCALS(&__objc_anonymous_block_My_manager_my_mehtod______1); [line 29]\n n$8=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_My_manager_my_mehtod______1 ):unsigned long ) [line 29]\n *&__objc_anonymous_block_My_manager_my_mehtod______1:class __objc_anonymous_block_My_manager_my_mehtod______1 =n$8 [line 29]\n n$9=*&newImage:struct CGImage * [line 29]\n *n$8.newImage:struct CGImage *=n$9 [line 29]\n n$5=*&newImage:struct CGImage * [line 29]\n *&b:_fn_ (*)=(_fun___objc_anonymous_block_My_manager_my_mehtod______1,n$5) [line 29]\n REMOVE_TEMPS(n$8,n$9,n$5); [line 29]\n " shape="box"]
15 -> 8 ; 15 -> 8 ;

@ -40,7 +40,7 @@ digraph iCFG {
17 -> 19 ; 17 -> 19 ;
16 [label="16: BinaryOperatorStmt: Assign \n n$11=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 41]\n n$9=_fun_A_init(n$11:class A *) virtual [line 41]\n *&#GB$A_trans_SI_sharedInstance:struct objc_object *=n$9 [line 41]\n REMOVE_TEMPS(n$9,n$11); [line 41]\n APPLY_ABSTRACTION; [line 41]\n " shape="box"] 16 [label="16: BinaryOperatorStmt: Assign \n n$11=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 41]\n n$9=_fun_A_init(n$11:class A *) virtual [line 41]\n *&#GB$A_trans_SI_sharedInstance:struct objc_object *=n$9 [line 41]\n REMOVE_TEMPS(n$9,n$11); [line 41]\n APPLY_ABSTRACTION; [line 41]\n " shape="box"]
16 -> 15 ; 16 -> 15 ;
@ -51,7 +51,7 @@ digraph iCFG {
14 -> 16 ; 14 -> 16 ;
13 [label="13: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_A_trans_SI______2); [line 40]\n n$12=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_trans_SI______2 ):class __objc_anonymous_block_A_trans_SI______2 *) [line 40]\n *&__objc_anonymous_block_A_trans_SI______2:class __objc_anonymous_block_A_trans_SI______2 =n$12 [line 40]\n *&dummy_block:_fn_ (*)=(_fun___objc_anonymous_block_A_trans_SI______2) [line 40]\n REMOVE_TEMPS(n$12); [line 40]\n " shape="box"] 13 [label="13: DeclStmt \n DECLARE_LOCALS(&__objc_anonymous_block_A_trans_SI______2); [line 40]\n n$12=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_trans_SI______2 ):unsigned long ) [line 40]\n *&__objc_anonymous_block_A_trans_SI______2:class __objc_anonymous_block_A_trans_SI______2 =n$12 [line 40]\n *&dummy_block:_fn_ (*)=(_fun___objc_anonymous_block_A_trans_SI______2) [line 40]\n REMOVE_TEMPS(n$12); [line 40]\n " shape="box"]
13 -> 12 ; 13 -> 12 ;
@ -70,7 +70,7 @@ digraph iCFG {
9 -> 13 ; 9 -> 13 ;
8 [label="8: BinaryOperatorStmt: Assign \n n$5=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 29]\n n$3=_fun_A_init(n$5:class A *) virtual [line 29]\n *&#GB$A_sharedInstance_sharedInstance:struct objc_object *=n$3 [line 29]\n REMOVE_TEMPS(n$3,n$5); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"] 8 [label="8: BinaryOperatorStmt: Assign \n n$5=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 29]\n n$3=_fun_A_init(n$5:class A *) virtual [line 29]\n *&#GB$A_sharedInstance_sharedInstance:struct objc_object *=n$3 [line 29]\n REMOVE_TEMPS(n$3,n$5); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
@ -81,7 +81,7 @@ digraph iCFG {
6 -> 8 ; 6 -> 8 ;
5 [label="5: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_sharedInstance______1); [line 30]\n DECLARE_LOCALS(&__objc_anonymous_block_A_sharedInstance______1); [line 28]\n n$6=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_sharedInstance______1 ):class __objc_anonymous_block_A_sharedInstance______1 *) [line 28]\n *&__objc_anonymous_block_A_sharedInstance______1:class __objc_anonymous_block_A_sharedInstance______1 =n$6 [line 28]\n *&infer___objc_anonymous_block_A_sharedInstance______1:_fn_ (*)=(_fun___objc_anonymous_block_A_sharedInstance______1) [line 30]\n REMOVE_TEMPS(n$6); [line 30]\n " shape="box"] 5 [label="5: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_sharedInstance______1); [line 30]\n DECLARE_LOCALS(&__objc_anonymous_block_A_sharedInstance______1); [line 28]\n n$6=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_sharedInstance______1 ):unsigned long ) [line 28]\n *&__objc_anonymous_block_A_sharedInstance______1:class __objc_anonymous_block_A_sharedInstance______1 =n$6 [line 28]\n *&infer___objc_anonymous_block_A_sharedInstance______1:_fn_ (*)=(_fun___objc_anonymous_block_A_sharedInstance______1) [line 30]\n REMOVE_TEMPS(n$6); [line 30]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -3,7 +3,7 @@ digraph iCFG {
60 -> 55 ; 60 -> 55 ;
59 [label="59: BinaryOperatorStmt: Assign \n n$52=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 71]\n n$50=_fun_A_init(n$52:class A *) virtual [line 71]\n *&#GB$A_dispatch_barrier_example_a:class A *=n$50 [line 71]\n REMOVE_TEMPS(n$50,n$52); [line 71]\n " shape="box"] 59 [label="59: BinaryOperatorStmt: Assign \n n$52=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 71]\n n$50=_fun_A_init(n$52:class A *) virtual [line 71]\n *&#GB$A_dispatch_barrier_example_a:class A *=n$50 [line 71]\n REMOVE_TEMPS(n$50,n$52); [line 71]\n " shape="box"]
59 -> 58 ; 59 -> 58 ;
@ -18,7 +18,7 @@ digraph iCFG {
56 -> 59 ; 56 -> 59 ;
55 [label="55: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_barrier_example______6); [line 70]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_barrier_example______6); [line 70]\n n$53=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_barrier_example______6 ):class __objc_anonymous_block_A_dispatch_barrier_example______6 *) [line 70]\n *&__objc_anonymous_block_A_dispatch_barrier_example______6:class __objc_anonymous_block_A_dispatch_barrier_example______6 =n$53 [line 70]\n *&infer___objc_anonymous_block_A_dispatch_barrier_example______6:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_barrier_example______6) [line 70]\n REMOVE_TEMPS(n$53); [line 70]\n " shape="box"] 55 [label="55: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_barrier_example______6); [line 70]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_barrier_example______6); [line 70]\n n$53=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_barrier_example______6 ):unsigned long ) [line 70]\n *&__objc_anonymous_block_A_dispatch_barrier_example______6:class __objc_anonymous_block_A_dispatch_barrier_example______6 =n$53 [line 70]\n *&infer___objc_anonymous_block_A_dispatch_barrier_example______6:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_barrier_example______6) [line 70]\n REMOVE_TEMPS(n$53); [line 70]\n " shape="box"]
55 -> 54 ; 55 -> 54 ;
@ -41,7 +41,7 @@ digraph iCFG {
50 -> 45 ; 50 -> 45 ;
49 [label="49: BinaryOperatorStmt: Assign \n n$43=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 62]\n n$41=_fun_A_init(n$43:class A *) virtual [line 62]\n *&#GB$A_dispatch_group_notify_example_a:class A *=n$41 [line 62]\n REMOVE_TEMPS(n$41,n$43); [line 62]\n " shape="box"] 49 [label="49: BinaryOperatorStmt: Assign \n n$43=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 62]\n n$41=_fun_A_init(n$43:class A *) virtual [line 62]\n *&#GB$A_dispatch_group_notify_example_a:class A *=n$41 [line 62]\n REMOVE_TEMPS(n$41,n$43); [line 62]\n " shape="box"]
49 -> 48 ; 49 -> 48 ;
@ -56,7 +56,7 @@ digraph iCFG {
46 -> 49 ; 46 -> 49 ;
45 [label="45: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_group_notify_example______5); [line 61]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_group_notify_example______5); [line 61]\n n$44=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_group_notify_example______5 ):class __objc_anonymous_block_A_dispatch_group_notify_example______5 *) [line 61]\n *&__objc_anonymous_block_A_dispatch_group_notify_example______5:class __objc_anonymous_block_A_dispatch_group_notify_example______5 =n$44 [line 61]\n *&infer___objc_anonymous_block_A_dispatch_group_notify_example______5:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_group_notify_example______5) [line 61]\n REMOVE_TEMPS(n$44); [line 61]\n " shape="box"] 45 [label="45: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_group_notify_example______5); [line 61]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_group_notify_example______5); [line 61]\n n$44=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_group_notify_example______5 ):unsigned long ) [line 61]\n *&__objc_anonymous_block_A_dispatch_group_notify_example______5:class __objc_anonymous_block_A_dispatch_group_notify_example______5 =n$44 [line 61]\n *&infer___objc_anonymous_block_A_dispatch_group_notify_example______5:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_group_notify_example______5) [line 61]\n REMOVE_TEMPS(n$44); [line 61]\n " shape="box"]
45 -> 44 ; 45 -> 44 ;
@ -79,7 +79,7 @@ digraph iCFG {
40 -> 35 ; 40 -> 35 ;
39 [label="39: BinaryOperatorStmt: Assign \n n$34=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 53]\n n$32=_fun_A_init(n$34:class A *) virtual [line 53]\n *&#GB$A_dispatch_group_example_a:class A *=n$32 [line 53]\n REMOVE_TEMPS(n$32,n$34); [line 53]\n " shape="box"] 39 [label="39: BinaryOperatorStmt: Assign \n n$34=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 53]\n n$32=_fun_A_init(n$34:class A *) virtual [line 53]\n *&#GB$A_dispatch_group_example_a:class A *=n$32 [line 53]\n REMOVE_TEMPS(n$32,n$34); [line 53]\n " shape="box"]
39 -> 38 ; 39 -> 38 ;
@ -94,7 +94,7 @@ digraph iCFG {
36 -> 39 ; 36 -> 39 ;
35 [label="35: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_group_example______4); [line 52]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_group_example______4); [line 52]\n n$35=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_group_example______4 ):class __objc_anonymous_block_A_dispatch_group_example______4 *) [line 52]\n *&__objc_anonymous_block_A_dispatch_group_example______4:class __objc_anonymous_block_A_dispatch_group_example______4 =n$35 [line 52]\n *&infer___objc_anonymous_block_A_dispatch_group_example______4:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_group_example______4) [line 52]\n REMOVE_TEMPS(n$35); [line 52]\n " shape="box"] 35 [label="35: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_group_example______4); [line 52]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_group_example______4); [line 52]\n n$35=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_group_example______4 ):unsigned long ) [line 52]\n *&__objc_anonymous_block_A_dispatch_group_example______4:class __objc_anonymous_block_A_dispatch_group_example______4 =n$35 [line 52]\n *&infer___objc_anonymous_block_A_dispatch_group_example______4:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_group_example______4) [line 52]\n REMOVE_TEMPS(n$35); [line 52]\n " shape="box"]
35 -> 34 ; 35 -> 34 ;
@ -117,7 +117,7 @@ digraph iCFG {
30 -> 25 ; 30 -> 25 ;
29 [label="29: BinaryOperatorStmt: Assign \n n$25=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 44]\n n$23=_fun_A_init(n$25:class A *) virtual [line 44]\n *&#GB$A_dispatch_after_example_a:class A *=n$23 [line 44]\n REMOVE_TEMPS(n$23,n$25); [line 44]\n " shape="box"] 29 [label="29: BinaryOperatorStmt: Assign \n n$25=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 44]\n n$23=_fun_A_init(n$25:class A *) virtual [line 44]\n *&#GB$A_dispatch_after_example_a:class A *=n$23 [line 44]\n REMOVE_TEMPS(n$23,n$25); [line 44]\n " shape="box"]
29 -> 28 ; 29 -> 28 ;
@ -132,7 +132,7 @@ digraph iCFG {
26 -> 29 ; 26 -> 29 ;
25 [label="25: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_after_example______3); [line 42]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_after_example______3); [line 43]\n n$26=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_after_example______3 ):class __objc_anonymous_block_A_dispatch_after_example______3 *) [line 43]\n *&__objc_anonymous_block_A_dispatch_after_example______3:class __objc_anonymous_block_A_dispatch_after_example______3 =n$26 [line 43]\n *&infer___objc_anonymous_block_A_dispatch_after_example______3:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_after_example______3) [line 42]\n REMOVE_TEMPS(n$26); [line 42]\n " shape="box"] 25 [label="25: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_after_example______3); [line 42]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_after_example______3); [line 43]\n n$26=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_after_example______3 ):unsigned long ) [line 43]\n *&__objc_anonymous_block_A_dispatch_after_example______3:class __objc_anonymous_block_A_dispatch_after_example______3 =n$26 [line 43]\n *&infer___objc_anonymous_block_A_dispatch_after_example______3:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_after_example______3) [line 42]\n REMOVE_TEMPS(n$26); [line 42]\n " shape="box"]
25 -> 24 ; 25 -> 24 ;
@ -155,7 +155,7 @@ digraph iCFG {
20 -> 15 ; 20 -> 15 ;
19 [label="19: BinaryOperatorStmt: Assign \n n$16=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 34]\n n$14=_fun_A_init(n$16:class A *) virtual [line 34]\n *&#GB$A_dispatch_async_example_a:class A *=n$14 [line 34]\n REMOVE_TEMPS(n$14,n$16); [line 34]\n " shape="box"] 19 [label="19: BinaryOperatorStmt: Assign \n n$16=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 34]\n n$14=_fun_A_init(n$16:class A *) virtual [line 34]\n *&#GB$A_dispatch_async_example_a:class A *=n$14 [line 34]\n REMOVE_TEMPS(n$14,n$16); [line 34]\n " shape="box"]
19 -> 18 ; 19 -> 18 ;
@ -170,7 +170,7 @@ digraph iCFG {
16 -> 19 ; 16 -> 19 ;
15 [label="15: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_async_example______2); [line 33]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_async_example______2); [line 33]\n n$17=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_async_example______2 ):class __objc_anonymous_block_A_dispatch_async_example______2 *) [line 33]\n *&__objc_anonymous_block_A_dispatch_async_example______2:class __objc_anonymous_block_A_dispatch_async_example______2 =n$17 [line 33]\n *&infer___objc_anonymous_block_A_dispatch_async_example______2:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_async_example______2) [line 33]\n REMOVE_TEMPS(n$17); [line 33]\n " shape="box"] 15 [label="15: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_async_example______2); [line 33]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_async_example______2); [line 33]\n n$17=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_async_example______2 ):unsigned long ) [line 33]\n *&__objc_anonymous_block_A_dispatch_async_example______2:class __objc_anonymous_block_A_dispatch_async_example______2 =n$17 [line 33]\n *&infer___objc_anonymous_block_A_dispatch_async_example______2:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_async_example______2) [line 33]\n REMOVE_TEMPS(n$17); [line 33]\n " shape="box"]
15 -> 14 ; 15 -> 14 ;
@ -193,7 +193,7 @@ digraph iCFG {
10 -> 5 ; 10 -> 5 ;
9 [label="9: BinaryOperatorStmt: Assign \n n$7=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 25]\n n$5=_fun_A_init(n$7:class A *) virtual [line 25]\n *&#GB$A_dispatch_once_example_a:class A *=n$5 [line 25]\n REMOVE_TEMPS(n$5,n$7); [line 25]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: Assign \n n$7=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 25]\n n$5=_fun_A_init(n$7:class A *) virtual [line 25]\n *&#GB$A_dispatch_once_example_a:class A *=n$5 [line 25]\n REMOVE_TEMPS(n$5,n$7); [line 25]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;
@ -208,7 +208,7 @@ digraph iCFG {
6 -> 9 ; 6 -> 9 ;
5 [label="5: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_once_example______1); [line 23]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_once_example______1); [line 24]\n n$8=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_once_example______1 ):class __objc_anonymous_block_A_dispatch_once_example______1 *) [line 24]\n *&__objc_anonymous_block_A_dispatch_once_example______1:class __objc_anonymous_block_A_dispatch_once_example______1 =n$8 [line 24]\n *&infer___objc_anonymous_block_A_dispatch_once_example______1:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_once_example______1) [line 23]\n REMOVE_TEMPS(n$8); [line 23]\n " shape="box"] 5 [label="5: DeclStmt \n DECLARE_LOCALS(&infer___objc_anonymous_block_A_dispatch_once_example______1); [line 23]\n DECLARE_LOCALS(&__objc_anonymous_block_A_dispatch_once_example______1); [line 24]\n n$8=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_dispatch_once_example______1 ):unsigned long ) [line 24]\n *&__objc_anonymous_block_A_dispatch_once_example______1:class __objc_anonymous_block_A_dispatch_once_example______1 =n$8 [line 24]\n *&infer___objc_anonymous_block_A_dispatch_once_example______1:_fn_ (*)=(_fun___objc_anonymous_block_A_dispatch_once_example______1) [line 23]\n REMOVE_TEMPS(n$8); [line 23]\n " shape="box"]
5 -> 4 ; 5 -> 4 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
19 [label="19: DeclStmt \n n$18=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 68]\n *&a:class A *=n$18 [line 68]\n REMOVE_TEMPS(n$18); [line 68]\n " shape="box"] 19 [label="19: DeclStmt \n n$18=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 68]\n *&a:class A *=n$18 [line 68]\n REMOVE_TEMPS(n$18); [line 68]\n " shape="box"]
19 -> 18 ; 19 -> 18 ;
@ -33,11 +33,11 @@ digraph iCFG {
11 -> 14 ; 11 -> 14 ;
10 [label="10: BinaryOperatorStmt: Assign \n n$10=*&self:class A * [line 50]\n n$12=_fun___objc_alloc_no_fail(sizeof(class B ):class B *) [line 50]\n *n$10._b:class B *=n$12 [line 50]\n REMOVE_TEMPS(n$10,n$12); [line 50]\n " shape="box"] 10 [label="10: BinaryOperatorStmt: Assign \n n$10=*&self:class A * [line 50]\n n$12=_fun___objc_alloc_no_fail(sizeof(class B ):unsigned long ) [line 50]\n *n$10._b:class B *=n$12 [line 50]\n REMOVE_TEMPS(n$10,n$12); [line 50]\n " shape="box"]
10 -> 9 ; 10 -> 9 ;
9 [label="9: Message Call: sHandler: \n n$2=*&self:class A * [line 51]\n n$3=*n$2._b:class B * [line 51]\n DECLARE_LOCALS(&__objc_anonymous_block_A_capture______1); [line 51]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_capture______1 ):class __objc_anonymous_block_A_capture______1 *) [line 51]\n *&__objc_anonymous_block_A_capture______1:class __objc_anonymous_block_A_capture______1 =n$7 [line 51]\n n$8=*&self:class A * [line 51]\n *n$7.self:class A *=n$8 [line 51]\n n$4=*&self:class A * [line 51]\n n$9=*&__objc_anonymous_block_A_capture______1:_fn_ (*) [line 51]\n _fun_B_sHandler:(n$3:class B *,n$9:_fn_ (*),n$4:_fn_ (*)) virtual [line 51]\n REMOVE_TEMPS(n$2,n$3,n$7,n$8,n$4,n$9); [line 51]\n NULLIFY(&__objc_anonymous_block_A_capture______1,true); [line 51]\n NULLIFY(&self,false); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"] 9 [label="9: Message Call: sHandler: \n n$2=*&self:class A * [line 51]\n n$3=*n$2._b:class B * [line 51]\n DECLARE_LOCALS(&__objc_anonymous_block_A_capture______1); [line 51]\n n$7=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_capture______1 ):unsigned long ) [line 51]\n *&__objc_anonymous_block_A_capture______1:class __objc_anonymous_block_A_capture______1 =n$7 [line 51]\n n$8=*&self:class A * [line 51]\n *n$7.self:class A *=n$8 [line 51]\n n$4=*&self:class A * [line 51]\n n$9=*&__objc_anonymous_block_A_capture______1:_fn_ (*) [line 51]\n _fun_B_sHandler:(n$3:class B *,n$9:_fn_ (*),n$4:_fn_ (*)) virtual [line 51]\n REMOVE_TEMPS(n$2,n$3,n$7,n$8,n$4,n$9); [line 51]\n NULLIFY(&__objc_anonymous_block_A_capture______1,true); [line 51]\n NULLIFY(&self,false); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"]
9 -> 5 ; 9 -> 5 ;

@ -10,7 +10,7 @@ digraph iCFG {
29 -> 31 ; 29 -> 31 ;
28 [label="28: Call (_fun___objc_anonymous_block_A_test3______4) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test3______4); [line 59]\n n$17=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test3______4 ):class __objc_anonymous_block_A_test3______4 *) [line 59]\n *&__objc_anonymous_block_A_test3______4:class __objc_anonymous_block_A_test3______4 =n$17 [line 59]\n (_fun___objc_anonymous_block_A_test3______4)() [line 59]\n REMOVE_TEMPS(n$17); [line 59]\n " shape="box"] 28 [label="28: Call (_fun___objc_anonymous_block_A_test3______4) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test3______4); [line 59]\n n$17=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test3______4 ):unsigned long ) [line 59]\n *&__objc_anonymous_block_A_test3______4:class __objc_anonymous_block_A_test3______4 =n$17 [line 59]\n (_fun___objc_anonymous_block_A_test3______4)() [line 59]\n REMOVE_TEMPS(n$17); [line 59]\n " shape="box"]
28 -> 24 ; 28 -> 24 ;
@ -36,11 +36,11 @@ digraph iCFG {
22 -> 28 ; 22 -> 28 ;
21 [label="21: BinaryOperatorStmt: Assign \n n$14=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 43]\n n$12=_fun_A_init(n$14:class A *) virtual [line 43]\n *&#GB$A_test2_sharedInstance:struct objc_object *=n$12 [line 43]\n REMOVE_TEMPS(n$12,n$14); [line 43]\n " shape="box"] 21 [label="21: BinaryOperatorStmt: Assign \n n$14=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 43]\n n$12=_fun_A_init(n$14:class A *) virtual [line 43]\n *&#GB$A_test2_sharedInstance:struct objc_object *=n$12 [line 43]\n REMOVE_TEMPS(n$12,n$14); [line 43]\n " shape="box"]
21 -> 20 ; 21 -> 20 ;
20 [label="20: Call (_fun___objc_anonymous_block_A_test2______3) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test2______3); [line 44]\n n$11=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test2______3 ):class __objc_anonymous_block_A_test2______3 *) [line 44]\n *&__objc_anonymous_block_A_test2______3:class __objc_anonymous_block_A_test2______3 =n$11 [line 44]\n (_fun___objc_anonymous_block_A_test2______3)() [line 44]\n REMOVE_TEMPS(n$11); [line 44]\n " shape="box"] 20 [label="20: Call (_fun___objc_anonymous_block_A_test2______3) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test2______3); [line 44]\n n$11=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test2______3 ):unsigned long ) [line 44]\n *&__objc_anonymous_block_A_test2______3:class __objc_anonymous_block_A_test2______3 =n$11 [line 44]\n (_fun___objc_anonymous_block_A_test2______3)() [line 44]\n REMOVE_TEMPS(n$11); [line 44]\n " shape="box"]
20 -> 16 ; 20 -> 16 ;
@ -66,11 +66,11 @@ digraph iCFG {
14 -> 21 ; 14 -> 21 ;
13 [label="13: Call (_fun___objc_anonymous_block_A_test_leak______2) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test_leak______2); [line 32]\n n$8=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test_leak______2 ):class __objc_anonymous_block_A_test_leak______2 *) [line 32]\n *&__objc_anonymous_block_A_test_leak______2:class __objc_anonymous_block_A_test_leak______2 =n$8 [line 32]\n (_fun___objc_anonymous_block_A_test_leak______2)() [line 32]\n REMOVE_TEMPS(n$8); [line 32]\n NULLIFY(&__objc_anonymous_block_A_test_leak______2,true); [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"] 13 [label="13: Call (_fun___objc_anonymous_block_A_test_leak______2) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test_leak______2); [line 32]\n n$8=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test_leak______2 ):unsigned long ) [line 32]\n *&__objc_anonymous_block_A_test_leak______2:class __objc_anonymous_block_A_test_leak______2 =n$8 [line 32]\n (_fun___objc_anonymous_block_A_test_leak______2)() [line 32]\n REMOVE_TEMPS(n$8); [line 32]\n NULLIFY(&__objc_anonymous_block_A_test_leak______2,true); [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"]
13 -> 9 ; 13 -> 9 ;
12 [label="12: BinaryOperatorStmt: Assign \n n$7=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 33]\n n$5=_fun_A_init(n$7:class A *) virtual [line 33]\n *&#GB$A_test_leak_sharedInstance:struct objc_object *=n$5 [line 33]\n REMOVE_TEMPS(n$5,n$7); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"] 12 [label="12: BinaryOperatorStmt: Assign \n n$7=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 33]\n n$5=_fun_A_init(n$7:class A *) virtual [line 33]\n *&#GB$A_test_leak_sharedInstance:struct objc_object *=n$5 [line 33]\n REMOVE_TEMPS(n$5,n$7); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
12 -> 11 ; 12 -> 11 ;
@ -88,11 +88,11 @@ digraph iCFG {
8 -> 13 ; 8 -> 13 ;
7 [label="7: Call (_fun___objc_anonymous_block_A_test______1) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test______1); [line 21]\n n$4=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test______1 ):class __objc_anonymous_block_A_test______1 *) [line 21]\n *&__objc_anonymous_block_A_test______1:class __objc_anonymous_block_A_test______1 =n$4 [line 21]\n (_fun___objc_anonymous_block_A_test______1)() [line 21]\n REMOVE_TEMPS(n$4); [line 21]\n " shape="box"] 7 [label="7: Call (_fun___objc_anonymous_block_A_test______1) \n DECLARE_LOCALS(&__objc_anonymous_block_A_test______1); [line 21]\n n$4=_fun___objc_alloc_no_fail(sizeof(class __objc_anonymous_block_A_test______1 ):unsigned long ) [line 21]\n *&__objc_anonymous_block_A_test______1:class __objc_anonymous_block_A_test______1 =n$4 [line 21]\n (_fun___objc_anonymous_block_A_test______1)() [line 21]\n REMOVE_TEMPS(n$4); [line 21]\n " shape="box"]
7 -> 3 ; 7 -> 3 ;
6 [label="6: BinaryOperatorStmt: Assign \n n$3=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 22]\n n$1=_fun_A_init(n$3:class A *) virtual [line 22]\n *&#GB$A_test_sharedInstance:struct objc_object *=n$1 [line 22]\n REMOVE_TEMPS(n$1,n$3); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"] 6 [label="6: BinaryOperatorStmt: Assign \n n$3=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 22]\n n$1=_fun_A_init(n$3:class A *) virtual [line 22]\n *&#GB$A_test_sharedInstance:struct objc_object *=n$1 [line 22]\n REMOVE_TEMPS(n$1,n$3); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
11 [label="11: DeclStmt \n n$9=_fun___objc_alloc_no_fail(sizeof(class NSString ):class NSString *) [line 31]\n *&s:class NSString *=n$9 [line 31]\n REMOVE_TEMPS(n$9); [line 31]\n " shape="box"] 11 [label="11: DeclStmt \n n$9=_fun___objc_alloc_no_fail(sizeof(class NSString ):unsigned long ) [line 31]\n *&s:class NSString *=n$9 [line 31]\n REMOVE_TEMPS(n$9); [line 31]\n " shape="box"]
11 -> 8 ; 11 -> 8 ;
@ -27,7 +27,7 @@ digraph iCFG {
5 -> 11 ; 5 -> 11 ;
4 [label="4: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class NSString ):class NSString *) [line 21]\n *&s:class NSString *=n$3 [line 21]\n REMOVE_TEMPS(n$3); [line 21]\n NULLIFY(&s,false); [line 21]\n " shape="box"] 4 [label="4: DeclStmt \n n$3=_fun___objc_alloc_no_fail(sizeof(class NSString ):unsigned long ) [line 21]\n *&s:class NSString *=n$3 [line 21]\n REMOVE_TEMPS(n$3); [line 21]\n NULLIFY(&s,false); [line 21]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
39 [label="39: DeclStmt \n n$39=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 39]\n n$37=_fun_A_init(n$39:class A *) virtual [line 39]\n *&a:class A *=n$37 [line 39]\n REMOVE_TEMPS(n$37,n$39); [line 39]\n " shape="box"] 39 [label="39: DeclStmt \n n$39=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 39]\n n$37=_fun_A_init(n$39:class A *) virtual [line 39]\n *&a:class A *=n$37 [line 39]\n REMOVE_TEMPS(n$37,n$39); [line 39]\n " shape="box"]
39 -> 38 ; 39 -> 38 ;
@ -96,7 +96,7 @@ digraph iCFG {
11 -> 13 ; 11 -> 13 ;
10 [label="10: DeclStmt \n n$13=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 27]\n n$11=_fun_A_init(n$13:class A *) virtual [line 27]\n *&other:class A *=n$11 [line 27]\n REMOVE_TEMPS(n$11,n$13); [line 27]\n " shape="box"] 10 [label="10: DeclStmt \n n$13=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 27]\n n$11=_fun_A_init(n$13:class A *) virtual [line 27]\n *&other:class A *=n$11 [line 27]\n REMOVE_TEMPS(n$11,n$13); [line 27]\n " shape="box"]
10 -> 5 ; 10 -> 5 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
6 [label="6: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class Car ):class Car *) [line 13]\n n$4=_fun_Car_init(n$6:class Car *) virtual [line 13]\n *&honda:class Car *=n$4 [line 13]\n REMOVE_TEMPS(n$4,n$6); [line 13]\n " shape="box"] 6 [label="6: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class Car ):unsigned long ) [line 13]\n n$4=_fun_Car_init(n$6:class Car *) virtual [line 13]\n *&honda:class Car *=n$4 [line 13]\n REMOVE_TEMPS(n$4,n$6); [line 13]\n " shape="box"]
6 -> 5 ; 6 -> 5 ;

@ -31,7 +31,7 @@ digraph iCFG {
44 -> 47 ; 44 -> 47 ;
43 [label="43: Return Stmt \n n$22=_fun_NSStringFromClass(sizeof(class A ):class A ) [line 93]\n *&return:class NSString *=n$22 [line 93]\n REMOVE_TEMPS(n$22); [line 93]\n APPLY_ABSTRACTION; [line 93]\n " shape="box"] 43 [label="43: Return Stmt \n n$22=_fun_NSStringFromClass(sizeof(class A ):unsigned long ) [line 93]\n *&return:class NSString *=n$22 [line 93]\n REMOVE_TEMPS(n$22); [line 93]\n APPLY_ABSTRACTION; [line 93]\n " shape="box"]
43 -> 42 ; 43 -> 42 ;
@ -64,7 +64,7 @@ digraph iCFG {
35 -> 37 ; 35 -> 37 ;
34 [label="34: Return Stmt \n n$15=*&object:class B * [line 80]\n n$14=_fun_B_isC:(n$15:class B *,sizeof(class A ):class A ) virtual [line 80]\n *&return:signed char =n$14 [line 80]\n REMOVE_TEMPS(n$14,n$15); [line 80]\n NULLIFY(&object,false); [line 80]\n APPLY_ABSTRACTION; [line 80]\n " shape="box"] 34 [label="34: Return Stmt \n n$15=*&object:class B * [line 80]\n n$14=_fun_B_isC:(n$15:class B *,sizeof(class A ):unsigned long ) virtual [line 80]\n *&return:signed char =n$14 [line 80]\n REMOVE_TEMPS(n$14,n$15); [line 80]\n NULLIFY(&object,false); [line 80]\n APPLY_ABSTRACTION; [line 80]\n " shape="box"]
34 -> 33 ; 34 -> 33 ;
@ -75,7 +75,7 @@ digraph iCFG {
32 -> 34 ; 32 -> 34 ;
31 [label="31: DeclStmt \n n$12=_fun___objc_alloc_no_fail(sizeof(class B ):class B *) [line 75]\n n$13=_fun_B_init(n$12:class B *) virtual [line 75]\n *&b:class B *=n$13 [line 75]\n REMOVE_TEMPS(n$12,n$13); [line 75]\n NULLIFY(&b,false); [line 75]\n " shape="box"] 31 [label="31: DeclStmt \n n$12=_fun___objc_alloc_no_fail(sizeof(class B ):unsigned long ) [line 75]\n n$13=_fun_B_init(n$12:class B *) virtual [line 75]\n *&b:class B *=n$13 [line 75]\n REMOVE_TEMPS(n$12,n$13); [line 75]\n NULLIFY(&b,false); [line 75]\n " shape="box"]
31 -> 30 ; 31 -> 30 ;
@ -112,7 +112,7 @@ digraph iCFG {
22 -> 24 ; 22 -> 24 ;
21 [label="21: Call alloc \n n$6=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 63]\n REMOVE_TEMPS(n$6); [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="box"] 21 [label="21: Call alloc \n n$6=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 63]\n REMOVE_TEMPS(n$6); [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="box"]
21 -> 20 ; 21 -> 20 ;
@ -123,7 +123,7 @@ digraph iCFG {
19 -> 21 ; 19 -> 21 ;
18 [label="18: Call alloc \n n$2=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 59]\n REMOVE_TEMPS(n$2); [line 59]\n APPLY_ABSTRACTION; [line 59]\n " shape="box"] 18 [label="18: Call alloc \n n$2=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 59]\n REMOVE_TEMPS(n$2); [line 59]\n APPLY_ABSTRACTION; [line 59]\n " shape="box"]
18 -> 17 ; 18 -> 17 ;

@ -43,7 +43,7 @@ digraph iCFG {
4 -> 6 ; 4 -> 6 ;
3 [label="3: DeclStmt \n n$1=_fun___objc_alloc_no_fail(sizeof(class MyClass ):class MyClass *) [line 21]\n *&myClass:class MyClass *=n$1 [line 21]\n REMOVE_TEMPS(n$1); [line 21]\n NULLIFY(&myClass,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"] 3 [label="3: DeclStmt \n n$1=_fun___objc_alloc_no_fail(sizeof(class MyClass ):unsigned long ) [line 21]\n *&myClass:class MyClass *=n$1 [line 21]\n REMOVE_TEMPS(n$1); [line 21]\n NULLIFY(&myClass,false); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
3 -> 2 ; 3 -> 2 ;

@ -1,5 +1,5 @@
digraph iCFG { digraph iCFG {
4 [label="4: DeclStmt \n n$2=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 13]\n n$0=_fun_A_init(n$2:class A *) virtual [line 13]\n *&a:class A *=n$0 [line 13]\n REMOVE_TEMPS(n$0,n$2); [line 13]\n NULLIFY(&a,false); [line 13]\n " shape="box"] 4 [label="4: DeclStmt \n n$2=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 13]\n n$0=_fun_A_init(n$2:class A *) virtual [line 13]\n *&a:class A *=n$0 [line 13]\n REMOVE_TEMPS(n$0,n$2); [line 13]\n NULLIFY(&a,false); [line 13]\n " shape="box"]
4 -> 3 ; 4 -> 3 ;

@ -19,7 +19,7 @@ digraph iCFG {
10 -> 9 ; 10 -> 9 ;
9 [label="9: BinaryOperatorStmt: Assign \n n$10=_fun___objc_alloc_no_fail(sizeof(class A ):class A *) [line 29]\n *&aStrongRef:class A *=n$10 [line 29]\n REMOVE_TEMPS(n$10); [line 29]\n " shape="box"] 9 [label="9: BinaryOperatorStmt: Assign \n n$10=_fun___objc_alloc_no_fail(sizeof(class A ):unsigned long ) [line 29]\n *&aStrongRef:class A *=n$10 [line 29]\n REMOVE_TEMPS(n$10); [line 29]\n " shape="box"]
9 -> 8 ; 9 -> 8 ;

@ -11,7 +11,7 @@ digraph iCFG {
22 -> 21 ; 22 -> 21 ;
21 [label="21: DeclStmt \n n$11=_fun___objc_alloc_no_fail(sizeof(class AClass ):class AClass *) [line 48]\n *&o:class AClass *=n$11 [line 48]\n REMOVE_TEMPS(n$11); [line 48]\n " shape="box"] 21 [label="21: DeclStmt \n n$11=_fun___objc_alloc_no_fail(sizeof(class AClass ):unsigned long ) [line 48]\n *&o:class AClass *=n$11 [line 48]\n REMOVE_TEMPS(n$11); [line 48]\n " shape="box"]
21 -> 17 ; 21 -> 17 ;

@ -1,9 +1,9 @@
digraph iCFG { digraph iCFG {
8 [label="8: DeclStmt \n n$8=_fun___objc_alloc_no_fail(sizeof(class C ):class C *) [line 22]\n *&c1:class C *=n$8 [line 22]\n REMOVE_TEMPS(n$8); [line 22]\n " shape="box"] 8 [label="8: DeclStmt \n n$8=_fun___objc_alloc_no_fail(sizeof(class C ):unsigned long ) [line 22]\n *&c1:class C *=n$8 [line 22]\n REMOVE_TEMPS(n$8); [line 22]\n " shape="box"]
8 -> 7 ; 8 -> 7 ;
7 [label="7: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class C ):class C *) [line 23]\n *&c2:class C *=n$6 [line 23]\n REMOVE_TEMPS(n$6); [line 23]\n " shape="box"] 7 [label="7: DeclStmt \n n$6=_fun___objc_alloc_no_fail(sizeof(class C ):unsigned long ) [line 23]\n *&c2:class C *=n$6 [line 23]\n REMOVE_TEMPS(n$6); [line 23]\n " shape="box"]
7 -> 6 ; 7 -> 6 ;

Loading…
Cancel
Save