Reviewed By: jeremydubreil Differential Revision: D4088075 fbshipit-source-id: 6e517a7master
parent
3ba67bac1a
commit
3fb8801b6c
@ -1,62 +1,62 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
15 [label="15: DeclStmt \n *&x:double =1.000000 [line 11]\n " shape="box"]
|
||||
"main15" [label="15: DeclStmt \n *&x:double =1.000000 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 12]\n *&x:double =(n$9 + 1.000000) [line 12]\n " shape="box"]
|
||||
"main15" -> "main14" ;
|
||||
"main14" [label="14: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 12]\n *&x:double =(n$9 + 1.000000) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: BinaryOperatorStmt: SubAssign \n n$8=*&x:double [line 13]\n *&x:double =(n$8 - 1.000000) [line 13]\n " shape="box"]
|
||||
"main14" -> "main13" ;
|
||||
"main13" [label="13: BinaryOperatorStmt: SubAssign \n n$8=*&x:double [line 13]\n *&x:double =(n$8 - 1.000000) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 12 ;
|
||||
12 [label="12: BinaryOperatorStmt: DivAssign \n n$7=*&x:double [line 14]\n *&x:double =(n$7 / 1.000000) [line 14]\n " shape="box"]
|
||||
"main13" -> "main12" ;
|
||||
"main12" [label="12: BinaryOperatorStmt: DivAssign \n n$7=*&x:double [line 14]\n *&x:double =(n$7 / 1.000000) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: BinaryOperatorStmt: MulAssign \n n$6=*&x:double [line 15]\n *&x:double =(n$6 * 1.000000) [line 15]\n " shape="box"]
|
||||
"main12" -> "main11" ;
|
||||
"main11" [label="11: BinaryOperatorStmt: MulAssign \n n$6=*&x:double [line 15]\n *&x:double =(n$6 * 1.000000) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: DeclStmt \n *&b:int =1 [line 16]\n " shape="box"]
|
||||
"main11" -> "main10" ;
|
||||
"main10" [label="10: DeclStmt \n *&b:int =1 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: BinaryOperatorStmt: ShlAssign \n n$5=*&b:int [line 17]\n *&b:int =(n$5 << 1) [line 17]\n " shape="box"]
|
||||
"main10" -> "main9" ;
|
||||
"main9" [label="9: BinaryOperatorStmt: ShlAssign \n n$5=*&b:int [line 17]\n *&b:int =(n$5 << 1) [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: BinaryOperatorStmt: ShrAssign \n n$4=*&b:int [line 18]\n *&b:int =(n$4 >> 1) [line 18]\n " shape="box"]
|
||||
"main9" -> "main8" ;
|
||||
"main8" [label="8: BinaryOperatorStmt: ShrAssign \n n$4=*&b:int [line 18]\n *&b:int =(n$4 >> 1) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: BinaryOperatorStmt: RemAssing \n n$3=*&b:int [line 19]\n *&b:int =(n$3 % 1) [line 19]\n " shape="box"]
|
||||
"main8" -> "main7" ;
|
||||
"main7" [label="7: BinaryOperatorStmt: RemAssing \n n$3=*&b:int [line 19]\n *&b:int =(n$3 % 1) [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: BinaryOperatorStmt: AndAssign \n n$2=*&b:int [line 20]\n *&b:int =(n$2 & 1) [line 20]\n " shape="box"]
|
||||
"main7" -> "main6" ;
|
||||
"main6" [label="6: BinaryOperatorStmt: AndAssign \n n$2=*&b:int [line 20]\n *&b:int =(n$2 & 1) [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: BinaryOperatorStmt: OrAssign \n n$1=*&b:int [line 21]\n *&b:int =(n$1 | 1) [line 21]\n " shape="box"]
|
||||
"main6" -> "main5" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: OrAssign \n n$1=*&b:int [line 21]\n *&b:int =(n$1 | 1) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: BinaryOperatorStmt: XorAssign \n n$0=*&b:int [line 22]\n *&b:int =(n$0 ^ 1) [line 22]\n " shape="box"]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: BinaryOperatorStmt: XorAssign \n n$0=*&b:int [line 22]\n *&b:int =(n$0 ^ 1) [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 23]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: b:int x:double \n DECLARE_LOCALS(&return,&b,&x); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: b:int x:double \n DECLARE_LOCALS(&return,&b,&x); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 15 ;
|
||||
"main1" -> "main15" ;
|
||||
}
|
||||
|
@ -1,26 +1,26 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
6 [label="6: DeclStmt \n *&#GB<arithmetic/int_const.c>$main_kDuration:int =3 [line 17]\n " shape="box"]
|
||||
"main6" [label="6: DeclStmt \n *&#GB<arithmetic/int_const.c>$main_kDuration:int =3 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: DeclStmt \n *&large_int:int =9223372036854775807 [line 19]\n " shape="box"]
|
||||
"main6" -> "main5" ;
|
||||
"main5" [label="5: DeclStmt \n *&large_int:int =9223372036854775807 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: DeclStmt \n *&overflow_int:int =n$0 [line 20]\n " shape="box"]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: DeclStmt \n *&overflow_int:int =n$0 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 22]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: overflow_int:int large_int:int d:long double c:float * b:int * a:int \n DECLARE_LOCALS(&return,&overflow_int,&large_int,&d,&c,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: overflow_int:int large_int:int d:long double c:float * b:int * a:int \n DECLARE_LOCALS(&return,&overflow_int,&large_int,&d,&c,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 6 ;
|
||||
"main1" -> "main6" ;
|
||||
}
|
||||
|
@ -1,99 +1,99 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
24 [label="24: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 14]\n *&return:int =n$2 [line 14]\n " shape="box"]
|
||||
"neg_bool8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 14]\n *&return:int =n$2 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
24 -> 18 ;
|
||||
23 [label="23: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 14]\n " shape="box"]
|
||||
"neg_bool8" -> "neg_bool2" ;
|
||||
"neg_bool7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 19 ;
|
||||
22 [label="22: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 14]\n " shape="box"]
|
||||
"neg_bool7" -> "neg_bool3" ;
|
||||
"neg_bool6" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 19 ;
|
||||
21 [label="21: Prune (false branch) \n n$1=*&a:_Bool [line 14]\n PRUNE((n$1 == 0), false); [line 14]\n " shape="invhouse"]
|
||||
"neg_bool6" -> "neg_bool3" ;
|
||||
"neg_bool5" [label="5: Prune (false branch) \n n$1=*&a:_Bool [line 14]\n PRUNE((n$1 == 0), false); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
21 -> 23 ;
|
||||
20 [label="20: Prune (true branch) \n n$1=*&a:_Bool [line 14]\n PRUNE((n$1 != 0), true); [line 14]\n " shape="invhouse"]
|
||||
"neg_bool5" -> "neg_bool7" ;
|
||||
"neg_bool4" [label="4: Prune (true branch) \n n$1=*&a:_Bool [line 14]\n PRUNE((n$1 != 0), true); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
20 -> 22 ;
|
||||
19 [label="19: + \n " ]
|
||||
"neg_bool4" -> "neg_bool6" ;
|
||||
"neg_bool3" [label="3: + \n " ]
|
||||
|
||||
|
||||
19 -> 24 ;
|
||||
18 [label="18: Exit neg_bool \n " color=yellow style=filled]
|
||||
"neg_bool3" -> "neg_bool8" ;
|
||||
"neg_bool2" [label="2: Exit neg_bool \n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 [label="17: Start neg_bool\nFormals: a:_Bool \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 14]\n " color=yellow style=filled]
|
||||
"neg_bool1" [label="1: Start neg_bool\nFormals: a:_Bool \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 -> 20 ;
|
||||
17 -> 21 ;
|
||||
16 [label="16: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12]\n *&return:int =n$2 [line 12]\n " shape="box"]
|
||||
"neg_bool1" -> "neg_bool4" ;
|
||||
"neg_bool1" -> "neg_bool5" ;
|
||||
"neg_char8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 12]\n *&return:int =n$2 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 10 ;
|
||||
15 [label="15: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 12]\n " shape="box"]
|
||||
"neg_char8" -> "neg_char2" ;
|
||||
"neg_char7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 11 ;
|
||||
14 [label="14: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 12]\n " shape="box"]
|
||||
"neg_char7" -> "neg_char3" ;
|
||||
"neg_char6" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 11 ;
|
||||
13 [label="13: Prune (false branch) \n n$1=*&a:char [line 12]\n PRUNE((n$1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"neg_char6" -> "neg_char3" ;
|
||||
"neg_char5" [label="5: Prune (false branch) \n n$1=*&a:char [line 12]\n PRUNE((n$1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 -> 15 ;
|
||||
12 [label="12: Prune (true branch) \n n$1=*&a:char [line 12]\n PRUNE((n$1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"neg_char5" -> "neg_char7" ;
|
||||
"neg_char4" [label="4: Prune (true branch) \n n$1=*&a:char [line 12]\n PRUNE((n$1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 14 ;
|
||||
11 [label="11: + \n " ]
|
||||
"neg_char4" -> "neg_char6" ;
|
||||
"neg_char3" [label="3: + \n " ]
|
||||
|
||||
|
||||
11 -> 16 ;
|
||||
10 [label="10: Exit neg_char \n " color=yellow style=filled]
|
||||
"neg_char3" -> "neg_char8" ;
|
||||
"neg_char2" [label="2: Exit neg_char \n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 [label="9: Start neg_char\nFormals: a:char \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12]\n " color=yellow style=filled]
|
||||
"neg_char1" [label="1: Start neg_char\nFormals: a:char \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 12 ;
|
||||
9 -> 13 ;
|
||||
8 [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&return:int =n$2 [line 10]\n " shape="box"]
|
||||
"neg_char1" -> "neg_char4" ;
|
||||
"neg_char1" -> "neg_char5" ;
|
||||
"neg_int8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&return:int =n$2 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 2 ;
|
||||
7 [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 10]\n " shape="box"]
|
||||
"neg_int8" -> "neg_int2" ;
|
||||
"neg_int7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 10]\n " shape="box"]
|
||||
"neg_int7" -> "neg_int3" ;
|
||||
"neg_int6" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (false branch) \n n$1=*&a:int [line 10]\n PRUNE((n$1 == 0), false); [line 10]\n " shape="invhouse"]
|
||||
"neg_int6" -> "neg_int3" ;
|
||||
"neg_int5" [label="5: Prune (false branch) \n n$1=*&a:int [line 10]\n PRUNE((n$1 == 0), false); [line 10]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: Prune (true branch) \n n$1=*&a:int [line 10]\n PRUNE((n$1 != 0), true); [line 10]\n " shape="invhouse"]
|
||||
"neg_int5" -> "neg_int7" ;
|
||||
"neg_int4" [label="4: Prune (true branch) \n n$1=*&a:int [line 10]\n PRUNE((n$1 != 0), true); [line 10]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: + \n " ]
|
||||
"neg_int4" -> "neg_int6" ;
|
||||
"neg_int3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 8 ;
|
||||
2 [label="2: Exit neg_int \n " color=yellow style=filled]
|
||||
"neg_int3" -> "neg_int8" ;
|
||||
"neg_int2" [label="2: Exit neg_int \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start neg_int\nFormals: a:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 10]\n " color=yellow style=filled]
|
||||
"neg_int1" [label="1: Start neg_int\nFormals: a:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
1 -> 5 ;
|
||||
"neg_int1" -> "neg_int4" ;
|
||||
"neg_int1" -> "neg_int5" ;
|
||||
}
|
||||
|
@ -1,22 +1,22 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
5 [label="5: DeclStmt \n *&x:int =2 [line 11]\n " shape="box"]
|
||||
"main5" [label="5: DeclStmt \n *&x:int =2 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: DeclStmt \n *&z:int =3 [line 12]\n " shape="box"]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: DeclStmt \n *&z:int =3 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&x:int [line 13]\n n$1=*&z:int [line 13]\n *&return:int =(n$0 + n$1) [line 13]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n n$0=*&x:int [line 13]\n n$1=*&z:int [line 13]\n *&return:int =(n$0 + n$1) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: z:int x:int \n DECLARE_LOCALS(&return,&z,&x); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: z:int x:int \n DECLARE_LOCALS(&return,&z,&x); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 5 ;
|
||||
"main1" -> "main5" ;
|
||||
}
|
||||
|
@ -1,62 +1,62 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
15 [label="15: DeclStmt \n *&x:int =1 [line 11]\n " shape="box"]
|
||||
"main15" [label="15: DeclStmt \n *&x:int =1 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: BinaryOperatorStmt: Assign \n n$12=*&x:int [line 14]\n *&y:int =~n$12 [line 14]\n " shape="box"]
|
||||
"main15" -> "main14" ;
|
||||
"main14" [label="14: BinaryOperatorStmt: Assign \n n$12=*&x:int [line 14]\n *&y:int =~n$12 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: BinaryOperatorStmt: Assign \n n$11=*&x:int [line 15]\n *&y:int =-n$11 [line 15]\n " shape="box"]
|
||||
"main14" -> "main13" ;
|
||||
"main13" [label="13: BinaryOperatorStmt: Assign \n n$11=*&x:int [line 15]\n *&y:int =-n$11 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 12 ;
|
||||
12 [label="12: BinaryOperatorStmt: Assign \n n$10=*&x:int [line 16]\n *&y:int =n$10 [line 16]\n " shape="box"]
|
||||
"main13" -> "main12" ;
|
||||
"main12" [label="12: BinaryOperatorStmt: Assign \n n$10=*&x:int [line 16]\n *&y:int =n$10 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 18]\n *&x:int =(n$9 + 1) [line 18]\n *&y:int =n$9 [line 18]\n " shape="box"]
|
||||
"main12" -> "main11" ;
|
||||
"main11" [label="11: BinaryOperatorStmt: Assign \n n$9=*&x:int [line 18]\n *&x:int =(n$9 + 1) [line 18]\n *&y:int =n$9 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 19]\n *&x:int =(n$8 + 1) [line 19]\n *&y:int =(n$8 + 1) [line 19]\n " shape="box"]
|
||||
"main11" -> "main10" ;
|
||||
"main10" [label="10: BinaryOperatorStmt: Assign \n n$8=*&x:int [line 19]\n *&x:int =(n$8 + 1) [line 19]\n *&y:int =(n$8 + 1) [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: BinaryOperatorStmt: Assign \n n$7=*&x:int [line 21]\n *&x:int =(n$7 - 1) [line 21]\n *&y:int =(n$7 - 1) [line 21]\n " shape="box"]
|
||||
"main10" -> "main9" ;
|
||||
"main9" [label="9: BinaryOperatorStmt: Assign \n n$7=*&x:int [line 21]\n *&x:int =(n$7 - 1) [line 21]\n *&y:int =(n$7 - 1) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 22]\n *&x:int =(n$6 - 1) [line 22]\n *&y:int =n$6 [line 22]\n " shape="box"]
|
||||
"main9" -> "main8" ;
|
||||
"main8" [label="8: BinaryOperatorStmt: Assign \n n$6=*&x:int [line 22]\n *&x:int =(n$6 - 1) [line 22]\n *&y:int =n$6 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: BinaryOperatorStmt: Assign \n *&b:int *=&a [line 27]\n " shape="box"]
|
||||
"main8" -> "main7" ;
|
||||
"main7" [label="7: BinaryOperatorStmt: Assign \n *&b:int *=&a [line 27]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: BinaryOperatorStmt: Assign \n n$4=*&b:int * [line 28]\n n$5=*(n$4 + 1):int [line 28]\n *&a:int =n$5 [line 28]\n " shape="box"]
|
||||
"main7" -> "main6" ;
|
||||
"main6" [label="6: BinaryOperatorStmt: Assign \n n$4=*&b:int * [line 28]\n n$5=*(n$4 + 1):int [line 28]\n *&a:int =n$5 [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: BinaryOperatorStmt: Assign \n n$1=*&b:int * [line 29]\n n$2=*&b:int * [line 29]\n n$3=*n$2:int [line 29]\n *n$1:int =(n$3 + 1) [line 29]\n " shape="box"]
|
||||
"main6" -> "main5" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: Assign \n n$1=*&b:int * [line 29]\n n$2=*&b:int * [line 29]\n n$3=*n$2:int [line 29]\n *n$1:int =(n$3 + 1) [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:int [line 30]\n *&a:int =n$0 [line 30]\n " shape="box"]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:int [line 30]\n *&a:int =n$0 [line 30]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 32]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 32]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: b:int * a:int y:int x:int \n DECLARE_LOCALS(&return,&b,&a,&y,&x); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: b:int * a:int y:int x:int \n DECLARE_LOCALS(&return,&b,&a,&y,&x); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 15 ;
|
||||
"main1" -> "main15" ;
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
3 [label="3: Return Stmt \n n$0=*&e:_Bool [line 12]\n *&return:_Bool =n$0 [line 12]\n " shape="box"]
|
||||
"revert3" [label="3: Return Stmt \n n$0=*&e:_Bool [line 12]\n *&return:_Bool =n$0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit revert \n " color=yellow style=filled]
|
||||
"revert3" -> "revert2" ;
|
||||
"revert2" [label="2: Exit revert \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start revert\nFormals: e:_Bool \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"revert1" [label="1: Start revert\nFormals: e:_Bool \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"revert1" -> "revert3" ;
|
||||
}
|
||||
|
@ -1,25 +1,25 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
6 [label="6: DeclStmt \n *&x:int =3 [line 13]\n " shape="box"]
|
||||
"main4" [label="4: DeclStmt \n *&x:int =3 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Call _fun_check \n n$0=*&x:int [line 14]\n _fun_check((n$0 < 2):int ) [line 14]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Call _fun_check \n n$0=*&x:int [line 14]\n _fun_check((n$0 < 2):int ) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
3 [label="3: Start main\nFormals: \nLocals: x:int \n DECLARE_LOCALS(&return,&x); [line 12]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: x:int \n DECLARE_LOCALS(&return,&x); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
3 -> 6 ;
|
||||
2 [label="2: Exit check \n " color=yellow style=filled]
|
||||
"main1" -> "main4" ;
|
||||
"check2" [label="2: Exit check \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start check\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"check1" [label="1: Start check\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 2 ;
|
||||
"check1" -> "check2" ;
|
||||
}
|
||||
|
@ -1,29 +1,29 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
7 [label="7: BinaryOperatorStmt: Assign \n n$0=_fun_sum(2:int ,3:int ) [line 20]\n *&total:int =n$0 [line 20]\n " shape="box"]
|
||||
"main4" [label="4: BinaryOperatorStmt: Assign \n n$0=_fun_sum(2:int ,3:int ) [line 20]\n *&total:int =n$0 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: Return Stmt \n n$0=*&a:int [line 25]\n n$1=*&b:int [line 25]\n *&return:int =(n$0 + n$1) [line 25]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit sum \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start sum\nFormals: a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 25]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: total:int \n DECLARE_LOCALS(&return,&total); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 22]\n " shape="box"]
|
||||
"main1" -> "main4" ;
|
||||
"sum3" [label="3: Return Stmt \n n$0=*&a:int [line 25]\n n$1=*&b:int [line 25]\n *&return:int =(n$0 + n$1) [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"sum3" -> "sum2" ;
|
||||
"sum2" [label="2: Exit sum \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: total:int \n DECLARE_LOCALS(&return,&total); [line 17]\n " color=yellow style=filled]
|
||||
"sum1" [label="1: Start sum\nFormals: a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 25]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 7 ;
|
||||
"sum1" -> "sum3" ;
|
||||
}
|
||||
|
@ -1,76 +1,76 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
19 [label="19: DeclStmt \n *&a:int =9 [line 23]\n " shape="box"]
|
||||
"comma_16" [label="6: DeclStmt \n *&a:int =9 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 18 ;
|
||||
18 [label="18: DeclStmt \n *&b:int =7 [line 23]\n " shape="box"]
|
||||
"comma_16" -> "comma_15" ;
|
||||
"comma_15" [label="5: DeclStmt \n *&b:int =7 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: DeclStmt \n *&c:int =3 [line 23]\n " shape="box"]
|
||||
"comma_15" -> "comma_14" ;
|
||||
"comma_14" [label="4: DeclStmt \n n$1=*&a:int [line 12]\n *&a:int =(n$1 * 2) [line 12]\n n$2=*&a:int [line 12]\n n$3=*&a:int [line 12]\n *&a:int =(n$3 + 1) [line 12]\n *&b:int =(7 * n$3) [line 12]\n n$4=*&b:int [line 12]\n *&d:int =n$4 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 16 ;
|
||||
16 [label="16: DeclStmt \n n$1=*&a:int [line 24]\n *&a:int =(n$1 * 2) [line 24]\n n$2=*&a:int [line 24]\n n$3=*&a:int [line 24]\n *&a:int =(n$3 + 1) [line 24]\n *&b:int =(7 * n$3) [line 24]\n n$4=*&b:int [line 24]\n n$5=*&a:int [line 24]\n n$6=*&b:int [line 24]\n *&c:int =((n$5 + n$6) + 9) [line 24]\n n$7=*&c:int [line 24]\n n$8=*&c:int [line 24]\n *&d:int =n$8 [line 24]\n " shape="box"]
|
||||
"comma_14" -> "comma_13" ;
|
||||
"comma_13" [label="3: Return Stmt \n n$0=*&d:int [line 13]\n *&return:int =n$0 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 15 ;
|
||||
15 [label="15: Return Stmt \n n$0=*&d:int [line 25]\n *&return:int =n$0 [line 25]\n " shape="box"]
|
||||
"comma_13" -> "comma_12" ;
|
||||
"comma_12" [label="2: Exit comma_1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: Exit comma_3 \n " color=yellow style=filled]
|
||||
"comma_11" [label="1: Start comma_1\nFormals: \nLocals: d:int b:int a:int \n DECLARE_LOCALS(&return,&d,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 [label="13: Start comma_3\nFormals: \nLocals: d:int c:int b:int a:int \n DECLARE_LOCALS(&return,&d,&c,&b,&a); [line 22]\n " color=yellow style=filled]
|
||||
"comma_11" -> "comma_16" ;
|
||||
"comma_26" [label="6: DeclStmt \n *&a:int =9 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 19 ;
|
||||
12 [label="12: DeclStmt \n *&a:int =9 [line 17]\n " shape="box"]
|
||||
"comma_26" -> "comma_25" ;
|
||||
"comma_25" [label="5: DeclStmt \n *&b:int =7 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: DeclStmt \n *&b:int =7 [line 17]\n " shape="box"]
|
||||
"comma_25" -> "comma_24" ;
|
||||
"comma_24" [label="4: DeclStmt \n n$1=*&a:int [line 18]\n *&a:int =(n$1 * 2) [line 18]\n n$2=*&a:int [line 18]\n n$3=*&a:int [line 18]\n *&a:int =(n$3 + 1) [line 18]\n *&b:int =(7 * n$3) [line 18]\n n$4=*&b:int [line 18]\n n$5=*&a:int [line 18]\n n$6=*&b:int [line 18]\n *&d:int =((n$5 + n$6) + 9) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: DeclStmt \n n$1=*&a:int [line 18]\n *&a:int =(n$1 * 2) [line 18]\n n$2=*&a:int [line 18]\n n$3=*&a:int [line 18]\n *&a:int =(n$3 + 1) [line 18]\n *&b:int =(7 * n$3) [line 18]\n n$4=*&b:int [line 18]\n n$5=*&a:int [line 18]\n n$6=*&b:int [line 18]\n *&d:int =((n$5 + n$6) + 9) [line 18]\n " shape="box"]
|
||||
"comma_24" -> "comma_23" ;
|
||||
"comma_23" [label="3: Return Stmt \n n$0=*&d:int [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: Return Stmt \n n$0=*&d:int [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"]
|
||||
"comma_23" -> "comma_22" ;
|
||||
"comma_22" [label="2: Exit comma_2 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Exit comma_2 \n " color=yellow style=filled]
|
||||
"comma_21" [label="1: Start comma_2\nFormals: \nLocals: d:int b:int a:int \n DECLARE_LOCALS(&return,&d,&b,&a); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 [label="7: Start comma_2\nFormals: \nLocals: d:int b:int a:int \n DECLARE_LOCALS(&return,&d,&b,&a); [line 16]\n " color=yellow style=filled]
|
||||
"comma_21" -> "comma_26" ;
|
||||
"comma_37" [label="7: DeclStmt \n *&a:int =9 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 12 ;
|
||||
6 [label="6: DeclStmt \n *&a:int =9 [line 11]\n " shape="box"]
|
||||
"comma_37" -> "comma_36" ;
|
||||
"comma_36" [label="6: DeclStmt \n *&b:int =7 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: DeclStmt \n *&b:int =7 [line 11]\n " shape="box"]
|
||||
"comma_36" -> "comma_35" ;
|
||||
"comma_35" [label="5: DeclStmt \n *&c:int =3 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: DeclStmt \n n$1=*&a:int [line 12]\n *&a:int =(n$1 * 2) [line 12]\n n$2=*&a:int [line 12]\n n$3=*&a:int [line 12]\n *&a:int =(n$3 + 1) [line 12]\n *&b:int =(7 * n$3) [line 12]\n n$4=*&b:int [line 12]\n *&d:int =n$4 [line 12]\n " shape="box"]
|
||||
"comma_35" -> "comma_34" ;
|
||||
"comma_34" [label="4: DeclStmt \n n$1=*&a:int [line 24]\n *&a:int =(n$1 * 2) [line 24]\n n$2=*&a:int [line 24]\n n$3=*&a:int [line 24]\n *&a:int =(n$3 + 1) [line 24]\n *&b:int =(7 * n$3) [line 24]\n n$4=*&b:int [line 24]\n n$5=*&a:int [line 24]\n n$6=*&b:int [line 24]\n *&c:int =((n$5 + n$6) + 9) [line 24]\n n$7=*&c:int [line 24]\n n$8=*&c:int [line 24]\n *&d:int =n$8 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&d:int [line 13]\n *&return:int =n$0 [line 13]\n " shape="box"]
|
||||
"comma_34" -> "comma_33" ;
|
||||
"comma_33" [label="3: Return Stmt \n n$0=*&d:int [line 25]\n *&return:int =n$0 [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit comma_1 \n " color=yellow style=filled]
|
||||
"comma_33" -> "comma_32" ;
|
||||
"comma_32" [label="2: Exit comma_3 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start comma_1\nFormals: \nLocals: d:int b:int a:int \n DECLARE_LOCALS(&return,&d,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
"comma_31" [label="1: Start comma_3\nFormals: \nLocals: d:int c:int b:int a:int \n DECLARE_LOCALS(&return,&d,&c,&b,&a); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 6 ;
|
||||
"comma_31" -> "comma_37" ;
|
||||
}
|
||||
|
@ -1,82 +1,82 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
19 [label="19: Prune (false branch) \n n$14=*&p:int ** [line 11]\n n$15=*n$14[0]:int * [line 11]\n PRUNE((n$15 == 0), false); [line 11]\n " shape="invhouse"]
|
||||
"dereference_in_array_access19" [label="19: Prune (false branch) \n n$14=*&p:int ** [line 11]\n n$15=*n$14[0]:int * [line 11]\n PRUNE((n$15 == 0), false); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
19 -> 17 ;
|
||||
18 [label="18: Prune (true branch) \n n$14=*&p:int ** [line 11]\n n$15=*n$14[0]:int * [line 11]\n PRUNE((n$15 != 0), true); [line 11]\n " shape="invhouse"]
|
||||
"dereference_in_array_access19" -> "dereference_in_array_access17" ;
|
||||
"dereference_in_array_access18" [label="18: Prune (true branch) \n n$14=*&p:int ** [line 11]\n n$15=*n$14[0]:int * [line 11]\n PRUNE((n$15 != 0), true); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: + \n " ]
|
||||
"dereference_in_array_access18" -> "dereference_in_array_access17" ;
|
||||
"dereference_in_array_access17" [label="17: + \n " ]
|
||||
|
||||
|
||||
17 -> 14 ;
|
||||
16 [label="16: Prune (false branch) \n n$12=*n$11:int * [line 13]\n n$13=*n$12[1]:int [line 13]\n PRUNE((n$13 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
"dereference_in_array_access17" -> "dereference_in_array_access14" ;
|
||||
"dereference_in_array_access16" [label="16: Prune (false branch) \n n$12=*n$11:int * [line 13]\n n$13=*n$12[1]:int [line 13]\n PRUNE((n$13 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
16 -> 13 ;
|
||||
15 [label="15: Prune (true branch) \n n$12=*n$11:int * [line 13]\n n$13=*n$12[1]:int [line 13]\n PRUNE((n$13 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
"dereference_in_array_access16" -> "dereference_in_array_access13" ;
|
||||
"dereference_in_array_access15" [label="15: Prune (true branch) \n n$12=*n$11:int * [line 13]\n n$13=*n$12[1]:int [line 13]\n PRUNE((n$13 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
15 -> 13 ;
|
||||
14 [label="14: UnaryOperator \n n$11=*&p:int ** [line 13]\n " shape="box"]
|
||||
"dereference_in_array_access15" -> "dereference_in_array_access13" ;
|
||||
"dereference_in_array_access14" [label="14: UnaryOperator \n n$11=*&p:int ** [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 15 ;
|
||||
14 -> 16 ;
|
||||
13 [label="13: + \n " ]
|
||||
"dereference_in_array_access14" -> "dereference_in_array_access15" ;
|
||||
"dereference_in_array_access14" -> "dereference_in_array_access16" ;
|
||||
"dereference_in_array_access13" [label="13: + \n " ]
|
||||
|
||||
|
||||
13 -> 10 ;
|
||||
12 [label="12: Prune (false branch) \n n$6=*&p:int ** [line 15]\n n$9=*n$8:int [line 15]\n n$10=*n$6[n$9]:int * [line 15]\n PRUNE((n$10 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"dereference_in_array_access13" -> "dereference_in_array_access10" ;
|
||||
"dereference_in_array_access12" [label="12: Prune (false branch) \n n$6=*&p:int ** [line 15]\n n$9=*n$8:int [line 15]\n n$10=*n$6[n$9]:int * [line 15]\n PRUNE((n$10 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 9 ;
|
||||
11 [label="11: Prune (true branch) \n n$6=*&p:int ** [line 15]\n n$9=*n$8:int [line 15]\n n$10=*n$6[n$9]:int * [line 15]\n PRUNE((n$10 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"dereference_in_array_access12" -> "dereference_in_array_access9" ;
|
||||
"dereference_in_array_access11" [label="11: Prune (true branch) \n n$6=*&p:int ** [line 15]\n n$9=*n$8:int [line 15]\n n$10=*n$6[n$9]:int * [line 15]\n PRUNE((n$10 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
11 -> 9 ;
|
||||
10 [label="10: UnaryOperator \n n$7=*&p:int ** [line 15]\n n$8=*n$7:int * [line 15]\n " shape="box"]
|
||||
"dereference_in_array_access11" -> "dereference_in_array_access9" ;
|
||||
"dereference_in_array_access10" [label="10: UnaryOperator \n n$7=*&p:int ** [line 15]\n n$8=*n$7:int * [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 11 ;
|
||||
10 -> 12 ;
|
||||
9 [label="9: + \n " ]
|
||||
"dereference_in_array_access10" -> "dereference_in_array_access11" ;
|
||||
"dereference_in_array_access10" -> "dereference_in_array_access12" ;
|
||||
"dereference_in_array_access9" [label="9: + \n " ]
|
||||
|
||||
|
||||
9 -> 5 ;
|
||||
8 [label="8: Prune (false branch) \n n$1=*n$0:int * [line 17]\n n$4=*n$3:int [line 17]\n n$5=*n$1[n$4]:int [line 17]\n PRUNE((n$5 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
"dereference_in_array_access9" -> "dereference_in_array_access5" ;
|
||||
"dereference_in_array_access8" [label="8: Prune (false branch) \n n$1=*n$0:int * [line 17]\n n$4=*n$3:int [line 17]\n n$5=*n$1[n$4]:int [line 17]\n PRUNE((n$5 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
8 -> 3 ;
|
||||
7 [label="7: Prune (true branch) \n n$1=*n$0:int * [line 17]\n n$4=*n$3:int [line 17]\n n$5=*n$1[n$4]:int [line 17]\n PRUNE((n$5 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
"dereference_in_array_access8" -> "dereference_in_array_access3" ;
|
||||
"dereference_in_array_access7" [label="7: Prune (true branch) \n n$1=*n$0:int * [line 17]\n n$4=*n$3:int [line 17]\n n$5=*n$1[n$4]:int [line 17]\n PRUNE((n$5 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: UnaryOperator \n n$2=*&p:int ** [line 17]\n n$3=*n$2:int * [line 17]\n " shape="box"]
|
||||
"dereference_in_array_access7" -> "dereference_in_array_access3" ;
|
||||
"dereference_in_array_access6" [label="6: UnaryOperator \n n$2=*&p:int ** [line 17]\n n$3=*n$2:int * [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 7 ;
|
||||
6 -> 8 ;
|
||||
5 [label="5: UnaryOperator \n n$0=*&p:int ** [line 17]\n " shape="box"]
|
||||
"dereference_in_array_access6" -> "dereference_in_array_access7" ;
|
||||
"dereference_in_array_access6" -> "dereference_in_array_access8" ;
|
||||
"dereference_in_array_access5" [label="5: UnaryOperator \n n$0=*&p:int ** [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
4 [label="4: between_join_and_exit \n " shape="box"]
|
||||
"dereference_in_array_access5" -> "dereference_in_array_access6" ;
|
||||
"dereference_in_array_access4" [label="4: between_join_and_exit \n " shape="box"]
|
||||
|
||||
|
||||
4 -> 2 ;
|
||||
3 [label="3: + \n " ]
|
||||
"dereference_in_array_access4" -> "dereference_in_array_access2" ;
|
||||
"dereference_in_array_access3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 4 ;
|
||||
2 [label="2: Exit dereference_in_array_access \n " color=yellow style=filled]
|
||||
"dereference_in_array_access3" -> "dereference_in_array_access4" ;
|
||||
"dereference_in_array_access2" [label="2: Exit dereference_in_array_access \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start dereference_in_array_access\nFormals: p:int **\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"dereference_in_array_access1" [label="1: Start dereference_in_array_access\nFormals: p:int **\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 18 ;
|
||||
1 -> 19 ;
|
||||
"dereference_in_array_access1" -> "dereference_in_array_access18" ;
|
||||
"dereference_in_array_access1" -> "dereference_in_array_access19" ;
|
||||
}
|
||||
|
@ -1,202 +1,202 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
48 [label="48: BinaryOperatorStmt: Assign \n n$31=*&0$?%__sil_tmpSIL_temp_conditional___n$28:int [line 13]\n *&x1:int =(n$31 + 77) [line 13]\n " shape="box"]
|
||||
"binop_with_side_effects48" [label="48: BinaryOperatorStmt: Assign \n n$31=*&0$?%__sil_tmpSIL_temp_conditional___n$28:int [line 13]\n *&x1:int =(n$31 + 77) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
48 -> 38 ;
|
||||
48 -> 39 ;
|
||||
47 [label="47: ConditinalStmt Branch \n n$30=*&z:int [line 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int =n$30 [line 13]\n " shape="box"]
|
||||
"binop_with_side_effects48" -> "binop_with_side_effects38" ;
|
||||
"binop_with_side_effects48" -> "binop_with_side_effects39" ;
|
||||
"binop_with_side_effects47" [label="47: ConditinalStmt Branch \n n$30=*&z:int [line 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int =n$30 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
47 -> 43 ;
|
||||
46 [label="46: ConditinalStmt Branch \n n$29=*&z:int [line 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int =n$29 [line 13]\n " shape="box"]
|
||||
"binop_with_side_effects47" -> "binop_with_side_effects43" ;
|
||||
"binop_with_side_effects46" [label="46: ConditinalStmt Branch \n n$29=*&z:int [line 13]\n *&0$?%__sil_tmpSIL_temp_conditional___n$28:int =n$29 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
46 -> 43 ;
|
||||
45 [label="45: Prune (false branch) \n PRUNE((1 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
"binop_with_side_effects46" -> "binop_with_side_effects43" ;
|
||||
"binop_with_side_effects45" [label="45: Prune (false branch) \n PRUNE((1 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
45 -> 47 ;
|
||||
44 [label="44: Prune (true branch) \n PRUNE((1 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
"binop_with_side_effects45" -> "binop_with_side_effects47" ;
|
||||
"binop_with_side_effects44" [label="44: Prune (true branch) \n PRUNE((1 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
44 -> 46 ;
|
||||
43 [label="43: + \n " ]
|
||||
"binop_with_side_effects44" -> "binop_with_side_effects46" ;
|
||||
"binop_with_side_effects43" [label="43: + \n " ]
|
||||
|
||||
|
||||
43 -> 48 ;
|
||||
42 [label="42: BinaryOperatorStmt: Assign \n n$27=*&0$?%__sil_tmpSIL_temp_conditional___n$24:int [line 16]\n *&x2:int =(77 + n$27) [line 16]\n " shape="box"]
|
||||
"binop_with_side_effects43" -> "binop_with_side_effects48" ;
|
||||
"binop_with_side_effects42" [label="42: BinaryOperatorStmt: Assign \n n$27=*&0$?%__sil_tmpSIL_temp_conditional___n$24:int [line 16]\n *&x2:int =(77 + n$27) [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
42 -> 27 ;
|
||||
42 -> 28 ;
|
||||
41 [label="41: ConditinalStmt Branch \n n$26=*&z:int [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int =n$26 [line 16]\n " shape="box"]
|
||||
"binop_with_side_effects42" -> "binop_with_side_effects27" ;
|
||||
"binop_with_side_effects42" -> "binop_with_side_effects28" ;
|
||||
"binop_with_side_effects41" [label="41: ConditinalStmt Branch \n n$26=*&z:int [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int =n$26 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
41 -> 37 ;
|
||||
40 [label="40: ConditinalStmt Branch \n n$25=*&z:int [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int =n$25 [line 16]\n " shape="box"]
|
||||
"binop_with_side_effects41" -> "binop_with_side_effects37" ;
|
||||
"binop_with_side_effects40" [label="40: ConditinalStmt Branch \n n$25=*&z:int [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$24:int =n$25 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
40 -> 37 ;
|
||||
39 [label="39: Prune (false branch) \n PRUNE((1 == 0), false); [line 16]\n " shape="invhouse"]
|
||||
"binop_with_side_effects40" -> "binop_with_side_effects37" ;
|
||||
"binop_with_side_effects39" [label="39: Prune (false branch) \n PRUNE((1 == 0), false); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
39 -> 41 ;
|
||||
38 [label="38: Prune (true branch) \n PRUNE((1 != 0), true); [line 16]\n " shape="invhouse"]
|
||||
"binop_with_side_effects39" -> "binop_with_side_effects41" ;
|
||||
"binop_with_side_effects38" [label="38: Prune (true branch) \n PRUNE((1 != 0), true); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
38 -> 40 ;
|
||||
37 [label="37: + \n " ]
|
||||
"binop_with_side_effects38" -> "binop_with_side_effects40" ;
|
||||
"binop_with_side_effects37" [label="37: + \n " ]
|
||||
|
||||
|
||||
37 -> 42 ;
|
||||
36 [label="36: BinaryOperatorStmt: Assign \n n$19=*&0$?%__sil_tmpSIL_temp_conditional___n$16:int [line 19]\n n$23=*&0$?%__sil_tmpSIL_temp_conditional___n$20:int [line 19]\n *&x3:int =(n$19 + n$23) [line 19]\n " shape="box"]
|
||||
"binop_with_side_effects37" -> "binop_with_side_effects42" ;
|
||||
"binop_with_side_effects36" [label="36: BinaryOperatorStmt: Assign \n n$19=*&0$?%__sil_tmpSIL_temp_conditional___n$16:int [line 19]\n n$23=*&0$?%__sil_tmpSIL_temp_conditional___n$20:int [line 19]\n *&x3:int =(n$19 + n$23) [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
36 -> 21 ;
|
||||
36 -> 22 ;
|
||||
35 [label="35: ConditinalStmt Branch \n n$22=*&z:int [line 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int =n$22 [line 19]\n " shape="box"]
|
||||
"binop_with_side_effects36" -> "binop_with_side_effects21" ;
|
||||
"binop_with_side_effects36" -> "binop_with_side_effects22" ;
|
||||
"binop_with_side_effects35" [label="35: ConditinalStmt Branch \n n$22=*&z:int [line 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int =n$22 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
35 -> 31 ;
|
||||
34 [label="34: ConditinalStmt Branch \n n$21=*&z:int [line 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int =n$21 [line 19]\n " shape="box"]
|
||||
"binop_with_side_effects35" -> "binop_with_side_effects31" ;
|
||||
"binop_with_side_effects34" [label="34: ConditinalStmt Branch \n n$21=*&z:int [line 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$20:int =n$21 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
34 -> 31 ;
|
||||
33 [label="33: Prune (false branch) \n PRUNE((1 == 0), false); [line 19]\n " shape="invhouse"]
|
||||
"binop_with_side_effects34" -> "binop_with_side_effects31" ;
|
||||
"binop_with_side_effects33" [label="33: Prune (false branch) \n PRUNE((1 == 0), false); [line 19]\n " shape="invhouse"]
|
||||
|
||||
|
||||
33 -> 35 ;
|
||||
32 [label="32: Prune (true branch) \n PRUNE((1 != 0), true); [line 19]\n " shape="invhouse"]
|
||||
"binop_with_side_effects33" -> "binop_with_side_effects35" ;
|
||||
"binop_with_side_effects32" [label="32: Prune (true branch) \n PRUNE((1 != 0), true); [line 19]\n " shape="invhouse"]
|
||||
|
||||
|
||||
32 -> 34 ;
|
||||
31 [label="31: + \n " ]
|
||||
"binop_with_side_effects32" -> "binop_with_side_effects34" ;
|
||||
"binop_with_side_effects31" [label="31: + \n " ]
|
||||
|
||||
|
||||
31 -> 36 ;
|
||||
30 [label="30: ConditinalStmt Branch \n n$18=*&z:int [line 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int =n$18 [line 19]\n " shape="box"]
|
||||
"binop_with_side_effects31" -> "binop_with_side_effects36" ;
|
||||
"binop_with_side_effects30" [label="30: ConditinalStmt Branch \n n$18=*&z:int [line 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int =n$18 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
30 -> 26 ;
|
||||
29 [label="29: ConditinalStmt Branch \n n$17=*&z:int [line 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int =n$17 [line 19]\n " shape="box"]
|
||||
"binop_with_side_effects30" -> "binop_with_side_effects26" ;
|
||||
"binop_with_side_effects29" [label="29: ConditinalStmt Branch \n n$17=*&z:int [line 19]\n *&0$?%__sil_tmpSIL_temp_conditional___n$16:int =n$17 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
29 -> 26 ;
|
||||
28 [label="28: Prune (false branch) \n PRUNE((1 == 0), false); [line 19]\n " shape="invhouse"]
|
||||
"binop_with_side_effects29" -> "binop_with_side_effects26" ;
|
||||
"binop_with_side_effects28" [label="28: Prune (false branch) \n PRUNE((1 == 0), false); [line 19]\n " shape="invhouse"]
|
||||
|
||||
|
||||
28 -> 30 ;
|
||||
27 [label="27: Prune (true branch) \n PRUNE((1 != 0), true); [line 19]\n " shape="invhouse"]
|
||||
"binop_with_side_effects28" -> "binop_with_side_effects30" ;
|
||||
"binop_with_side_effects27" [label="27: Prune (true branch) \n PRUNE((1 != 0), true); [line 19]\n " shape="invhouse"]
|
||||
|
||||
|
||||
27 -> 29 ;
|
||||
26 [label="26: + \n " ]
|
||||
"binop_with_side_effects27" -> "binop_with_side_effects29" ;
|
||||
"binop_with_side_effects26" [label="26: + \n " ]
|
||||
|
||||
|
||||
26 -> 32 ;
|
||||
26 -> 33 ;
|
||||
25 [label="25: DeclStmt \n n$15=*&0$?%__sil_tmpSIL_temp_conditional___n$12:int [line 22]\n *&y1:int =(n$15 + 77) [line 22]\n " shape="box"]
|
||||
"binop_with_side_effects26" -> "binop_with_side_effects32" ;
|
||||
"binop_with_side_effects26" -> "binop_with_side_effects33" ;
|
||||
"binop_with_side_effects25" [label="25: DeclStmt \n n$15=*&0$?%__sil_tmpSIL_temp_conditional___n$12:int [line 22]\n *&y1:int =(n$15 + 77) [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 15 ;
|
||||
25 -> 16 ;
|
||||
24 [label="24: ConditinalStmt Branch \n n$14=*&z:int [line 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int =n$14 [line 22]\n " shape="box"]
|
||||
"binop_with_side_effects25" -> "binop_with_side_effects15" ;
|
||||
"binop_with_side_effects25" -> "binop_with_side_effects16" ;
|
||||
"binop_with_side_effects24" [label="24: ConditinalStmt Branch \n n$14=*&z:int [line 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int =n$14 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
24 -> 20 ;
|
||||
23 [label="23: ConditinalStmt Branch \n n$13=*&z:int [line 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int =n$13 [line 22]\n " shape="box"]
|
||||
"binop_with_side_effects24" -> "binop_with_side_effects20" ;
|
||||
"binop_with_side_effects23" [label="23: ConditinalStmt Branch \n n$13=*&z:int [line 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$12:int =n$13 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 20 ;
|
||||
22 [label="22: Prune (false branch) \n PRUNE((1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
"binop_with_side_effects23" -> "binop_with_side_effects20" ;
|
||||
"binop_with_side_effects22" [label="22: Prune (false branch) \n PRUNE((1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
22 -> 24 ;
|
||||
21 [label="21: Prune (true branch) \n PRUNE((1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
"binop_with_side_effects22" -> "binop_with_side_effects24" ;
|
||||
"binop_with_side_effects21" [label="21: Prune (true branch) \n PRUNE((1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
21 -> 23 ;
|
||||
20 [label="20: + \n " ]
|
||||
"binop_with_side_effects21" -> "binop_with_side_effects23" ;
|
||||
"binop_with_side_effects20" [label="20: + \n " ]
|
||||
|
||||
|
||||
20 -> 25 ;
|
||||
19 [label="19: DeclStmt \n n$11=*&0$?%__sil_tmpSIL_temp_conditional___n$8:int [line 24]\n *&y2:int =(77 + n$11) [line 24]\n " shape="box"]
|
||||
"binop_with_side_effects20" -> "binop_with_side_effects25" ;
|
||||
"binop_with_side_effects19" [label="19: DeclStmt \n n$11=*&0$?%__sil_tmpSIL_temp_conditional___n$8:int [line 24]\n *&y2:int =(77 + n$11) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 4 ;
|
||||
19 -> 5 ;
|
||||
18 [label="18: ConditinalStmt Branch \n n$10=*&z:int [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int =n$10 [line 24]\n " shape="box"]
|
||||
"binop_with_side_effects19" -> "binop_with_side_effects4" ;
|
||||
"binop_with_side_effects19" -> "binop_with_side_effects5" ;
|
||||
"binop_with_side_effects18" [label="18: ConditinalStmt Branch \n n$10=*&z:int [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int =n$10 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 14 ;
|
||||
17 [label="17: ConditinalStmt Branch \n n$9=*&z:int [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int =n$9 [line 24]\n " shape="box"]
|
||||
"binop_with_side_effects18" -> "binop_with_side_effects14" ;
|
||||
"binop_with_side_effects17" [label="17: ConditinalStmt Branch \n n$9=*&z:int [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int =n$9 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 14 ;
|
||||
16 [label="16: Prune (false branch) \n PRUNE((1 == 0), false); [line 24]\n " shape="invhouse"]
|
||||
"binop_with_side_effects17" -> "binop_with_side_effects14" ;
|
||||
"binop_with_side_effects16" [label="16: Prune (false branch) \n PRUNE((1 == 0), false); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: Prune (true branch) \n PRUNE((1 != 0), true); [line 24]\n " shape="invhouse"]
|
||||
"binop_with_side_effects16" -> "binop_with_side_effects18" ;
|
||||
"binop_with_side_effects15" [label="15: Prune (true branch) \n PRUNE((1 != 0), true); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
15 -> 17 ;
|
||||
14 [label="14: + \n " ]
|
||||
"binop_with_side_effects15" -> "binop_with_side_effects17" ;
|
||||
"binop_with_side_effects14" [label="14: + \n " ]
|
||||
|
||||
|
||||
14 -> 19 ;
|
||||
13 [label="13: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 26]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 26]\n *&y3:int =(n$3 + n$7) [line 26]\n " shape="box"]
|
||||
"binop_with_side_effects14" -> "binop_with_side_effects19" ;
|
||||
"binop_with_side_effects13" [label="13: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 26]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 26]\n *&y3:int =(n$3 + n$7) [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 2 ;
|
||||
12 [label="12: ConditinalStmt Branch \n n$6=*&z:int [line 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =n$6 [line 26]\n " shape="box"]
|
||||
"binop_with_side_effects13" -> "binop_with_side_effects2" ;
|
||||
"binop_with_side_effects12" [label="12: ConditinalStmt Branch \n n$6=*&z:int [line 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =n$6 [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 8 ;
|
||||
11 [label="11: ConditinalStmt Branch \n n$5=*&z:int [line 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =n$5 [line 26]\n " shape="box"]
|
||||
"binop_with_side_effects12" -> "binop_with_side_effects8" ;
|
||||
"binop_with_side_effects11" [label="11: ConditinalStmt Branch \n n$5=*&z:int [line 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =n$5 [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 8 ;
|
||||
10 [label="10: Prune (false branch) \n PRUNE((1 == 0), false); [line 26]\n " shape="invhouse"]
|
||||
"binop_with_side_effects11" -> "binop_with_side_effects8" ;
|
||||
"binop_with_side_effects10" [label="10: Prune (false branch) \n PRUNE((1 == 0), false); [line 26]\n " shape="invhouse"]
|
||||
|
||||
|
||||
10 -> 12 ;
|
||||
9 [label="9: Prune (true branch) \n PRUNE((1 != 0), true); [line 26]\n " shape="invhouse"]
|
||||
"binop_with_side_effects10" -> "binop_with_side_effects12" ;
|
||||
"binop_with_side_effects9" [label="9: Prune (true branch) \n PRUNE((1 != 0), true); [line 26]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 -> 11 ;
|
||||
8 [label="8: + \n " ]
|
||||
"binop_with_side_effects9" -> "binop_with_side_effects11" ;
|
||||
"binop_with_side_effects8" [label="8: + \n " ]
|
||||
|
||||
|
||||
8 -> 13 ;
|
||||
7 [label="7: ConditinalStmt Branch \n n$2=*&z:int [line 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$2 [line 26]\n " shape="box"]
|
||||
"binop_with_side_effects8" -> "binop_with_side_effects13" ;
|
||||
"binop_with_side_effects7" [label="7: ConditinalStmt Branch \n n$2=*&z:int [line 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$2 [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: ConditinalStmt Branch \n n$1=*&z:int [line 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$1 [line 26]\n " shape="box"]
|
||||
"binop_with_side_effects7" -> "binop_with_side_effects3" ;
|
||||
"binop_with_side_effects6" [label="6: ConditinalStmt Branch \n n$1=*&z:int [line 26]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$1 [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 26]\n " shape="invhouse"]
|
||||
"binop_with_side_effects6" -> "binop_with_side_effects3" ;
|
||||
"binop_with_side_effects5" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 26]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 26]\n " shape="invhouse"]
|
||||
"binop_with_side_effects5" -> "binop_with_side_effects7" ;
|
||||
"binop_with_side_effects4" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 26]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: + \n " ]
|
||||
"binop_with_side_effects4" -> "binop_with_side_effects6" ;
|
||||
"binop_with_side_effects3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 9 ;
|
||||
3 -> 10 ;
|
||||
2 [label="2: Exit binop_with_side_effects \n " color=yellow style=filled]
|
||||
"binop_with_side_effects3" -> "binop_with_side_effects9" ;
|
||||
"binop_with_side_effects3" -> "binop_with_side_effects10" ;
|
||||
"binop_with_side_effects2" [label="2: Exit binop_with_side_effects \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start binop_with_side_effects\nFormals: z:int \nLocals: y3:int 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int y2:int 0$?%__sil_tmpSIL_temp_conditional___n$8:int y1:int 0$?%__sil_tmpSIL_temp_conditional___n$12:int 0$?%__sil_tmpSIL_temp_conditional___n$16:int 0$?%__sil_tmpSIL_temp_conditional___n$20:int x3:int 0$?%__sil_tmpSIL_temp_conditional___n$24:int x2:int 0$?%__sil_tmpSIL_temp_conditional___n$28:int x1:int \n DECLARE_LOCALS(&return,&y3,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$4,&y2,&0$?%__sil_tmpSIL_temp_conditional___n$8,&y1,&0$?%__sil_tmpSIL_temp_conditional___n$12,&0$?%__sil_tmpSIL_temp_conditional___n$16,&0$?%__sil_tmpSIL_temp_conditional___n$20,&x3,&0$?%__sil_tmpSIL_temp_conditional___n$24,&x2,&0$?%__sil_tmpSIL_temp_conditional___n$28,&x1); [line 10]\n " color=yellow style=filled]
|
||||
"binop_with_side_effects1" [label="1: Start binop_with_side_effects\nFormals: z:int \nLocals: y3:int 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int y2:int 0$?%__sil_tmpSIL_temp_conditional___n$8:int y1:int 0$?%__sil_tmpSIL_temp_conditional___n$12:int 0$?%__sil_tmpSIL_temp_conditional___n$16:int 0$?%__sil_tmpSIL_temp_conditional___n$20:int x3:int 0$?%__sil_tmpSIL_temp_conditional___n$24:int x2:int 0$?%__sil_tmpSIL_temp_conditional___n$28:int x1:int \n DECLARE_LOCALS(&return,&y3,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$4,&y2,&0$?%__sil_tmpSIL_temp_conditional___n$8,&y1,&0$?%__sil_tmpSIL_temp_conditional___n$12,&0$?%__sil_tmpSIL_temp_conditional___n$16,&0$?%__sil_tmpSIL_temp_conditional___n$20,&x3,&0$?%__sil_tmpSIL_temp_conditional___n$24,&x2,&0$?%__sil_tmpSIL_temp_conditional___n$28,&x1); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 44 ;
|
||||
1 -> 45 ;
|
||||
"binop_with_side_effects1" -> "binop_with_side_effects44" ;
|
||||
"binop_with_side_effects1" -> "binop_with_side_effects45" ;
|
||||
}
|
||||
|
@ -1,243 +1,243 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
58 [label="58: BinaryOperatorStmt: Assign \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int [line 23]\n *&y:int =n$9 [line 23]\n " shape="box"]
|
||||
"foo37" [label="37: DeclStmt \n *&x:int =5 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
58 -> 42 ;
|
||||
58 -> 43 ;
|
||||
57 [label="57: ConditinalStmt Branch \n n$8=*&x:int [line 23]\n *&x:int =(n$8 - 1) [line 23]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int =n$8 [line 23]\n " shape="box"]
|
||||
"foo37" -> "foo31" ;
|
||||
"foo37" -> "foo32" ;
|
||||
"foo36" [label="36: BinaryOperatorStmt: Assign \n *&x:int =0 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
57 -> 52 ;
|
||||
56 [label="56: ConditinalStmt Branch \n n$7=*&x:int [line 23]\n *&x:int =(n$7 + 1) [line 23]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int =(n$7 + 1) [line 23]\n " shape="box"]
|
||||
"foo36" -> "foo30" ;
|
||||
"foo35" [label="35: Prune (false branch) \n PRUNE(((7 < n$10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
56 -> 52 ;
|
||||
55 [label="55: Prune (false branch) \n PRUNE(((n$6 > 1) == 0), false); [line 23]\n " shape="invhouse"]
|
||||
"foo35" -> "foo30" ;
|
||||
"foo34" [label="34: Prune (true branch) \n PRUNE(((7 < n$10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
55 -> 57 ;
|
||||
54 [label="54: Prune (true branch) \n PRUNE(((n$6 > 1) != 0), true); [line 23]\n " shape="invhouse"]
|
||||
"foo34" -> "foo36" ;
|
||||
"foo33" [label="33: BinaryOperatorStmt: LT \n n$10=*&x:int [line 12]\n *&x:int =(n$10 + 1) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
54 -> 56 ;
|
||||
53 [label="53: BinaryOperatorStmt: GT \n *&x:int =1 [line 23]\n n$6=*&x:int [line 23]\n " shape="box"]
|
||||
"foo33" -> "foo34" ;
|
||||
"foo33" -> "foo35" ;
|
||||
"foo32" [label="32: Prune (false branch) \n PRUNE(((3 < 4) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
53 -> 54 ;
|
||||
53 -> 55 ;
|
||||
52 [label="52: + \n " ]
|
||||
"foo32" -> "foo33" ;
|
||||
"foo31" [label="31: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
52 -> 58 ;
|
||||
51 [label="51: Return Stmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 24]\n *&return:int =(0 + n$4) [line 24]\n " shape="box"]
|
||||
"foo31" -> "foo36" ;
|
||||
"foo30" [label="30: + \n " ]
|
||||
|
||||
|
||||
51 -> 39 ;
|
||||
50 [label="50: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 24]\n " shape="box"]
|
||||
"foo30" -> "foo29" ;
|
||||
"foo29" [label="29: DeclStmt \n *&y:int =19 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
50 -> 40 ;
|
||||
49 [label="49: ConditinalStmt Branch \n *&x:int =1 [line 24]\n n$3=*&x:int [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$3 [line 24]\n " shape="box"]
|
||||
"foo29" -> "foo21" ;
|
||||
"foo29" -> "foo22" ;
|
||||
"foo28" [label="28: DeclStmt \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 16]\n *&n:int =n$9 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
49 -> 40 ;
|
||||
48 [label="48: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 24]\n " shape="invhouse"]
|
||||
"foo28" -> "foo10" ;
|
||||
"foo28" -> "foo11" ;
|
||||
"foo27" [label="27: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =2 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
48 -> 50 ;
|
||||
47 [label="47: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 24]\n " shape="invhouse"]
|
||||
"foo27" -> "foo20" ;
|
||||
"foo26" [label="26: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =1 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
47 -> 49 ;
|
||||
46 [label="46: BinaryOperatorStmt: GT \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 24]\n " shape="box"]
|
||||
"foo26" -> "foo20" ;
|
||||
"foo25" [label="25: Prune (false branch) \n PRUNE(((7 < (n$7 - n$8)) == 0), false); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
46 -> 47 ;
|
||||
46 -> 48 ;
|
||||
45 [label="45: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =2 [line 24]\n " shape="box"]
|
||||
"foo25" -> "foo27" ;
|
||||
"foo24" [label="24: Prune (true branch) \n PRUNE(((7 < (n$7 - n$8)) != 0), true); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
45 -> 41 ;
|
||||
44 [label="44: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 24]\n " shape="box"]
|
||||
"foo24" -> "foo26" ;
|
||||
"foo23" [label="23: BinaryOperatorStmt: LT \n n$7=*&x:int [line 16]\n *&x:int =(n$7 + 1) [line 16]\n n$8=*&y:int [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
44 -> 41 ;
|
||||
43 [label="43: Prune (false branch) \n PRUNE(((3 > 4) == 0), false); [line 24]\n " shape="invhouse"]
|
||||
"foo23" -> "foo24" ;
|
||||
"foo23" -> "foo25" ;
|
||||
"foo22" [label="22: Prune (false branch) \n PRUNE(((3 < 4) == 0), false); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
43 -> 45 ;
|
||||
42 [label="42: Prune (true branch) \n PRUNE(((3 > 4) != 0), true); [line 24]\n " shape="invhouse"]
|
||||
"foo22" -> "foo23" ;
|
||||
"foo21" [label="21: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
42 -> 44 ;
|
||||
41 [label="41: + \n " ]
|
||||
"foo21" -> "foo26" ;
|
||||
"foo20" [label="20: + \n " ]
|
||||
|
||||
|
||||
41 -> 46 ;
|
||||
40 [label="40: + \n " ]
|
||||
"foo20" -> "foo28" ;
|
||||
"foo19" [label="19: BinaryOperatorStmt: Assign \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 17]\n *&n:int =n$5 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
40 -> 51 ;
|
||||
39 [label="39: Exit bar \n " color=yellow style=filled]
|
||||
"foo19" -> "foo4" ;
|
||||
"foo19" -> "foo5" ;
|
||||
"foo18" [label="18: ConditinalStmt Branch \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =n$4 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
38 [label="38: Start bar\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int 0$?%__sil_tmpSIL_temp_conditional___n$5:int y:int x:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$1,&0$?%__sil_tmpSIL_temp_conditional___n$5,&y,&x); [line 21]\n " color=yellow style=filled]
|
||||
"foo18" -> "foo9" ;
|
||||
"foo17" [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =2 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
38 -> 53 ;
|
||||
37 [label="37: DeclStmt \n *&x:int =5 [line 11]\n " shape="box"]
|
||||
"foo17" -> "foo13" ;
|
||||
"foo16" [label="16: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
37 -> 31 ;
|
||||
37 -> 32 ;
|
||||
36 [label="36: BinaryOperatorStmt: Assign \n *&x:int =0 [line 13]\n " shape="box"]
|
||||
"foo16" -> "foo13" ;
|
||||
"foo15" [label="15: Prune (false branch) \n PRUNE(((5 > 4) == 0), false); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
36 -> 30 ;
|
||||
35 [label="35: Prune (false branch) \n PRUNE(((7 < n$10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"foo15" -> "foo17" ;
|
||||
"foo14" [label="14: Prune (true branch) \n PRUNE(((5 > 4) != 0), true); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
35 -> 30 ;
|
||||
34 [label="34: Prune (true branch) \n PRUNE(((7 < n$10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"foo14" -> "foo16" ;
|
||||
"foo13" [label="13: + \n " ]
|
||||
|
||||
|
||||
34 -> 36 ;
|
||||
33 [label="33: BinaryOperatorStmt: LT \n n$10=*&x:int [line 12]\n *&x:int =(n$10 + 1) [line 12]\n " shape="box"]
|
||||
"foo13" -> "foo18" ;
|
||||
"foo12" [label="12: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
33 -> 34 ;
|
||||
33 -> 35 ;
|
||||
32 [label="32: Prune (false branch) \n PRUNE(((3 < 4) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"foo12" -> "foo9" ;
|
||||
"foo11" [label="11: Prune (false branch) \n PRUNE(((2 < 1) == 0), false); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
32 -> 33 ;
|
||||
31 [label="31: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"foo11" -> "foo14" ;
|
||||
"foo11" -> "foo15" ;
|
||||
"foo10" [label="10: Prune (true branch) \n PRUNE(((2 < 1) != 0), true); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
31 -> 36 ;
|
||||
30 [label="30: + \n " ]
|
||||
"foo10" -> "foo12" ;
|
||||
"foo9" [label="9: + \n " ]
|
||||
|
||||
|
||||
30 -> 29 ;
|
||||
29 [label="29: DeclStmt \n *&y:int =19 [line 15]\n " shape="box"]
|
||||
"foo9" -> "foo19" ;
|
||||
"foo8" [label="8: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18]\n *&return:int =(0 + n$1) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
29 -> 21 ;
|
||||
29 -> 22 ;
|
||||
28 [label="28: DeclStmt \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 16]\n *&n:int =n$9 [line 16]\n " shape="box"]
|
||||
"foo8" -> "foo2" ;
|
||||
"foo7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
28 -> 10 ;
|
||||
28 -> 11 ;
|
||||
27 [label="27: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =2 [line 16]\n " shape="box"]
|
||||
"foo7" -> "foo3" ;
|
||||
"foo6" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
27 -> 20 ;
|
||||
26 [label="26: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =1 [line 16]\n " shape="box"]
|
||||
"foo6" -> "foo3" ;
|
||||
"foo5" [label="5: Prune (false branch) \n PRUNE(((7 > 9) == 0), false); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
26 -> 20 ;
|
||||
25 [label="25: Prune (false branch) \n PRUNE(((7 < (n$7 - n$8)) == 0), false); [line 16]\n " shape="invhouse"]
|
||||
"foo5" -> "foo7" ;
|
||||
"foo4" [label="4: Prune (true branch) \n PRUNE(((7 > 9) != 0), true); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
25 -> 27 ;
|
||||
24 [label="24: Prune (true branch) \n PRUNE(((7 < (n$7 - n$8)) != 0), true); [line 16]\n " shape="invhouse"]
|
||||
"foo4" -> "foo6" ;
|
||||
"foo3" [label="3: + \n " ]
|
||||
|
||||
|
||||
24 -> 26 ;
|
||||
23 [label="23: BinaryOperatorStmt: LT \n n$7=*&x:int [line 16]\n *&x:int =(n$7 + 1) [line 16]\n n$8=*&y:int [line 16]\n " shape="box"]
|
||||
"foo3" -> "foo8" ;
|
||||
"foo2" [label="2: Exit foo \n " color=yellow style=filled]
|
||||
|
||||
|
||||
23 -> 24 ;
|
||||
23 -> 25 ;
|
||||
22 [label="22: Prune (false branch) \n PRUNE(((3 < 4) == 0), false); [line 16]\n " shape="invhouse"]
|
||||
"foo1" [label="1: Start foo\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int n:int 0$?%__sil_tmpSIL_temp_conditional___n$6:int y:int x:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_temp_conditional___n$3,&n,&0$?%__sil_tmpSIL_temp_conditional___n$6,&y,&x); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
22 -> 23 ;
|
||||
21 [label="21: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 16]\n " shape="invhouse"]
|
||||
"foo1" -> "foo37" ;
|
||||
"bar21" [label="21: BinaryOperatorStmt: Assign \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int [line 23]\n *&y:int =n$9 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
21 -> 26 ;
|
||||
20 [label="20: + \n " ]
|
||||
"bar21" -> "bar5" ;
|
||||
"bar21" -> "bar6" ;
|
||||
"bar20" [label="20: ConditinalStmt Branch \n n$8=*&x:int [line 23]\n *&x:int =(n$8 - 1) [line 23]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int =n$8 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 28 ;
|
||||
19 [label="19: BinaryOperatorStmt: Assign \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 17]\n *&n:int =n$5 [line 17]\n " shape="box"]
|
||||
"bar20" -> "bar15" ;
|
||||
"bar19" [label="19: ConditinalStmt Branch \n n$7=*&x:int [line 23]\n *&x:int =(n$7 + 1) [line 23]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int =(n$7 + 1) [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 4 ;
|
||||
19 -> 5 ;
|
||||
18 [label="18: ConditinalStmt Branch \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =n$4 [line 17]\n " shape="box"]
|
||||
"bar19" -> "bar15" ;
|
||||
"bar18" [label="18: Prune (false branch) \n PRUNE(((n$6 > 1) == 0), false); [line 23]\n " shape="invhouse"]
|
||||
|
||||
|
||||
18 -> 9 ;
|
||||
17 [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =2 [line 17]\n " shape="box"]
|
||||
"bar18" -> "bar20" ;
|
||||
"bar17" [label="17: Prune (true branch) \n PRUNE(((n$6 > 1) != 0), true); [line 23]\n " shape="invhouse"]
|
||||
|
||||
|
||||
17 -> 13 ;
|
||||
16 [label="16: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 17]\n " shape="box"]
|
||||
"bar17" -> "bar19" ;
|
||||
"bar16" [label="16: BinaryOperatorStmt: GT \n *&x:int =1 [line 23]\n n$6=*&x:int [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 13 ;
|
||||
15 [label="15: Prune (false branch) \n PRUNE(((5 > 4) == 0), false); [line 17]\n " shape="invhouse"]
|
||||
"bar16" -> "bar17" ;
|
||||
"bar16" -> "bar18" ;
|
||||
"bar15" [label="15: + \n " ]
|
||||
|
||||
|
||||
15 -> 17 ;
|
||||
14 [label="14: Prune (true branch) \n PRUNE(((5 > 4) != 0), true); [line 17]\n " shape="invhouse"]
|
||||
"bar15" -> "bar21" ;
|
||||
"bar14" [label="14: Return Stmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 24]\n *&return:int =(0 + n$4) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 16 ;
|
||||
13 [label="13: + \n " ]
|
||||
"bar14" -> "bar2" ;
|
||||
"bar13" [label="13: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 18 ;
|
||||
12 [label="12: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 17]\n " shape="box"]
|
||||
"bar13" -> "bar3" ;
|
||||
"bar12" [label="12: ConditinalStmt Branch \n *&x:int =1 [line 24]\n n$3=*&x:int [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$3 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 9 ;
|
||||
11 [label="11: Prune (false branch) \n PRUNE(((2 < 1) == 0), false); [line 17]\n " shape="invhouse"]
|
||||
"bar12" -> "bar3" ;
|
||||
"bar11" [label="11: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
11 -> 14 ;
|
||||
11 -> 15 ;
|
||||
10 [label="10: Prune (true branch) \n PRUNE(((2 < 1) != 0), true); [line 17]\n " shape="invhouse"]
|
||||
"bar11" -> "bar13" ;
|
||||
"bar10" [label="10: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
10 -> 12 ;
|
||||
9 [label="9: + \n " ]
|
||||
"bar10" -> "bar12" ;
|
||||
"bar9" [label="9: BinaryOperatorStmt: GT \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 19 ;
|
||||
8 [label="8: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18]\n *&return:int =(0 + n$1) [line 18]\n " shape="box"]
|
||||
"bar9" -> "bar10" ;
|
||||
"bar9" -> "bar11" ;
|
||||
"bar8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =2 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 2 ;
|
||||
7 [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 18]\n " shape="box"]
|
||||
"bar8" -> "bar4" ;
|
||||
"bar7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 18]\n " shape="box"]
|
||||
"bar7" -> "bar4" ;
|
||||
"bar6" [label="6: Prune (false branch) \n PRUNE(((3 > 4) == 0), false); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (false branch) \n PRUNE(((7 > 9) == 0), false); [line 18]\n " shape="invhouse"]
|
||||
"bar6" -> "bar8" ;
|
||||
"bar5" [label="5: Prune (true branch) \n PRUNE(((3 > 4) != 0), true); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: Prune (true branch) \n PRUNE(((7 > 9) != 0), true); [line 18]\n " shape="invhouse"]
|
||||
"bar5" -> "bar7" ;
|
||||
"bar4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: + \n " ]
|
||||
"bar4" -> "bar9" ;
|
||||
"bar3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 8 ;
|
||||
2 [label="2: Exit foo \n " color=yellow style=filled]
|
||||
"bar3" -> "bar14" ;
|
||||
"bar2" [label="2: Exit bar \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start foo\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int n:int 0$?%__sil_tmpSIL_temp_conditional___n$6:int y:int x:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_temp_conditional___n$3,&n,&0$?%__sil_tmpSIL_temp_conditional___n$6,&y,&x); [line 10]\n " color=yellow style=filled]
|
||||
"bar1" [label="1: Start bar\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int 0$?%__sil_tmpSIL_temp_conditional___n$5:int y:int x:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$1,&0$?%__sil_tmpSIL_temp_conditional___n$5,&y,&x); [line 21]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 37 ;
|
||||
"bar1" -> "bar16" ;
|
||||
}
|
||||
|
@ -1,266 +1,266 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
66 [label="66: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 35]\n *&return:int =n$3 [line 35]\n " shape="box"]
|
||||
"test310" [label="10: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 22]\n *&x:int =n$3 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
66 -> 59 ;
|
||||
65 [label="65: BinaryConditinalStmt Init \n n$0=_fun_test2(2:int ) [line 35]\n n$1=_fun_test2((2 + n$0):int ) [line 35]\n " shape="box"]
|
||||
"test310" -> "test33" ;
|
||||
"test39" [label="9: BinaryConditinalStmt Init \n n$1=*&b:int [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
65 -> 61 ;
|
||||
65 -> 62 ;
|
||||
64 [label="64: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =2 [line 35]\n " shape="box"]
|
||||
"test39" -> "test35" ;
|
||||
"test39" -> "test36" ;
|
||||
"test38" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
64 -> 60 ;
|
||||
63 [label="63: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =n$1 [line 35]\n " shape="box"]
|
||||
"test38" -> "test34" ;
|
||||
"test37" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =n$1 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
63 -> 60 ;
|
||||
62 [label="62: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 35]\n " shape="invhouse"]
|
||||
"test37" -> "test34" ;
|
||||
"test36" [label="6: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
62 -> 64 ;
|
||||
61 [label="61: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 35]\n " shape="invhouse"]
|
||||
"test36" -> "test38" ;
|
||||
"test35" [label="5: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
61 -> 63 ;
|
||||
60 [label="60: + \n " ]
|
||||
"test35" -> "test37" ;
|
||||
"test34" [label="4: + \n " ]
|
||||
|
||||
|
||||
60 -> 66 ;
|
||||
59 [label="59: Exit test7 \n " color=yellow style=filled]
|
||||
"test34" -> "test310" ;
|
||||
"test33" [label="3: Return Stmt \n n$0=*&x:int [line 23]\n *&return:int =n$0 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
58 [label="58: Start test7\nFormals: b:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$2:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 35]\n " color=yellow style=filled]
|
||||
"test33" -> "test32" ;
|
||||
"test32" [label="2: Exit test3 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
58 -> 65 ;
|
||||
57 [label="57: DeclStmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 31]\n *&z:int =n$4 [line 31]\n " shape="box"]
|
||||
"test31" [label="1: Start test3\nFormals: b:int \nLocals: x:int 0$?%__sil_tmpSIL_temp_conditional___n$2:int \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 21]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
57 -> 51 ;
|
||||
56 [label="56: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =0 [line 31]\n " shape="box"]
|
||||
"test31" -> "test39" ;
|
||||
"test59" [label="9: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 28]\n *&return:int =n$2 [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
56 -> 52 ;
|
||||
55 [label="55: ConditinalStmt Branch \n n$2=*&p:int * [line 31]\n n$3=*n$2:int [line 31]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$3 [line 31]\n " shape="box"]
|
||||
"test59" -> "test52" ;
|
||||
"test58" [label="8: BinaryConditinalStmt Init \n n$0=*&b:int [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
55 -> 52 ;
|
||||
54 [label="54: Prune (false branch) \n PRUNE((1 == 0), false); [line 31]\n " shape="invhouse"]
|
||||
"test58" -> "test54" ;
|
||||
"test58" -> "test55" ;
|
||||
"test57" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
54 -> 56 ;
|
||||
53 [label="53: Prune (true branch) \n PRUNE((1 != 0), true); [line 31]\n " shape="invhouse"]
|
||||
"test57" -> "test53" ;
|
||||
"test56" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$0 [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
53 -> 55 ;
|
||||
52 [label="52: + \n " ]
|
||||
"test56" -> "test53" ;
|
||||
"test55" [label="5: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 28]\n " shape="invhouse"]
|
||||
|
||||
|
||||
52 -> 57 ;
|
||||
51 [label="51: Return Stmt \n n$0=*&z:int [line 32]\n *&return:int =n$0 [line 32]\n " shape="box"]
|
||||
"test55" -> "test57" ;
|
||||
"test54" [label="4: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 28]\n " shape="invhouse"]
|
||||
|
||||
|
||||
51 -> 50 ;
|
||||
50 [label="50: Exit test6 \n " color=yellow style=filled]
|
||||
"test54" -> "test56" ;
|
||||
"test53" [label="3: + \n " ]
|
||||
|
||||
|
||||
49 [label="49: Start test6\nFormals: p:int *\nLocals: z:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&z,&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 30]\n " color=yellow style=filled]
|
||||
"test53" -> "test59" ;
|
||||
"test52" [label="2: Exit test5 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
49 -> 53 ;
|
||||
49 -> 54 ;
|
||||
48 [label="48: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 28]\n *&return:int =n$2 [line 28]\n " shape="box"]
|
||||
"test51" [label="1: Start test5\nFormals: b:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 28]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
48 -> 41 ;
|
||||
47 [label="47: BinaryConditinalStmt Init \n n$0=*&b:int [line 28]\n " shape="box"]
|
||||
"test51" -> "test58" ;
|
||||
"test49" [label="9: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 26]\n n$3=_fun_test2(n$2:int ) [line 26]\n *&return:int =n$3 [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
47 -> 43 ;
|
||||
47 -> 44 ;
|
||||
46 [label="46: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 28]\n " shape="box"]
|
||||
"test49" -> "test42" ;
|
||||
"test48" [label="8: BinaryConditinalStmt Init \n n$0=*&b:int [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
46 -> 42 ;
|
||||
45 [label="45: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$0 [line 28]\n " shape="box"]
|
||||
"test48" -> "test44" ;
|
||||
"test48" -> "test45" ;
|
||||
"test47" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
45 -> 42 ;
|
||||
44 [label="44: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 28]\n " shape="invhouse"]
|
||||
"test47" -> "test43" ;
|
||||
"test46" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$0 [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
44 -> 46 ;
|
||||
43 [label="43: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 28]\n " shape="invhouse"]
|
||||
"test46" -> "test43" ;
|
||||
"test45" [label="5: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 26]\n " shape="invhouse"]
|
||||
|
||||
|
||||
43 -> 45 ;
|
||||
42 [label="42: + \n " ]
|
||||
"test45" -> "test47" ;
|
||||
"test44" [label="4: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 26]\n " shape="invhouse"]
|
||||
|
||||
|
||||
42 -> 48 ;
|
||||
41 [label="41: Exit test5 \n " color=yellow style=filled]
|
||||
"test44" -> "test46" ;
|
||||
"test43" [label="3: + \n " ]
|
||||
|
||||
|
||||
40 [label="40: Start test5\nFormals: b:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 28]\n " color=yellow style=filled]
|
||||
"test43" -> "test49" ;
|
||||
"test42" [label="2: Exit test4 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
40 -> 47 ;
|
||||
39 [label="39: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 26]\n n$3=_fun_test2(n$2:int ) [line 26]\n *&return:int =n$3 [line 26]\n " shape="box"]
|
||||
"test41" [label="1: Start test4\nFormals: b:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 26]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
39 -> 32 ;
|
||||
38 [label="38: BinaryConditinalStmt Init \n n$0=*&b:int [line 26]\n " shape="box"]
|
||||
"test41" -> "test48" ;
|
||||
"test23" [label="3: Return Stmt \n n$0=*&x:int [line 12]\n *&return:int =n$0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
38 -> 34 ;
|
||||
38 -> 35 ;
|
||||
37 [label="37: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 26]\n " shape="box"]
|
||||
"test23" -> "test22" ;
|
||||
"test22" [label="2: Exit test2 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
37 -> 33 ;
|
||||
36 [label="36: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$0 [line 26]\n " shape="box"]
|
||||
"test21" [label="1: Start test2\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
36 -> 33 ;
|
||||
35 [label="35: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 26]\n " shape="invhouse"]
|
||||
"test21" -> "test23" ;
|
||||
"test19" [label="9: DeclStmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 17]\n *&x:int =n$4 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
35 -> 37 ;
|
||||
34 [label="34: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 26]\n " shape="invhouse"]
|
||||
"test19" -> "test13" ;
|
||||
"test18" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
34 -> 36 ;
|
||||
33 [label="33: + \n " ]
|
||||
"test18" -> "test14" ;
|
||||
"test17" [label="7: ConditinalStmt Branch \n n$3=*&b:int [line 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$3 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
33 -> 39 ;
|
||||
32 [label="32: Exit test4 \n " color=yellow style=filled]
|
||||
"test17" -> "test14" ;
|
||||
"test16" [label="6: Prune (false branch) \n n$2=*&b:int [line 17]\n PRUNE((n$2 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
31 [label="31: Start test4\nFormals: b:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 26]\n " color=yellow style=filled]
|
||||
"test16" -> "test18" ;
|
||||
"test15" [label="5: Prune (true branch) \n n$2=*&b:int [line 17]\n PRUNE((n$2 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
31 -> 38 ;
|
||||
30 [label="30: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 22]\n *&x:int =n$3 [line 22]\n " shape="box"]
|
||||
"test15" -> "test17" ;
|
||||
"test14" [label="4: + \n " ]
|
||||
|
||||
|
||||
30 -> 23 ;
|
||||
29 [label="29: BinaryConditinalStmt Init \n n$1=*&b:int [line 22]\n " shape="box"]
|
||||
"test14" -> "test19" ;
|
||||
"test13" [label="3: Return Stmt \n n$0=*&x:int [line 18]\n *&return:int =n$0 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
29 -> 25 ;
|
||||
29 -> 26 ;
|
||||
28 [label="28: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 22]\n " shape="box"]
|
||||
"test13" -> "test12" ;
|
||||
"test12" [label="2: Exit test1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
28 -> 24 ;
|
||||
27 [label="27: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =n$1 [line 22]\n " shape="box"]
|
||||
"test11" [label="1: Start test1\nFormals: b:int \nLocals: x:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
27 -> 24 ;
|
||||
26 [label="26: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
"test11" -> "test15" ;
|
||||
"test11" -> "test16" ;
|
||||
"test79" [label="9: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 35]\n *&return:int =n$3 [line 35]\n " shape="box"]
|
||||
|
||||
|
||||
26 -> 28 ;
|
||||
25 [label="25: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
"test79" -> "test72" ;
|
||||
"test78" [label="8: BinaryConditinalStmt Init \n n$0=_fun_test2(2:int ) [line 35]\n n$1=_fun_test2((2 + n$0):int ) [line 35]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 27 ;
|
||||
24 [label="24: + \n " ]
|
||||
"test78" -> "test74" ;
|
||||
"test78" -> "test75" ;
|
||||
"test77" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =2 [line 35]\n " shape="box"]
|
||||
|
||||
|
||||
24 -> 30 ;
|
||||
23 [label="23: Return Stmt \n n$0=*&x:int [line 23]\n *&return:int =n$0 [line 23]\n " shape="box"]
|
||||
"test77" -> "test73" ;
|
||||
"test76" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =n$1 [line 35]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 22 ;
|
||||
22 [label="22: Exit test3 \n " color=yellow style=filled]
|
||||
"test76" -> "test73" ;
|
||||
"test75" [label="5: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 35]\n " shape="invhouse"]
|
||||
|
||||
|
||||
21 [label="21: Start test3\nFormals: b:int \nLocals: x:int 0$?%__sil_tmpSIL_temp_conditional___n$2:int \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 21]\n " color=yellow style=filled]
|
||||
"test75" -> "test77" ;
|
||||
"test74" [label="4: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 35]\n " shape="invhouse"]
|
||||
|
||||
|
||||
21 -> 29 ;
|
||||
20 [label="20: DeclStmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 17]\n *&x:int =n$4 [line 17]\n " shape="box"]
|
||||
"test74" -> "test76" ;
|
||||
"test73" [label="3: + \n " ]
|
||||
|
||||
|
||||
20 -> 14 ;
|
||||
19 [label="19: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 17]\n " shape="box"]
|
||||
"test73" -> "test79" ;
|
||||
"test72" [label="2: Exit test7 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
19 -> 15 ;
|
||||
18 [label="18: ConditinalStmt Branch \n n$3=*&b:int [line 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$3 [line 17]\n " shape="box"]
|
||||
"test71" [label="1: Start test7\nFormals: b:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$2:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$2); [line 35]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
18 -> 15 ;
|
||||
17 [label="17: Prune (false branch) \n n$2=*&b:int [line 17]\n PRUNE((n$2 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
"test71" -> "test78" ;
|
||||
"test69" [label="9: DeclStmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 31]\n *&z:int =n$4 [line 31]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 19 ;
|
||||
16 [label="16: Prune (true branch) \n n$2=*&b:int [line 17]\n PRUNE((n$2 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
"test69" -> "test63" ;
|
||||
"test68" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =0 [line 31]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: + \n " ]
|
||||
"test68" -> "test64" ;
|
||||
"test67" [label="7: ConditinalStmt Branch \n n$2=*&p:int * [line 31]\n n$3=*n$2:int [line 31]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$3 [line 31]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 20 ;
|
||||
14 [label="14: Return Stmt \n n$0=*&x:int [line 18]\n *&return:int =n$0 [line 18]\n " shape="box"]
|
||||
"test67" -> "test64" ;
|
||||
"test66" [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 31]\n " shape="invhouse"]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: Exit test1 \n " color=yellow style=filled]
|
||||
"test66" -> "test68" ;
|
||||
"test65" [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 31]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 [label="12: Start test1\nFormals: b:int \nLocals: x:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 16]\n " color=yellow style=filled]
|
||||
"test65" -> "test67" ;
|
||||
"test64" [label="4: + \n " ]
|
||||
|
||||
|
||||
12 -> 16 ;
|
||||
12 -> 17 ;
|
||||
11 [label="11: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 14]\n n$4=_fun_test2(n$3:int ) [line 14]\n *&return:int =n$4 [line 14]\n " shape="box"]
|
||||
"test64" -> "test69" ;
|
||||
"test63" [label="3: Return Stmt \n n$0=*&z:int [line 32]\n *&return:int =n$0 [line 32]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 5 ;
|
||||
10 [label="10: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 14]\n " shape="box"]
|
||||
"test63" -> "test62" ;
|
||||
"test62" [label="2: Exit test6 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 6 ;
|
||||
9 [label="9: ConditinalStmt Branch \n n$2=*&b:int [line 14]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$2 [line 14]\n " shape="box"]
|
||||
"test61" [label="1: Start test6\nFormals: p:int *\nLocals: z:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int \n DECLARE_LOCALS(&return,&z,&0$?%__sil_tmpSIL_temp_conditional___n$1); [line 30]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 6 ;
|
||||
8 [label="8: Prune (false branch) \n n$1=*&b:int [line 14]\n PRUNE((n$1 == 0), false); [line 14]\n " shape="invhouse"]
|
||||
"test61" -> "test65" ;
|
||||
"test61" -> "test66" ;
|
||||
"test8" [label="8: Return Stmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 14]\n n$4=_fun_test2(n$3:int ) [line 14]\n *&return:int =n$4 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 10 ;
|
||||
7 [label="7: Prune (true branch) \n n$1=*&b:int [line 14]\n PRUNE((n$1 != 0), true); [line 14]\n " shape="invhouse"]
|
||||
"test8" -> "test2" ;
|
||||
"test7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 9 ;
|
||||
6 [label="6: + \n " ]
|
||||
"test7" -> "test3" ;
|
||||
"test6" [label="6: ConditinalStmt Branch \n n$2=*&b:int [line 14]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$2 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 11 ;
|
||||
5 [label="5: Exit test \n " color=yellow style=filled]
|
||||
"test6" -> "test3" ;
|
||||
"test5" [label="5: Prune (false branch) \n n$1=*&b:int [line 14]\n PRUNE((n$1 == 0), false); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 [label="4: Start test\nFormals: b:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 14]\n " color=yellow style=filled]
|
||||
"test5" -> "test7" ;
|
||||
"test4" [label="4: Prune (true branch) \n n$1=*&b:int [line 14]\n PRUNE((n$1 != 0), true); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 -> 7 ;
|
||||
4 -> 8 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&x:int [line 12]\n *&return:int =n$0 [line 12]\n " shape="box"]
|
||||
"test4" -> "test6" ;
|
||||
"test3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit test2 \n " color=yellow style=filled]
|
||||
"test3" -> "test8" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start test2\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: b:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"test1" -> "test4" ;
|
||||
"test1" -> "test5" ;
|
||||
}
|
||||
|
@ -1,278 +1,278 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
67 [label="67: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) [line 20]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 20]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 20]\n n$1(n$3:int ,2:int ,n$5:int ) [line 20]\n " shape="box"]
|
||||
"fun_ifthenelse223" [label="23: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) [line 15]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 15]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 15]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 15]\n n$1(n$3:int ,n$5:int ,n$7:int ) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
67 -> 51 ;
|
||||
66 [label="66: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 20]\n " shape="box"]
|
||||
"fun_ifthenelse223" -> "fun_ifthenelse22" ;
|
||||
"fun_ifthenelse222" [label="22: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =3 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
66 -> 62 ;
|
||||
65 [label="65: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 20]\n " shape="box"]
|
||||
"fun_ifthenelse222" -> "fun_ifthenelse218" ;
|
||||
"fun_ifthenelse221" [label="21: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =3 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
65 -> 62 ;
|
||||
64 [label="64: Prune (false branch) \n PRUNE((0 == 0), false); [line 20]\n " shape="invhouse"]
|
||||
"fun_ifthenelse221" -> "fun_ifthenelse218" ;
|
||||
"fun_ifthenelse220" [label="20: Prune (false branch) \n PRUNE((0 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
64 -> 66 ;
|
||||
63 [label="63: Prune (true branch) \n PRUNE((0 != 0), true); [line 20]\n " shape="invhouse"]
|
||||
"fun_ifthenelse220" -> "fun_ifthenelse222" ;
|
||||
"fun_ifthenelse219" [label="19: Prune (true branch) \n PRUNE((0 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
63 -> 65 ;
|
||||
62 [label="62: + \n " ]
|
||||
"fun_ifthenelse219" -> "fun_ifthenelse221" ;
|
||||
"fun_ifthenelse218" [label="18: + \n " ]
|
||||
|
||||
|
||||
62 -> 67 ;
|
||||
61 [label="61: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 20]\n " shape="box"]
|
||||
"fun_ifthenelse218" -> "fun_ifthenelse223" ;
|
||||
"fun_ifthenelse217" [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =2 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
61 -> 57 ;
|
||||
60 [label="60: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 20]\n " shape="box"]
|
||||
"fun_ifthenelse217" -> "fun_ifthenelse213" ;
|
||||
"fun_ifthenelse216" [label="16: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =2 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
60 -> 57 ;
|
||||
59 [label="59: Prune (false branch) \n PRUNE((0 == 0), false); [line 20]\n " shape="invhouse"]
|
||||
"fun_ifthenelse216" -> "fun_ifthenelse213" ;
|
||||
"fun_ifthenelse215" [label="15: Prune (false branch) \n PRUNE((0 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
59 -> 61 ;
|
||||
58 [label="58: Prune (true branch) \n PRUNE((0 != 0), true); [line 20]\n " shape="invhouse"]
|
||||
"fun_ifthenelse215" -> "fun_ifthenelse217" ;
|
||||
"fun_ifthenelse214" [label="14: Prune (true branch) \n PRUNE((0 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
58 -> 60 ;
|
||||
57 [label="57: + \n " ]
|
||||
"fun_ifthenelse214" -> "fun_ifthenelse216" ;
|
||||
"fun_ifthenelse213" [label="13: + \n " ]
|
||||
|
||||
|
||||
57 -> 63 ;
|
||||
57 -> 64 ;
|
||||
56 [label="56: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n " shape="box"]
|
||||
"fun_ifthenelse213" -> "fun_ifthenelse219" ;
|
||||
"fun_ifthenelse213" -> "fun_ifthenelse220" ;
|
||||
"fun_ifthenelse212" [label="12: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
56 -> 52 ;
|
||||
55 [label="55: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n " shape="box"]
|
||||
"fun_ifthenelse212" -> "fun_ifthenelse28" ;
|
||||
"fun_ifthenelse211" [label="11: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
55 -> 52 ;
|
||||
54 [label="54: Prune (false branch) \n PRUNE((1 == 0), false); [line 20]\n " shape="invhouse"]
|
||||
"fun_ifthenelse211" -> "fun_ifthenelse28" ;
|
||||
"fun_ifthenelse210" [label="10: Prune (false branch) \n PRUNE((0 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
54 -> 56 ;
|
||||
53 [label="53: Prune (true branch) \n PRUNE((1 != 0), true); [line 20]\n " shape="invhouse"]
|
||||
"fun_ifthenelse210" -> "fun_ifthenelse212" ;
|
||||
"fun_ifthenelse29" [label="9: Prune (true branch) \n PRUNE((0 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
53 -> 55 ;
|
||||
52 [label="52: + \n " ]
|
||||
"fun_ifthenelse29" -> "fun_ifthenelse211" ;
|
||||
"fun_ifthenelse28" [label="8: + \n " ]
|
||||
|
||||
|
||||
52 -> 58 ;
|
||||
52 -> 59 ;
|
||||
51 [label="51: Exit fun_ifthenelse4 \n " color=yellow style=filled]
|
||||
"fun_ifthenelse28" -> "fun_ifthenelse214" ;
|
||||
"fun_ifthenelse28" -> "fun_ifthenelse215" ;
|
||||
"fun_ifthenelse27" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
50 [label="50: Start fun_ifthenelse4\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) 0$?%__sil_tmpSIL_temp_conditional___n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 20]\n " color=yellow style=filled]
|
||||
"fun_ifthenelse27" -> "fun_ifthenelse23" ;
|
||||
"fun_ifthenelse26" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
50 -> 53 ;
|
||||
50 -> 54 ;
|
||||
49 [label="49: Call _fun_some_f \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 18]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 18]\n _fun_some_f(n$1:int ,n$3:int ,n$5:int ) [line 18]\n " shape="box"]
|
||||
"fun_ifthenelse26" -> "fun_ifthenelse23" ;
|
||||
"fun_ifthenelse25" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
49 -> 33 ;
|
||||
48 [label="48: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 18]\n " shape="box"]
|
||||
"fun_ifthenelse25" -> "fun_ifthenelse27" ;
|
||||
"fun_ifthenelse24" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
48 -> 44 ;
|
||||
47 [label="47: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 18]\n " shape="box"]
|
||||
"fun_ifthenelse24" -> "fun_ifthenelse26" ;
|
||||
"fun_ifthenelse23" [label="3: + \n " ]
|
||||
|
||||
|
||||
47 -> 44 ;
|
||||
46 [label="46: Prune (false branch) \n PRUNE((0 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
"fun_ifthenelse23" -> "fun_ifthenelse29" ;
|
||||
"fun_ifthenelse23" -> "fun_ifthenelse210" ;
|
||||
"fun_ifthenelse22" [label="2: Exit fun_ifthenelse2 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
46 -> 48 ;
|
||||
45 [label="45: Prune (true branch) \n PRUNE((0 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
"fun_ifthenelse21" [label="1: Start fun_ifthenelse2\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) 0$?%__sil_tmpSIL_temp_conditional___n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int 0$?%__sil_tmpSIL_temp_conditional___n$6:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_temp_conditional___n$4,&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
45 -> 47 ;
|
||||
44 [label="44: + \n " ]
|
||||
"fun_ifthenelse21" -> "fun_ifthenelse24" ;
|
||||
"fun_ifthenelse21" -> "fun_ifthenelse25" ;
|
||||
"fun_ifthenelse418" [label="18: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) [line 20]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 20]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 20]\n n$1(n$3:int ,2:int ,n$5:int ) [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
44 -> 49 ;
|
||||
43 [label="43: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =2 [line 18]\n " shape="box"]
|
||||
"fun_ifthenelse418" -> "fun_ifthenelse42" ;
|
||||
"fun_ifthenelse417" [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
43 -> 39 ;
|
||||
42 [label="42: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =2 [line 18]\n " shape="box"]
|
||||
"fun_ifthenelse417" -> "fun_ifthenelse413" ;
|
||||
"fun_ifthenelse416" [label="16: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
42 -> 39 ;
|
||||
41 [label="41: Prune (false branch) \n PRUNE((0 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
"fun_ifthenelse416" -> "fun_ifthenelse413" ;
|
||||
"fun_ifthenelse415" [label="15: Prune (false branch) \n PRUNE((0 == 0), false); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
41 -> 43 ;
|
||||
40 [label="40: Prune (true branch) \n PRUNE((0 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
"fun_ifthenelse415" -> "fun_ifthenelse417" ;
|
||||
"fun_ifthenelse414" [label="14: Prune (true branch) \n PRUNE((0 != 0), true); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
40 -> 42 ;
|
||||
39 [label="39: + \n " ]
|
||||
"fun_ifthenelse414" -> "fun_ifthenelse416" ;
|
||||
"fun_ifthenelse413" [label="13: + \n " ]
|
||||
|
||||
|
||||
39 -> 45 ;
|
||||
39 -> 46 ;
|
||||
38 [label="38: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 18]\n " shape="box"]
|
||||
"fun_ifthenelse413" -> "fun_ifthenelse418" ;
|
||||
"fun_ifthenelse412" [label="12: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
38 -> 34 ;
|
||||
37 [label="37: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 18]\n " shape="box"]
|
||||
"fun_ifthenelse412" -> "fun_ifthenelse48" ;
|
||||
"fun_ifthenelse411" [label="11: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
37 -> 34 ;
|
||||
36 [label="36: Prune (false branch) \n PRUNE((0 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
"fun_ifthenelse411" -> "fun_ifthenelse48" ;
|
||||
"fun_ifthenelse410" [label="10: Prune (false branch) \n PRUNE((0 == 0), false); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
36 -> 38 ;
|
||||
35 [label="35: Prune (true branch) \n PRUNE((0 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
"fun_ifthenelse410" -> "fun_ifthenelse412" ;
|
||||
"fun_ifthenelse49" [label="9: Prune (true branch) \n PRUNE((0 != 0), true); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
35 -> 37 ;
|
||||
34 [label="34: + \n " ]
|
||||
"fun_ifthenelse49" -> "fun_ifthenelse411" ;
|
||||
"fun_ifthenelse48" [label="8: + \n " ]
|
||||
|
||||
|
||||
34 -> 40 ;
|
||||
34 -> 41 ;
|
||||
33 [label="33: Exit fun_ifthenelse3 \n " color=yellow style=filled]
|
||||
"fun_ifthenelse48" -> "fun_ifthenelse414" ;
|
||||
"fun_ifthenelse48" -> "fun_ifthenelse415" ;
|
||||
"fun_ifthenelse47" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
32 [label="32: Start fun_ifthenelse3\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 18]\n " color=yellow style=filled]
|
||||
"fun_ifthenelse47" -> "fun_ifthenelse43" ;
|
||||
"fun_ifthenelse46" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
32 -> 35 ;
|
||||
32 -> 36 ;
|
||||
31 [label="31: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) [line 15]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 15]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 15]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 15]\n n$1(n$3:int ,n$5:int ,n$7:int ) [line 15]\n " shape="box"]
|
||||
"fun_ifthenelse46" -> "fun_ifthenelse43" ;
|
||||
"fun_ifthenelse45" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
31 -> 10 ;
|
||||
30 [label="30: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =3 [line 15]\n " shape="box"]
|
||||
"fun_ifthenelse45" -> "fun_ifthenelse47" ;
|
||||
"fun_ifthenelse44" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
30 -> 26 ;
|
||||
29 [label="29: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =3 [line 15]\n " shape="box"]
|
||||
"fun_ifthenelse44" -> "fun_ifthenelse46" ;
|
||||
"fun_ifthenelse43" [label="3: + \n " ]
|
||||
|
||||
|
||||
29 -> 26 ;
|
||||
28 [label="28: Prune (false branch) \n PRUNE((0 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"fun_ifthenelse43" -> "fun_ifthenelse49" ;
|
||||
"fun_ifthenelse43" -> "fun_ifthenelse410" ;
|
||||
"fun_ifthenelse42" [label="2: Exit fun_ifthenelse4 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
28 -> 30 ;
|
||||
27 [label="27: Prune (true branch) \n PRUNE((0 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"fun_ifthenelse41" [label="1: Start fun_ifthenelse4\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) 0$?%__sil_tmpSIL_temp_conditional___n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 20]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
27 -> 29 ;
|
||||
26 [label="26: + \n " ]
|
||||
"fun_ifthenelse41" -> "fun_ifthenelse44" ;
|
||||
"fun_ifthenelse41" -> "fun_ifthenelse45" ;
|
||||
"fun_ifthenelse318" [label="18: Call _fun_some_f \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 18]\n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$2:int [line 18]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 18]\n _fun_some_f(n$1:int ,n$3:int ,n$5:int ) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
26 -> 31 ;
|
||||
25 [label="25: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =2 [line 15]\n " shape="box"]
|
||||
"fun_ifthenelse318" -> "fun_ifthenelse32" ;
|
||||
"fun_ifthenelse317" [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 21 ;
|
||||
24 [label="24: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =2 [line 15]\n " shape="box"]
|
||||
"fun_ifthenelse317" -> "fun_ifthenelse313" ;
|
||||
"fun_ifthenelse316" [label="16: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
24 -> 21 ;
|
||||
23 [label="23: Prune (false branch) \n PRUNE((0 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"fun_ifthenelse316" -> "fun_ifthenelse313" ;
|
||||
"fun_ifthenelse315" [label="15: Prune (false branch) \n PRUNE((0 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
23 -> 25 ;
|
||||
22 [label="22: Prune (true branch) \n PRUNE((0 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"fun_ifthenelse315" -> "fun_ifthenelse317" ;
|
||||
"fun_ifthenelse314" [label="14: Prune (true branch) \n PRUNE((0 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
22 -> 24 ;
|
||||
21 [label="21: + \n " ]
|
||||
"fun_ifthenelse314" -> "fun_ifthenelse316" ;
|
||||
"fun_ifthenelse313" [label="13: + \n " ]
|
||||
|
||||
|
||||
21 -> 27 ;
|
||||
21 -> 28 ;
|
||||
20 [label="20: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 15]\n " shape="box"]
|
||||
"fun_ifthenelse313" -> "fun_ifthenelse318" ;
|
||||
"fun_ifthenelse312" [label="12: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =2 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 16 ;
|
||||
19 [label="19: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =1 [line 15]\n " shape="box"]
|
||||
"fun_ifthenelse312" -> "fun_ifthenelse38" ;
|
||||
"fun_ifthenelse311" [label="11: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$2:int =2 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 16 ;
|
||||
18 [label="18: Prune (false branch) \n PRUNE((0 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"fun_ifthenelse311" -> "fun_ifthenelse38" ;
|
||||
"fun_ifthenelse310" [label="10: Prune (false branch) \n PRUNE((0 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
18 -> 20 ;
|
||||
17 [label="17: Prune (true branch) \n PRUNE((0 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"fun_ifthenelse310" -> "fun_ifthenelse312" ;
|
||||
"fun_ifthenelse39" [label="9: Prune (true branch) \n PRUNE((0 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
17 -> 19 ;
|
||||
16 [label="16: + \n " ]
|
||||
"fun_ifthenelse39" -> "fun_ifthenelse311" ;
|
||||
"fun_ifthenelse38" [label="8: + \n " ]
|
||||
|
||||
|
||||
16 -> 22 ;
|
||||
16 -> 23 ;
|
||||
15 [label="15: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n " shape="box"]
|
||||
"fun_ifthenelse38" -> "fun_ifthenelse314" ;
|
||||
"fun_ifthenelse38" -> "fun_ifthenelse315" ;
|
||||
"fun_ifthenelse37" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 11 ;
|
||||
14 [label="14: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n " shape="box"]
|
||||
"fun_ifthenelse37" -> "fun_ifthenelse33" ;
|
||||
"fun_ifthenelse36" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 11 ;
|
||||
13 [label="13: Prune (false branch) \n PRUNE((1 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"fun_ifthenelse36" -> "fun_ifthenelse33" ;
|
||||
"fun_ifthenelse35" [label="5: Prune (false branch) \n PRUNE((0 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 -> 15 ;
|
||||
12 [label="12: Prune (true branch) \n PRUNE((1 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"fun_ifthenelse35" -> "fun_ifthenelse37" ;
|
||||
"fun_ifthenelse34" [label="4: Prune (true branch) \n PRUNE((0 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 14 ;
|
||||
11 [label="11: + \n " ]
|
||||
"fun_ifthenelse34" -> "fun_ifthenelse36" ;
|
||||
"fun_ifthenelse33" [label="3: + \n " ]
|
||||
|
||||
|
||||
11 -> 17 ;
|
||||
11 -> 18 ;
|
||||
10 [label="10: Exit fun_ifthenelse2 \n " color=yellow style=filled]
|
||||
"fun_ifthenelse33" -> "fun_ifthenelse39" ;
|
||||
"fun_ifthenelse33" -> "fun_ifthenelse310" ;
|
||||
"fun_ifthenelse32" [label="2: Exit fun_ifthenelse3 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 [label="9: Start fun_ifthenelse2\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) 0$?%__sil_tmpSIL_temp_conditional___n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int 0$?%__sil_tmpSIL_temp_conditional___n$6:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_temp_conditional___n$4,&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 14]\n " color=yellow style=filled]
|
||||
"fun_ifthenelse31" [label="1: Start fun_ifthenelse3\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$4:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_temp_conditional___n$4); [line 18]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 12 ;
|
||||
9 -> 13 ;
|
||||
8 [label="8: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) [line 12]\n n$1(1:int ,2:int ,3:int ) [line 12]\n " shape="box"]
|
||||
"fun_ifthenelse31" -> "fun_ifthenelse34" ;
|
||||
"fun_ifthenelse31" -> "fun_ifthenelse35" ;
|
||||
"fun_ifthenelse18" [label="8: Call n$1 \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) [line 12]\n n$1(1:int ,2:int ,3:int ) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 2 ;
|
||||
7 [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n " shape="box"]
|
||||
"fun_ifthenelse18" -> "fun_ifthenelse12" ;
|
||||
"fun_ifthenelse17" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n " shape="box"]
|
||||
"fun_ifthenelse17" -> "fun_ifthenelse13" ;
|
||||
"fun_ifthenelse16" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"fun_ifthenelse16" -> "fun_ifthenelse13" ;
|
||||
"fun_ifthenelse15" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"fun_ifthenelse15" -> "fun_ifthenelse17" ;
|
||||
"fun_ifthenelse14" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: + \n " ]
|
||||
"fun_ifthenelse14" -> "fun_ifthenelse16" ;
|
||||
"fun_ifthenelse13" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 8 ;
|
||||
2 [label="2: Exit fun_ifthenelse1 \n " color=yellow style=filled]
|
||||
"fun_ifthenelse13" -> "fun_ifthenelse18" ;
|
||||
"fun_ifthenelse12" [label="2: Exit fun_ifthenelse1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start fun_ifthenelse1\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12]\n " color=yellow style=filled]
|
||||
"fun_ifthenelse11" [label="1: Start fun_ifthenelse1\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:_fn_ (*) \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
1 -> 5 ;
|
||||
"fun_ifthenelse11" -> "fun_ifthenelse14" ;
|
||||
"fun_ifthenelse11" -> "fun_ifthenelse15" ;
|
||||
}
|
||||
|
@ -1,398 +1,398 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
95 [label="95: BinaryOperatorStmt: Assign \n n$13=_fun_getenv(\"BLOCK\":char *) [line 47]\n *&spec:char *=n$13 [line 47]\n " shape="box"]
|
||||
"shortcircuit_or12" [label="12: BinaryOperatorStmt: Assign \n *&x:int *=32 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
95 -> 67 ;
|
||||
95 -> 68 ;
|
||||
94 [label="94: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 53]\n " shape="box"]
|
||||
"shortcircuit_or12" -> "shortcircuit_or3" ;
|
||||
"shortcircuit_or11" [label="11: BinaryOperatorStmt: Assign \n *&x:int *=17 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
94 -> 90 ;
|
||||
93 [label="93: Prune (false branch) \n PRUNE(((n$12 == 39) == 0), false); [line 52]\n " shape="invhouse"]
|
||||
"shortcircuit_or11" -> "shortcircuit_or3" ;
|
||||
"shortcircuit_or10" [label="10: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
93 -> 90 ;
|
||||
92 [label="92: Prune (true branch) \n PRUNE(((n$12 == 39) != 0), true); [line 52]\n " shape="invhouse"]
|
||||
"shortcircuit_or10" -> "shortcircuit_or12" ;
|
||||
"shortcircuit_or9" [label="9: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
92 -> 94 ;
|
||||
91 [label="91: BinaryOperatorStmt: EQ \n n$11=*&spec:char * [line 52]\n n$12=*n$11:char [line 52]\n " shape="box"]
|
||||
"shortcircuit_or9" -> "shortcircuit_or11" ;
|
||||
"shortcircuit_or8" [label="8: BinaryOperatorStmt: EQ \n n$1=*&x:int * [line 14]\n n$2=*n$1:int [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
91 -> 92 ;
|
||||
91 -> 93 ;
|
||||
90 [label="90: + \n " ]
|
||||
"shortcircuit_or8" -> "shortcircuit_or9" ;
|
||||
"shortcircuit_or8" -> "shortcircuit_or10" ;
|
||||
"shortcircuit_or7" [label="7: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
90 -> 65 ;
|
||||
89 [label="89: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 50]\n " shape="box"]
|
||||
"shortcircuit_or7" -> "shortcircuit_or8" ;
|
||||
"shortcircuit_or6" [label="6: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
89 -> 65 ;
|
||||
88 [label="88: Prune (false branch) \n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 49]\n PRUNE((n$10 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_or6" -> "shortcircuit_or11" ;
|
||||
"shortcircuit_or5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&x:int * [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
88 -> 91 ;
|
||||
87 [label="87: Prune (true branch) \n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 49]\n PRUNE((n$10 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_or5" -> "shortcircuit_or6" ;
|
||||
"shortcircuit_or5" -> "shortcircuit_or7" ;
|
||||
"shortcircuit_or4" [label="4: between_join_and_exit \n " shape="box"]
|
||||
|
||||
|
||||
87 -> 89 ;
|
||||
86 [label="86: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$7:int =1 [line 49]\n " shape="box"]
|
||||
"shortcircuit_or4" -> "shortcircuit_or2" ;
|
||||
"shortcircuit_or3" [label="3: + \n " ]
|
||||
|
||||
|
||||
86 -> 81 ;
|
||||
85 [label="85: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$7:int =0 [line 49]\n " shape="box"]
|
||||
"shortcircuit_or3" -> "shortcircuit_or4" ;
|
||||
"shortcircuit_or2" [label="2: Exit shortcircuit_or \n " color=yellow style=filled]
|
||||
|
||||
|
||||
85 -> 81 ;
|
||||
84 [label="84: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_or1" [label="1: Start shortcircuit_or\nFormals: x:int *\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
84 -> 86 ;
|
||||
83 [label="83: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_or1" -> "shortcircuit_or5" ;
|
||||
"shortcircuit_and21" [label="21: BinaryOperatorStmt: Assign \n n$7=*&x:int * [line 25]\n *n$7:int =32 [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
83 -> 85 ;
|
||||
82 [label="82: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 49]\n *&spec:char *=n$8 [line 49]\n n$9=*&spec:char * [line 49]\n " shape="box"]
|
||||
"shortcircuit_and21" -> "shortcircuit_and3" ;
|
||||
"shortcircuit_and20" [label="20: BinaryOperatorStmt: Assign \n *&x:int *=17 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
82 -> 83 ;
|
||||
82 -> 84 ;
|
||||
81 [label="81: + \n " ]
|
||||
"shortcircuit_and20" -> "shortcircuit_and3" ;
|
||||
"shortcircuit_and19" [label="19: Prune (false branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 22]\n PRUNE((n$6 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
81 -> 87 ;
|
||||
81 -> 88 ;
|
||||
80 [label="80: Prune (false branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 49]\n PRUNE((n$6 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_and19" -> "shortcircuit_and21" ;
|
||||
"shortcircuit_and18" [label="18: Prune (true branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 22]\n PRUNE((n$6 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
80 -> 91 ;
|
||||
79 [label="79: Prune (true branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 49]\n PRUNE((n$6 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_and18" -> "shortcircuit_and20" ;
|
||||
"shortcircuit_and17" [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
79 -> 82 ;
|
||||
78 [label="78: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 49]\n " shape="box"]
|
||||
"shortcircuit_and17" -> "shortcircuit_and12" ;
|
||||
"shortcircuit_and16" [label="16: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =0 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
78 -> 73 ;
|
||||
77 [label="77: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =0 [line 49]\n " shape="box"]
|
||||
"shortcircuit_and16" -> "shortcircuit_and12" ;
|
||||
"shortcircuit_and15" [label="15: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
77 -> 73 ;
|
||||
76 [label="76: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_and15" -> "shortcircuit_and17" ;
|
||||
"shortcircuit_and14" [label="14: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
76 -> 78 ;
|
||||
75 [label="75: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_and14" -> "shortcircuit_and16" ;
|
||||
"shortcircuit_and13" [label="13: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK\":char *) [line 22]\n *&x:int *=n$4 [line 22]\n n$5=*&x:int * [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
75 -> 77 ;
|
||||
74 [label="74: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK_SIZE\":char *) [line 49]\n *&spec:char *=n$4 [line 49]\n n$5=*&spec:char * [line 49]\n " shape="box"]
|
||||
"shortcircuit_and13" -> "shortcircuit_and14" ;
|
||||
"shortcircuit_and13" -> "shortcircuit_and15" ;
|
||||
"shortcircuit_and12" [label="12: + \n " ]
|
||||
|
||||
|
||||
74 -> 75 ;
|
||||
74 -> 76 ;
|
||||
73 [label="73: + \n " ]
|
||||
"shortcircuit_and12" -> "shortcircuit_and18" ;
|
||||
"shortcircuit_and12" -> "shortcircuit_and19" ;
|
||||
"shortcircuit_and11" [label="11: Prune (false branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22]\n PRUNE((n$2 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
73 -> 79 ;
|
||||
73 -> 80 ;
|
||||
72 [label="72: Prune (false branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 49]\n PRUNE((n$2 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_and11" -> "shortcircuit_and21" ;
|
||||
"shortcircuit_and10" [label="10: Prune (true branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22]\n PRUNE((n$2 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
72 -> 91 ;
|
||||
71 [label="71: Prune (true branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 49]\n PRUNE((n$2 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_and10" -> "shortcircuit_and13" ;
|
||||
"shortcircuit_and9" [label="9: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
71 -> 74 ;
|
||||
70 [label="70: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 49]\n " shape="box"]
|
||||
"shortcircuit_and9" -> "shortcircuit_and5" ;
|
||||
"shortcircuit_and8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
70 -> 66 ;
|
||||
69 [label="69: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 49]\n " shape="box"]
|
||||
"shortcircuit_and8" -> "shortcircuit_and5" ;
|
||||
"shortcircuit_and7" [label="7: Prune (false branch) \n n$1=*&x:int * [line 22]\n PRUNE((n$1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
69 -> 66 ;
|
||||
68 [label="68: Prune (false branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_and7" -> "shortcircuit_and9" ;
|
||||
"shortcircuit_and6" [label="6: Prune (true branch) \n n$1=*&x:int * [line 22]\n PRUNE((n$1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
68 -> 70 ;
|
||||
67 [label="67: Prune (true branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
"shortcircuit_and6" -> "shortcircuit_and8" ;
|
||||
"shortcircuit_and5" [label="5: + \n " ]
|
||||
|
||||
|
||||
67 -> 69 ;
|
||||
66 [label="66: + \n " ]
|
||||
"shortcircuit_and5" -> "shortcircuit_and10" ;
|
||||
"shortcircuit_and5" -> "shortcircuit_and11" ;
|
||||
"shortcircuit_and4" [label="4: between_join_and_exit \n " shape="box"]
|
||||
|
||||
|
||||
66 -> 71 ;
|
||||
66 -> 72 ;
|
||||
65 [label="65: + \n " ]
|
||||
"shortcircuit_and4" -> "shortcircuit_and2" ;
|
||||
"shortcircuit_and3" [label="3: + \n " ]
|
||||
|
||||
|
||||
65 -> 64 ;
|
||||
64 [label="64: Return Stmt \n *&return:int =0 [line 56]\n " shape="box"]
|
||||
"shortcircuit_and3" -> "shortcircuit_and4" ;
|
||||
"shortcircuit_and2" [label="2: Exit shortcircuit_and \n " color=yellow style=filled]
|
||||
|
||||
|
||||
64 -> 63 ;
|
||||
63 [label="63: Exit main \n " color=yellow style=filled]
|
||||
"shortcircuit_and1" [label="1: Start shortcircuit_and\nFormals: x:int *\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$3); [line 21]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
62 [label="62: Start main\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int 0$?%__sil_tmpSIL_temp_conditional___n$7:int block_size:char * spec:char * \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$3,&0$?%__sil_tmpSIL_temp_conditional___n$7,&block_size,&spec); [line 42]\n " color=yellow style=filled]
|
||||
"shortcircuit_and1" -> "shortcircuit_and6" ;
|
||||
"shortcircuit_and1" -> "shortcircuit_and7" ;
|
||||
"test_loop28" [label="28: BinaryOperatorStmt: Assign \n n$11=_fun_getenv(\"BLOCK\":char *) [line 34]\n *&spec:char *=n$11 [line 34]\n " shape="box"]
|
||||
|
||||
|
||||
62 -> 95 ;
|
||||
61 [label="61: BinaryOperatorStmt: Assign \n n$11=_fun_getenv(\"BLOCK\":char *) [line 34]\n *&spec:char *=n$11 [line 34]\n " shape="box"]
|
||||
"test_loop28" -> "test_loop3" ;
|
||||
"test_loop27" [label="27: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 38]\n " shape="box"]
|
||||
|
||||
|
||||
61 -> 36 ;
|
||||
60 [label="60: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 38]\n " shape="box"]
|
||||
"test_loop27" -> "test_loop3" ;
|
||||
"test_loop26" [label="26: Prune (false branch) \n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 37]\n PRUNE((n$10 == 0), false); [line 37]\n " shape="invhouse"]
|
||||
|
||||
|
||||
60 -> 36 ;
|
||||
59 [label="59: Prune (false branch) \n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 37]\n PRUNE((n$10 == 0), false); [line 37]\n " shape="invhouse"]
|
||||
"test_loop26" -> "test_loop2" ;
|
||||
"test_loop25" [label="25: Prune (true branch) \n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 37]\n PRUNE((n$10 != 0), true); [line 37]\n " shape="invhouse"]
|
||||
|
||||
|
||||
59 -> 35 ;
|
||||
58 [label="58: Prune (true branch) \n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 37]\n PRUNE((n$10 != 0), true); [line 37]\n " shape="invhouse"]
|
||||
"test_loop25" -> "test_loop27" ;
|
||||
"test_loop24" [label="24: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$7:int =1 [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
58 -> 60 ;
|
||||
57 [label="57: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$7:int =1 [line 37]\n " shape="box"]
|
||||
"test_loop24" -> "test_loop19" ;
|
||||
"test_loop23" [label="23: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$7:int =0 [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
57 -> 52 ;
|
||||
56 [label="56: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$7:int =0 [line 37]\n " shape="box"]
|
||||
"test_loop23" -> "test_loop19" ;
|
||||
"test_loop22" [label="22: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 37]\n " shape="invhouse"]
|
||||
|
||||
|
||||
56 -> 52 ;
|
||||
55 [label="55: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 37]\n " shape="invhouse"]
|
||||
"test_loop22" -> "test_loop24" ;
|
||||
"test_loop21" [label="21: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 37]\n " shape="invhouse"]
|
||||
|
||||
|
||||
55 -> 57 ;
|
||||
54 [label="54: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 37]\n " shape="invhouse"]
|
||||
"test_loop21" -> "test_loop23" ;
|
||||
"test_loop20" [label="20: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 37]\n *&spec:char *=n$8 [line 37]\n n$9=*&spec:char * [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
54 -> 56 ;
|
||||
53 [label="53: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 37]\n *&spec:char *=n$8 [line 37]\n n$9=*&spec:char * [line 37]\n " shape="box"]
|
||||
"test_loop20" -> "test_loop21" ;
|
||||
"test_loop20" -> "test_loop22" ;
|
||||
"test_loop19" [label="19: + \n " ]
|
||||
|
||||
|
||||
53 -> 54 ;
|
||||
53 -> 55 ;
|
||||
52 [label="52: + \n " ]
|
||||
"test_loop19" -> "test_loop25" ;
|
||||
"test_loop19" -> "test_loop26" ;
|
||||
"test_loop18" [label="18: Prune (false branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 36]\n PRUNE((n$6 == 0), false); [line 36]\n " shape="invhouse"]
|
||||
|
||||
|
||||
52 -> 58 ;
|
||||
52 -> 59 ;
|
||||
51 [label="51: Prune (false branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 36]\n PRUNE((n$6 == 0), false); [line 36]\n " shape="invhouse"]
|
||||
"test_loop18" -> "test_loop2" ;
|
||||
"test_loop17" [label="17: Prune (true branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 36]\n PRUNE((n$6 != 0), true); [line 36]\n " shape="invhouse"]
|
||||
|
||||
|
||||
51 -> 35 ;
|
||||
50 [label="50: Prune (true branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 36]\n PRUNE((n$6 != 0), true); [line 36]\n " shape="invhouse"]
|
||||
"test_loop17" -> "test_loop20" ;
|
||||
"test_loop16" [label="16: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
50 -> 53 ;
|
||||
49 [label="49: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 36]\n " shape="box"]
|
||||
"test_loop16" -> "test_loop11" ;
|
||||
"test_loop15" [label="15: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =0 [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
49 -> 44 ;
|
||||
48 [label="48: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =0 [line 36]\n " shape="box"]
|
||||
"test_loop15" -> "test_loop11" ;
|
||||
"test_loop14" [label="14: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 36]\n " shape="invhouse"]
|
||||
|
||||
|
||||
48 -> 44 ;
|
||||
47 [label="47: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 36]\n " shape="invhouse"]
|
||||
"test_loop14" -> "test_loop16" ;
|
||||
"test_loop13" [label="13: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 36]\n " shape="invhouse"]
|
||||
|
||||
|
||||
47 -> 49 ;
|
||||
46 [label="46: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 36]\n " shape="invhouse"]
|
||||
"test_loop13" -> "test_loop15" ;
|
||||
"test_loop12" [label="12: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK_SIZE\":char *) [line 36]\n *&spec:char *=n$4 [line 36]\n n$5=*&spec:char * [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
46 -> 48 ;
|
||||
45 [label="45: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK_SIZE\":char *) [line 36]\n *&spec:char *=n$4 [line 36]\n n$5=*&spec:char * [line 36]\n " shape="box"]
|
||||
"test_loop12" -> "test_loop13" ;
|
||||
"test_loop12" -> "test_loop14" ;
|
||||
"test_loop11" [label="11: + \n " ]
|
||||
|
||||
|
||||
45 -> 46 ;
|
||||
45 -> 47 ;
|
||||
44 [label="44: + \n " ]
|
||||
"test_loop11" -> "test_loop17" ;
|
||||
"test_loop11" -> "test_loop18" ;
|
||||
"test_loop10" [label="10: Prune (false branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 36]\n PRUNE((n$2 == 0), false); [line 36]\n " shape="invhouse"]
|
||||
|
||||
|
||||
44 -> 50 ;
|
||||
44 -> 51 ;
|
||||
43 [label="43: Prune (false branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 36]\n PRUNE((n$2 == 0), false); [line 36]\n " shape="invhouse"]
|
||||
"test_loop10" -> "test_loop2" ;
|
||||
"test_loop9" [label="9: Prune (true branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 36]\n PRUNE((n$2 != 0), true); [line 36]\n " shape="invhouse"]
|
||||
|
||||
|
||||
43 -> 35 ;
|
||||
42 [label="42: Prune (true branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 36]\n PRUNE((n$2 != 0), true); [line 36]\n " shape="invhouse"]
|
||||
"test_loop9" -> "test_loop12" ;
|
||||
"test_loop8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
42 -> 45 ;
|
||||
41 [label="41: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 36]\n " shape="box"]
|
||||
"test_loop8" -> "test_loop4" ;
|
||||
"test_loop7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
41 -> 37 ;
|
||||
40 [label="40: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 36]\n " shape="box"]
|
||||
"test_loop7" -> "test_loop4" ;
|
||||
"test_loop6" [label="6: Prune (false branch) \n n$1=*&spec:char * [line 36]\n PRUNE((n$1 == 0), false); [line 36]\n " shape="invhouse"]
|
||||
|
||||
|
||||
40 -> 37 ;
|
||||
39 [label="39: Prune (false branch) \n n$1=*&spec:char * [line 36]\n PRUNE((n$1 == 0), false); [line 36]\n " shape="invhouse"]
|
||||
"test_loop6" -> "test_loop8" ;
|
||||
"test_loop5" [label="5: Prune (true branch) \n n$1=*&spec:char * [line 36]\n PRUNE((n$1 != 0), true); [line 36]\n " shape="invhouse"]
|
||||
|
||||
|
||||
39 -> 41 ;
|
||||
38 [label="38: Prune (true branch) \n n$1=*&spec:char * [line 36]\n PRUNE((n$1 != 0), true); [line 36]\n " shape="invhouse"]
|
||||
"test_loop5" -> "test_loop7" ;
|
||||
"test_loop4" [label="4: + \n " ]
|
||||
|
||||
|
||||
38 -> 40 ;
|
||||
37 [label="37: + \n " ]
|
||||
"test_loop4" -> "test_loop9" ;
|
||||
"test_loop4" -> "test_loop10" ;
|
||||
"test_loop3" [label="3: + \n " ]
|
||||
|
||||
|
||||
37 -> 42 ;
|
||||
37 -> 43 ;
|
||||
36 [label="36: + \n " ]
|
||||
"test_loop3" -> "test_loop5" ;
|
||||
"test_loop3" -> "test_loop6" ;
|
||||
"test_loop2" [label="2: Exit test_loop \n " color=yellow style=filled]
|
||||
|
||||
|
||||
36 -> 38 ;
|
||||
36 -> 39 ;
|
||||
35 [label="35: Exit test_loop \n " color=yellow style=filled]
|
||||
"test_loop1" [label="1: Start test_loop\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int 0$?%__sil_tmpSIL_temp_conditional___n$7:int block_size:char * spec:char * \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$3,&0$?%__sil_tmpSIL_temp_conditional___n$7,&block_size,&spec); [line 29]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
34 [label="34: Start test_loop\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int 0$?%__sil_tmpSIL_temp_conditional___n$7:int block_size:char * spec:char * \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$3,&0$?%__sil_tmpSIL_temp_conditional___n$7,&block_size,&spec); [line 29]\n " color=yellow style=filled]
|
||||
"test_loop1" -> "test_loop28" ;
|
||||
"main34" [label="34: BinaryOperatorStmt: Assign \n n$13=_fun_getenv(\"BLOCK\":char *) [line 47]\n *&spec:char *=n$13 [line 47]\n " shape="box"]
|
||||
|
||||
|
||||
34 -> 61 ;
|
||||
33 [label="33: BinaryOperatorStmt: Assign \n n$7=*&x:int * [line 25]\n *n$7:int =32 [line 25]\n " shape="box"]
|
||||
"main34" -> "main6" ;
|
||||
"main34" -> "main7" ;
|
||||
"main33" [label="33: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 53]\n " shape="box"]
|
||||
|
||||
|
||||
33 -> 15 ;
|
||||
32 [label="32: BinaryOperatorStmt: Assign \n *&x:int *=17 [line 23]\n " shape="box"]
|
||||
"main33" -> "main29" ;
|
||||
"main32" [label="32: Prune (false branch) \n PRUNE(((n$12 == 39) == 0), false); [line 52]\n " shape="invhouse"]
|
||||
|
||||
|
||||
32 -> 15 ;
|
||||
31 [label="31: Prune (false branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 22]\n PRUNE((n$6 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
"main32" -> "main29" ;
|
||||
"main31" [label="31: Prune (true branch) \n PRUNE(((n$12 == 39) != 0), true); [line 52]\n " shape="invhouse"]
|
||||
|
||||
|
||||
31 -> 33 ;
|
||||
30 [label="30: Prune (true branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 22]\n PRUNE((n$6 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
"main31" -> "main33" ;
|
||||
"main30" [label="30: BinaryOperatorStmt: EQ \n n$11=*&spec:char * [line 52]\n n$12=*n$11:char [line 52]\n " shape="box"]
|
||||
|
||||
|
||||
30 -> 32 ;
|
||||
29 [label="29: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 22]\n " shape="box"]
|
||||
"main30" -> "main31" ;
|
||||
"main30" -> "main32" ;
|
||||
"main29" [label="29: + \n " ]
|
||||
|
||||
|
||||
29 -> 24 ;
|
||||
28 [label="28: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =0 [line 22]\n " shape="box"]
|
||||
"main29" -> "main4" ;
|
||||
"main28" [label="28: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 50]\n " shape="box"]
|
||||
|
||||
|
||||
28 -> 24 ;
|
||||
27 [label="27: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
"main28" -> "main4" ;
|
||||
"main27" [label="27: Prune (false branch) \n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 49]\n PRUNE((n$10 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
27 -> 29 ;
|
||||
26 [label="26: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
"main27" -> "main30" ;
|
||||
"main26" [label="26: Prune (true branch) \n n$10=*&0$?%__sil_tmpSIL_temp_conditional___n$7:int [line 49]\n PRUNE((n$10 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
26 -> 28 ;
|
||||
25 [label="25: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK\":char *) [line 22]\n *&x:int *=n$4 [line 22]\n n$5=*&x:int * [line 22]\n " shape="box"]
|
||||
"main26" -> "main28" ;
|
||||
"main25" [label="25: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$7:int =1 [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 26 ;
|
||||
25 -> 27 ;
|
||||
24 [label="24: + \n " ]
|
||||
"main25" -> "main20" ;
|
||||
"main24" [label="24: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$7:int =0 [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
24 -> 30 ;
|
||||
24 -> 31 ;
|
||||
23 [label="23: Prune (false branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22]\n PRUNE((n$2 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
"main24" -> "main20" ;
|
||||
"main23" [label="23: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
23 -> 33 ;
|
||||
22 [label="22: Prune (true branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22]\n PRUNE((n$2 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
"main23" -> "main25" ;
|
||||
"main22" [label="22: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
22 -> 25 ;
|
||||
21 [label="21: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 22]\n " shape="box"]
|
||||
"main22" -> "main24" ;
|
||||
"main21" [label="21: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 49]\n *&spec:char *=n$8 [line 49]\n n$9=*&spec:char * [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
21 -> 17 ;
|
||||
20 [label="20: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 22]\n " shape="box"]
|
||||
"main21" -> "main22" ;
|
||||
"main21" -> "main23" ;
|
||||
"main20" [label="20: + \n " ]
|
||||
|
||||
|
||||
20 -> 17 ;
|
||||
19 [label="19: Prune (false branch) \n n$1=*&x:int * [line 22]\n PRUNE((n$1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
"main20" -> "main26" ;
|
||||
"main20" -> "main27" ;
|
||||
"main19" [label="19: Prune (false branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 49]\n PRUNE((n$6 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
19 -> 21 ;
|
||||
18 [label="18: Prune (true branch) \n n$1=*&x:int * [line 22]\n PRUNE((n$1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
"main19" -> "main30" ;
|
||||
"main18" [label="18: Prune (true branch) \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 49]\n PRUNE((n$6 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
18 -> 20 ;
|
||||
17 [label="17: + \n " ]
|
||||
"main18" -> "main21" ;
|
||||
"main17" [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 22 ;
|
||||
17 -> 23 ;
|
||||
16 [label="16: between_join_and_exit \n " shape="box"]
|
||||
"main17" -> "main12" ;
|
||||
"main16" [label="16: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =0 [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 14 ;
|
||||
15 [label="15: + \n " ]
|
||||
"main16" -> "main12" ;
|
||||
"main15" [label="15: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
15 -> 16 ;
|
||||
14 [label="14: Exit shortcircuit_and \n " color=yellow style=filled]
|
||||
"main15" -> "main17" ;
|
||||
"main14" [label="14: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 [label="13: Start shortcircuit_and\nFormals: x:int *\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$3); [line 21]\n " color=yellow style=filled]
|
||||
"main14" -> "main16" ;
|
||||
"main13" [label="13: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK_SIZE\":char *) [line 49]\n *&spec:char *=n$4 [line 49]\n n$5=*&spec:char * [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 18 ;
|
||||
13 -> 19 ;
|
||||
12 [label="12: BinaryOperatorStmt: Assign \n *&x:int *=32 [line 17]\n " shape="box"]
|
||||
"main13" -> "main14" ;
|
||||
"main13" -> "main15" ;
|
||||
"main12" [label="12: + \n " ]
|
||||
|
||||
|
||||
12 -> 3 ;
|
||||
11 [label="11: BinaryOperatorStmt: Assign \n *&x:int *=17 [line 15]\n " shape="box"]
|
||||
"main12" -> "main18" ;
|
||||
"main12" -> "main19" ;
|
||||
"main11" [label="11: Prune (false branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 49]\n PRUNE((n$2 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
11 -> 3 ;
|
||||
10 [label="10: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 14]\n " shape="invhouse"]
|
||||
"main11" -> "main30" ;
|
||||
"main10" [label="10: Prune (true branch) \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 49]\n PRUNE((n$2 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
10 -> 12 ;
|
||||
9 [label="9: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 14]\n " shape="invhouse"]
|
||||
"main10" -> "main13" ;
|
||||
"main9" [label="9: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 11 ;
|
||||
8 [label="8: BinaryOperatorStmt: EQ \n n$1=*&x:int * [line 14]\n n$2=*n$1:int [line 14]\n " shape="box"]
|
||||
"main9" -> "main5" ;
|
||||
"main8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 9 ;
|
||||
8 -> 10 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 14]\n " shape="invhouse"]
|
||||
"main8" -> "main5" ;
|
||||
"main7" [label="7: Prune (false branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 == 0), false); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 8 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 14]\n " shape="invhouse"]
|
||||
"main7" -> "main9" ;
|
||||
"main6" [label="6: Prune (true branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 != 0), true); [line 49]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 11 ;
|
||||
5 [label="5: BinaryOperatorStmt: EQ \n n$0=*&x:int * [line 14]\n " shape="box"]
|
||||
"main6" -> "main8" ;
|
||||
"main5" [label="5: + \n " ]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: between_join_and_exit \n " shape="box"]
|
||||
"main5" -> "main10" ;
|
||||
"main5" -> "main11" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 2 ;
|
||||
3 [label="3: + \n " ]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 56]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 4 ;
|
||||
2 [label="2: Exit shortcircuit_or \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start shortcircuit_or\nFormals: x:int *\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int 0$?%__sil_tmpSIL_temp_conditional___n$7:int block_size:char * spec:char * \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$3,&0$?%__sil_tmpSIL_temp_conditional___n$7,&block_size,&spec); [line 42]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 5 ;
|
||||
"main1" -> "main34" ;
|
||||
}
|
||||
|
@ -1,139 +1,139 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
34 [label="34: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 29]\n *&return:int =n$2 [line 29]\n " shape="box"]
|
||||
"neg8" [label="8: Return Stmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 29]\n *&return:int =n$2 [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
34 -> 28 ;
|
||||
33 [label="33: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 29]\n " shape="box"]
|
||||
"neg8" -> "neg2" ;
|
||||
"neg7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
33 -> 29 ;
|
||||
32 [label="32: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 29]\n " shape="box"]
|
||||
"neg7" -> "neg3" ;
|
||||
"neg6" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
32 -> 29 ;
|
||||
31 [label="31: Prune (false branch) \n n$1=*&x:int [line 29]\n PRUNE((n$1 == 0), false); [line 29]\n " shape="invhouse"]
|
||||
"neg6" -> "neg3" ;
|
||||
"neg5" [label="5: Prune (false branch) \n n$1=*&x:int [line 29]\n PRUNE((n$1 == 0), false); [line 29]\n " shape="invhouse"]
|
||||
|
||||
|
||||
31 -> 33 ;
|
||||
30 [label="30: Prune (true branch) \n n$1=*&x:int [line 29]\n PRUNE((n$1 != 0), true); [line 29]\n " shape="invhouse"]
|
||||
"neg5" -> "neg7" ;
|
||||
"neg4" [label="4: Prune (true branch) \n n$1=*&x:int [line 29]\n PRUNE((n$1 != 0), true); [line 29]\n " shape="invhouse"]
|
||||
|
||||
|
||||
30 -> 32 ;
|
||||
29 [label="29: + \n " ]
|
||||
"neg4" -> "neg6" ;
|
||||
"neg3" [label="3: + \n " ]
|
||||
|
||||
|
||||
29 -> 34 ;
|
||||
28 [label="28: Exit neg \n " color=yellow style=filled]
|
||||
"neg3" -> "neg8" ;
|
||||
"neg2" [label="2: Exit neg \n " color=yellow style=filled]
|
||||
|
||||
|
||||
27 [label="27: Start neg\nFormals: x:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 29]\n " color=yellow style=filled]
|
||||
"neg1" [label="1: Start neg\nFormals: x:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 29]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
27 -> 30 ;
|
||||
27 -> 31 ;
|
||||
26 [label="26: Return Stmt \n *&return:int =0 [line 25]\n " shape="box"]
|
||||
"neg1" -> "neg4" ;
|
||||
"neg1" -> "neg5" ;
|
||||
"baz14" [label="14: Return Stmt \n *&return:int =0 [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
26 -> 14 ;
|
||||
25 [label="25: Return Stmt \n *&return:int =1 [line 23]\n " shape="box"]
|
||||
"baz14" -> "baz2" ;
|
||||
"baz13" [label="13: Return Stmt \n *&return:int =1 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 14 ;
|
||||
24 [label="24: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
"baz13" -> "baz2" ;
|
||||
"baz12" [label="12: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
24 -> 26 ;
|
||||
23 [label="23: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
"baz12" -> "baz14" ;
|
||||
"baz11" [label="11: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
23 -> 25 ;
|
||||
22 [label="22: Call _fun_identity \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22]\n n$3=_fun_identity(n$2:int ) [line 22]\n " shape="box"]
|
||||
"baz11" -> "baz13" ;
|
||||
"baz10" [label="10: Call _fun_identity \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22]\n n$3=_fun_identity(n$2:int ) [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 23 ;
|
||||
22 -> 24 ;
|
||||
21 [label="21: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 22]\n " shape="box"]
|
||||
"baz10" -> "baz11" ;
|
||||
"baz10" -> "baz12" ;
|
||||
"baz9" [label="9: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =1 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
21 -> 17 ;
|
||||
20 [label="20: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 22]\n " shape="box"]
|
||||
"baz9" -> "baz5" ;
|
||||
"baz8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 17 ;
|
||||
19 [label="19: Prune (false branch) \n n$1=*&x:int [line 22]\n PRUNE((n$1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
"baz8" -> "baz5" ;
|
||||
"baz7" [label="7: Prune (false branch) \n n$1=*&x:int [line 22]\n PRUNE((n$1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
19 -> 21 ;
|
||||
18 [label="18: Prune (true branch) \n n$1=*&x:int [line 22]\n PRUNE((n$1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
"baz7" -> "baz9" ;
|
||||
"baz6" [label="6: Prune (true branch) \n n$1=*&x:int [line 22]\n PRUNE((n$1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
18 -> 20 ;
|
||||
17 [label="17: + \n " ]
|
||||
"baz6" -> "baz8" ;
|
||||
"baz5" [label="5: + \n " ]
|
||||
|
||||
|
||||
17 -> 22 ;
|
||||
16 [label="16: between_join_and_exit \n " shape="box"]
|
||||
"baz5" -> "baz10" ;
|
||||
"baz4" [label="4: between_join_and_exit \n " shape="box"]
|
||||
|
||||
|
||||
16 -> 14 ;
|
||||
15 [label="15: + \n " ]
|
||||
"baz4" -> "baz2" ;
|
||||
"baz3" [label="3: + \n " ]
|
||||
|
||||
|
||||
15 -> 16 ;
|
||||
14 [label="14: Exit baz \n " color=yellow style=filled]
|
||||
"baz3" -> "baz4" ;
|
||||
"baz2" [label="2: Exit baz \n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 [label="13: Start baz\nFormals: x:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 20]\n " color=yellow style=filled]
|
||||
"baz1" [label="1: Start baz\nFormals: x:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 20]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 -> 18 ;
|
||||
13 -> 19 ;
|
||||
12 [label="12: Return Stmt \n *&return:int =0 [line 16]\n " shape="box"]
|
||||
"baz1" -> "baz6" ;
|
||||
"baz1" -> "baz7" ;
|
||||
"identity3" [label="3: Return Stmt \n n$0=*&x:int [line 10]\n *&return:int =n$0 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 5 ;
|
||||
11 [label="11: Return Stmt \n *&return:int =1 [line 14]\n " shape="box"]
|
||||
"identity3" -> "identity2" ;
|
||||
"identity2" [label="2: Exit identity \n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 -> 5 ;
|
||||
10 [label="10: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
"identity1" [label="1: Start identity\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 12 ;
|
||||
9 [label="9: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
"identity1" -> "identity3" ;
|
||||
"bar9" [label="9: Return Stmt \n *&return:int =0 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 11 ;
|
||||
8 [label="8: Call _fun_identity \n n$0=*&x:int [line 13]\n n$1=_fun_identity(n$0:int ) [line 13]\n " shape="box"]
|
||||
"bar9" -> "bar2" ;
|
||||
"bar8" [label="8: Return Stmt \n *&return:int =1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 9 ;
|
||||
8 -> 10 ;
|
||||
7 [label="7: between_join_and_exit \n " shape="box"]
|
||||
"bar8" -> "bar2" ;
|
||||
"bar7" [label="7: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 5 ;
|
||||
6 [label="6: + \n " ]
|
||||
"bar7" -> "bar9" ;
|
||||
"bar6" [label="6: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 7 ;
|
||||
5 [label="5: Exit bar \n " color=yellow style=filled]
|
||||
"bar6" -> "bar8" ;
|
||||
"bar5" [label="5: Call _fun_identity \n n$0=*&x:int [line 13]\n n$1=_fun_identity(n$0:int ) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
4 [label="4: Start bar\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"bar5" -> "bar6" ;
|
||||
"bar5" -> "bar7" ;
|
||||
"bar4" [label="4: between_join_and_exit \n " shape="box"]
|
||||
|
||||
|
||||
4 -> 8 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&x:int [line 10]\n *&return:int =n$0 [line 10]\n " shape="box"]
|
||||
"bar4" -> "bar2" ;
|
||||
"bar3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit identity \n " color=yellow style=filled]
|
||||
"bar3" -> "bar4" ;
|
||||
"bar2" [label="2: Exit bar \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start identity\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"bar1" [label="1: Start bar\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"bar1" -> "bar5" ;
|
||||
}
|
||||
|
@ -1,99 +1,99 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
24 [label="24: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22]\n *&z:int =n$3 [line 22]\n " shape="box"]
|
||||
"access_field_in_ife_branch8" [label="8: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 22]\n *&z:int =n$3 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
24 -> 18 ;
|
||||
23 [label="23: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 22]\n " shape="box"]
|
||||
"access_field_in_ife_branch8" -> "access_field_in_ife_branch2" ;
|
||||
"access_field_in_ife_branch7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =0 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 19 ;
|
||||
22 [label="22: ConditinalStmt Branch \n n$1=_fun_ret_ptr(4:int ) [line 22]\n n$2=*n$1.field:int [line 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$2 [line 22]\n " shape="box"]
|
||||
"access_field_in_ife_branch7" -> "access_field_in_ife_branch3" ;
|
||||
"access_field_in_ife_branch6" [label="6: ConditinalStmt Branch \n n$1=_fun_ret_ptr(4:int ) [line 22]\n n$2=*n$1.field:int [line 22]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =n$2 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 19 ;
|
||||
21 [label="21: Prune (false branch) \n PRUNE((1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
"access_field_in_ife_branch6" -> "access_field_in_ife_branch3" ;
|
||||
"access_field_in_ife_branch5" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
21 -> 23 ;
|
||||
20 [label="20: Prune (true branch) \n PRUNE((1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
"access_field_in_ife_branch5" -> "access_field_in_ife_branch7" ;
|
||||
"access_field_in_ife_branch4" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 22]\n " shape="invhouse"]
|
||||
|
||||
|
||||
20 -> 22 ;
|
||||
19 [label="19: + \n " ]
|
||||
"access_field_in_ife_branch4" -> "access_field_in_ife_branch6" ;
|
||||
"access_field_in_ife_branch3" [label="3: + \n " ]
|
||||
|
||||
|
||||
19 -> 24 ;
|
||||
18 [label="18: Exit access_field_in_ife_branch \n " color=yellow style=filled]
|
||||
"access_field_in_ife_branch3" -> "access_field_in_ife_branch8" ;
|
||||
"access_field_in_ife_branch2" [label="2: Exit access_field_in_ife_branch \n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 [label="17: Start access_field_in_ife_branch\nFormals: \nLocals: z:int 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&z,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 22]\n " color=yellow style=filled]
|
||||
"access_field_in_ife_branch1" [label="1: Start access_field_in_ife_branch\nFormals: \nLocals: z:int 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&z,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 -> 20 ;
|
||||
17 -> 21 ;
|
||||
16 [label="16: DeclStmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 20]\n n$2=_fun_ret_ptr(n$1:int ) [line 20]\n n$3=*n$2.field:int [line 20]\n *&z:int =n$3 [line 20]\n " shape="box"]
|
||||
"access_field_in_ife_branch1" -> "access_field_in_ife_branch4" ;
|
||||
"access_field_in_ife_branch1" -> "access_field_in_ife_branch5" ;
|
||||
"call_ife_then_access_field8" [label="8: DeclStmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 20]\n n$2=_fun_ret_ptr(n$1:int ) [line 20]\n n$3=*n$2.field:int [line 20]\n *&z:int =n$3 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 10 ;
|
||||
15 [label="15: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =3 [line 20]\n " shape="box"]
|
||||
"call_ife_then_access_field8" -> "call_ife_then_access_field2" ;
|
||||
"call_ife_then_access_field7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =3 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 11 ;
|
||||
14 [label="14: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =2 [line 20]\n " shape="box"]
|
||||
"call_ife_then_access_field7" -> "call_ife_then_access_field3" ;
|
||||
"call_ife_then_access_field6" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =2 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 11 ;
|
||||
13 [label="13: Prune (false branch) \n PRUNE((1 == 0), false); [line 20]\n " shape="invhouse"]
|
||||
"call_ife_then_access_field6" -> "call_ife_then_access_field3" ;
|
||||
"call_ife_then_access_field5" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 -> 15 ;
|
||||
12 [label="12: Prune (true branch) \n PRUNE((1 != 0), true); [line 20]\n " shape="invhouse"]
|
||||
"call_ife_then_access_field5" -> "call_ife_then_access_field7" ;
|
||||
"call_ife_then_access_field4" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 14 ;
|
||||
11 [label="11: + \n " ]
|
||||
"call_ife_then_access_field4" -> "call_ife_then_access_field6" ;
|
||||
"call_ife_then_access_field3" [label="3: + \n " ]
|
||||
|
||||
|
||||
11 -> 16 ;
|
||||
10 [label="10: Exit call_ife_then_access_field \n " color=yellow style=filled]
|
||||
"call_ife_then_access_field3" -> "call_ife_then_access_field8" ;
|
||||
"call_ife_then_access_field2" [label="2: Exit call_ife_then_access_field \n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 [label="9: Start call_ife_then_access_field\nFormals: \nLocals: z:int 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&z,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 20]\n " color=yellow style=filled]
|
||||
"call_ife_then_access_field1" [label="1: Start call_ife_then_access_field\nFormals: \nLocals: z:int 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&z,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 20]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 12 ;
|
||||
9 -> 13 ;
|
||||
8 [label="8: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s * [line 17]\n n$4=*n$3.field:int [line 17]\n *&z:int =n$4 [line 17]\n " shape="box"]
|
||||
"call_ife_then_access_field1" -> "call_ife_then_access_field4" ;
|
||||
"call_ife_then_access_field1" -> "call_ife_then_access_field5" ;
|
||||
"ife_then_access_field8" [label="8: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s * [line 17]\n n$4=*n$3.field:int [line 17]\n *&z:int =n$4 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 2 ;
|
||||
7 [label="7: ConditinalStmt Branch \n n$2=*&q:struct s * [line 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s *=n$2 [line 17]\n " shape="box"]
|
||||
"ife_then_access_field8" -> "ife_then_access_field2" ;
|
||||
"ife_then_access_field7" [label="7: ConditinalStmt Branch \n n$2=*&q:struct s * [line 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s *=n$2 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: ConditinalStmt Branch \n n$1=*&p:struct s * [line 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s *=n$1 [line 17]\n " shape="box"]
|
||||
"ife_then_access_field7" -> "ife_then_access_field3" ;
|
||||
"ife_then_access_field6" [label="6: ConditinalStmt Branch \n n$1=*&p:struct s * [line 17]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s *=n$1 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
"ife_then_access_field6" -> "ife_then_access_field3" ;
|
||||
"ife_then_access_field5" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
"ife_then_access_field5" -> "ife_then_access_field7" ;
|
||||
"ife_then_access_field4" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: + \n " ]
|
||||
"ife_then_access_field4" -> "ife_then_access_field6" ;
|
||||
"ife_then_access_field3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 8 ;
|
||||
2 [label="2: Exit ife_then_access_field \n " color=yellow style=filled]
|
||||
"ife_then_access_field3" -> "ife_then_access_field8" ;
|
||||
"ife_then_access_field2" [label="2: Exit ife_then_access_field \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start ife_then_access_field\nFormals: p:struct s * q:struct s *\nLocals: z:int 0$?%__sil_tmpSIL_temp_conditional___n$0:struct s * \n DECLARE_LOCALS(&return,&z,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 16]\n " color=yellow style=filled]
|
||||
"ife_then_access_field1" [label="1: Start ife_then_access_field\nFormals: p:struct s * q:struct s *\nLocals: z:int 0$?%__sil_tmpSIL_temp_conditional___n$0:struct s * \n DECLARE_LOCALS(&return,&z,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
1 -> 5 ;
|
||||
"ife_then_access_field1" -> "ife_then_access_field4" ;
|
||||
"ife_then_access_field1" -> "ife_then_access_field5" ;
|
||||
}
|
||||
|
@ -1,110 +1,110 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
26 [label="26: BinaryOperatorStmt: AddAssign \n n$16=*&p:struct s * [line 15]\n n$17=*n$16.x:int [line 15]\n *n$16.x:int =(n$17 + 1) [line 15]\n " shape="box"]
|
||||
"preincrement26" [label="26: BinaryOperatorStmt: AddAssign \n n$16=*&p:struct s * [line 15]\n n$17=*n$16.x:int [line 15]\n *n$16.x:int =(n$17 + 1) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
26 -> 21 ;
|
||||
26 -> 22 ;
|
||||
25 [label="25: BinaryOperatorStmt: AddAssign \n n$14=*&0$?%__sil_tmpSIL_temp_conditional___n$11:struct s * [line 16]\n n$15=*n$14.x:int [line 16]\n *n$14.x:int =(n$15 + 1) [line 16]\n " shape="box"]
|
||||
"preincrement26" -> "preincrement21" ;
|
||||
"preincrement26" -> "preincrement22" ;
|
||||
"preincrement25" [label="25: BinaryOperatorStmt: AddAssign \n n$14=*&0$?%__sil_tmpSIL_temp_conditional___n$11:struct s * [line 16]\n n$15=*n$14.x:int [line 16]\n *n$14.x:int =(n$15 + 1) [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 15 ;
|
||||
25 -> 16 ;
|
||||
24 [label="24: ConditinalStmt Branch \n n$13=*&p:struct s * [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:struct s *=n$13 [line 16]\n " shape="box"]
|
||||
"preincrement25" -> "preincrement15" ;
|
||||
"preincrement25" -> "preincrement16" ;
|
||||
"preincrement24" [label="24: ConditinalStmt Branch \n n$13=*&p:struct s * [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:struct s *=n$13 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
24 -> 20 ;
|
||||
23 [label="23: ConditinalStmt Branch \n n$12=*&p:struct s * [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:struct s *=n$12 [line 16]\n " shape="box"]
|
||||
"preincrement24" -> "preincrement20" ;
|
||||
"preincrement23" [label="23: ConditinalStmt Branch \n n$12=*&p:struct s * [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$11:struct s *=n$12 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 20 ;
|
||||
22 [label="22: Prune (false branch) \n PRUNE((1 == 0), false); [line 16]\n " shape="invhouse"]
|
||||
"preincrement23" -> "preincrement20" ;
|
||||
"preincrement22" [label="22: Prune (false branch) \n PRUNE((1 == 0), false); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
22 -> 24 ;
|
||||
21 [label="21: Prune (true branch) \n PRUNE((1 != 0), true); [line 16]\n " shape="invhouse"]
|
||||
"preincrement22" -> "preincrement24" ;
|
||||
"preincrement21" [label="21: Prune (true branch) \n PRUNE((1 != 0), true); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
21 -> 23 ;
|
||||
20 [label="20: + \n " ]
|
||||
"preincrement21" -> "preincrement23" ;
|
||||
"preincrement20" [label="20: + \n " ]
|
||||
|
||||
|
||||
20 -> 25 ;
|
||||
19 [label="19: BinaryOperatorStmt: AddAssign \n n$7=*&p:struct s * [line 17]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$8:int [line 17]\n n$10=*n$7.x:int [line 17]\n *n$7.x:int =(n$10 + n$9) [line 17]\n " shape="box"]
|
||||
"preincrement20" -> "preincrement25" ;
|
||||
"preincrement19" [label="19: BinaryOperatorStmt: AddAssign \n n$7=*&p:struct s * [line 17]\n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$8:int [line 17]\n n$10=*n$7.x:int [line 17]\n *n$7.x:int =(n$10 + n$9) [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 4 ;
|
||||
19 -> 5 ;
|
||||
18 [label="18: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int =7 [line 17]\n " shape="box"]
|
||||
"preincrement19" -> "preincrement4" ;
|
||||
"preincrement19" -> "preincrement5" ;
|
||||
"preincrement18" [label="18: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int =7 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 14 ;
|
||||
17 [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int =3 [line 17]\n " shape="box"]
|
||||
"preincrement18" -> "preincrement14" ;
|
||||
"preincrement17" [label="17: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$8:int =3 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 14 ;
|
||||
16 [label="16: Prune (false branch) \n PRUNE((1 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
"preincrement17" -> "preincrement14" ;
|
||||
"preincrement16" [label="16: Prune (false branch) \n PRUNE((1 == 0), false); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: Prune (true branch) \n PRUNE((1 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
"preincrement16" -> "preincrement18" ;
|
||||
"preincrement15" [label="15: Prune (true branch) \n PRUNE((1 != 0), true); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
15 -> 17 ;
|
||||
14 [label="14: + \n " ]
|
||||
"preincrement15" -> "preincrement17" ;
|
||||
"preincrement14" [label="14: + \n " ]
|
||||
|
||||
|
||||
14 -> 19 ;
|
||||
13 [label="13: BinaryOperatorStmt: AddAssign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s * [line 18]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 18]\n n$6=*n$3.x:int [line 18]\n *n$3.x:int =(n$6 + n$5) [line 18]\n " shape="box"]
|
||||
"preincrement14" -> "preincrement19" ;
|
||||
"preincrement13" [label="13: BinaryOperatorStmt: AddAssign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s * [line 18]\n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$4:int [line 18]\n n$6=*n$3.x:int [line 18]\n *n$3.x:int =(n$6 + n$5) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 2 ;
|
||||
12 [label="12: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =7 [line 18]\n " shape="box"]
|
||||
"preincrement13" -> "preincrement2" ;
|
||||
"preincrement12" [label="12: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =7 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 8 ;
|
||||
11 [label="11: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 18]\n " shape="box"]
|
||||
"preincrement12" -> "preincrement8" ;
|
||||
"preincrement11" [label="11: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$4:int =3 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 8 ;
|
||||
10 [label="10: Prune (false branch) \n PRUNE((1 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
"preincrement11" -> "preincrement8" ;
|
||||
"preincrement10" [label="10: Prune (false branch) \n PRUNE((1 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
10 -> 12 ;
|
||||
9 [label="9: Prune (true branch) \n PRUNE((1 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
"preincrement10" -> "preincrement12" ;
|
||||
"preincrement9" [label="9: Prune (true branch) \n PRUNE((1 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 -> 11 ;
|
||||
8 [label="8: + \n " ]
|
||||
"preincrement9" -> "preincrement11" ;
|
||||
"preincrement8" [label="8: + \n " ]
|
||||
|
||||
|
||||
8 -> 13 ;
|
||||
7 [label="7: ConditinalStmt Branch \n n$2=*&p:struct s * [line 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s *=n$2 [line 18]\n " shape="box"]
|
||||
"preincrement8" -> "preincrement13" ;
|
||||
"preincrement7" [label="7: ConditinalStmt Branch \n n$2=*&p:struct s * [line 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s *=n$2 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: ConditinalStmt Branch \n n$1=*&p:struct s * [line 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s *=n$1 [line 18]\n " shape="box"]
|
||||
"preincrement7" -> "preincrement3" ;
|
||||
"preincrement6" [label="6: ConditinalStmt Branch \n n$1=*&p:struct s * [line 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:struct s *=n$1 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
"preincrement6" -> "preincrement3" ;
|
||||
"preincrement5" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
"preincrement5" -> "preincrement7" ;
|
||||
"preincrement4" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: + \n " ]
|
||||
"preincrement4" -> "preincrement6" ;
|
||||
"preincrement3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 9 ;
|
||||
3 -> 10 ;
|
||||
2 [label="2: Exit preincrement \n " color=yellow style=filled]
|
||||
"preincrement3" -> "preincrement9" ;
|
||||
"preincrement3" -> "preincrement10" ;
|
||||
"preincrement2" [label="2: Exit preincrement \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start preincrement\nFormals: p:struct s *\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:struct s * 0$?%__sil_tmpSIL_temp_conditional___n$4:int 0$?%__sil_tmpSIL_temp_conditional___n$8:int 0$?%__sil_tmpSIL_temp_conditional___n$11:struct s * \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$4,&0$?%__sil_tmpSIL_temp_conditional___n$8,&0$?%__sil_tmpSIL_temp_conditional___n$11); [line 14]\n " color=yellow style=filled]
|
||||
"preincrement1" [label="1: Start preincrement\nFormals: p:struct s *\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:struct s * 0$?%__sil_tmpSIL_temp_conditional___n$4:int 0$?%__sil_tmpSIL_temp_conditional___n$8:int 0$?%__sil_tmpSIL_temp_conditional___n$11:struct s * \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&0$?%__sil_tmpSIL_temp_conditional___n$4,&0$?%__sil_tmpSIL_temp_conditional___n$8,&0$?%__sil_tmpSIL_temp_conditional___n$11); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 26 ;
|
||||
"preincrement1" -> "preincrement26" ;
|
||||
}
|
||||
|
@ -1,85 +1,85 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
20 [label="20: BinaryOperatorStmt: Assign \n n$13=*&0$?%__sil_tmpSIL_temp_conditional___n$10:int * [line 12]\n n$14=*n$13:int [line 12]\n *&x:int =n$14 [line 12]\n " shape="box"]
|
||||
"dereference_ifthenelse20" [label="20: BinaryOperatorStmt: Assign \n n$13=*&0$?%__sil_tmpSIL_temp_conditional___n$10:int * [line 12]\n n$14=*n$13:int [line 12]\n *&x:int =n$14 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 10 ;
|
||||
20 -> 11 ;
|
||||
19 [label="19: ConditinalStmt Branch \n n$12=*&p:int * [line 12]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int *=n$12 [line 12]\n " shape="box"]
|
||||
"dereference_ifthenelse20" -> "dereference_ifthenelse10" ;
|
||||
"dereference_ifthenelse20" -> "dereference_ifthenelse11" ;
|
||||
"dereference_ifthenelse19" [label="19: ConditinalStmt Branch \n n$12=*&p:int * [line 12]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int *=n$12 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 15 ;
|
||||
18 [label="18: ConditinalStmt Branch \n n$11=*&p:int * [line 12]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int *=n$11 [line 12]\n " shape="box"]
|
||||
"dereference_ifthenelse19" -> "dereference_ifthenelse15" ;
|
||||
"dereference_ifthenelse18" [label="18: ConditinalStmt Branch \n n$11=*&p:int * [line 12]\n *&0$?%__sil_tmpSIL_temp_conditional___n$10:int *=n$11 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 15 ;
|
||||
17 [label="17: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"dereference_ifthenelse18" -> "dereference_ifthenelse15" ;
|
||||
"dereference_ifthenelse17" [label="17: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
17 -> 19 ;
|
||||
16 [label="16: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"dereference_ifthenelse17" -> "dereference_ifthenelse19" ;
|
||||
"dereference_ifthenelse16" [label="16: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: + \n " ]
|
||||
"dereference_ifthenelse16" -> "dereference_ifthenelse18" ;
|
||||
"dereference_ifthenelse15" [label="15: + \n " ]
|
||||
|
||||
|
||||
15 -> 20 ;
|
||||
14 [label="14: DeclStmt \n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int * [line 14]\n n$9=*n$8:int [line 14]\n *&y:int =n$9 [line 14]\n " shape="box"]
|
||||
"dereference_ifthenelse15" -> "dereference_ifthenelse20" ;
|
||||
"dereference_ifthenelse14" [label="14: DeclStmt \n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$5:int * [line 14]\n n$9=*n$8:int [line 14]\n *&y:int =n$9 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 4 ;
|
||||
14 -> 5 ;
|
||||
13 [label="13: ConditinalStmt Branch \n n$7=*&p:int * [line 14]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int *=n$7 [line 14]\n " shape="box"]
|
||||
"dereference_ifthenelse14" -> "dereference_ifthenelse4" ;
|
||||
"dereference_ifthenelse14" -> "dereference_ifthenelse5" ;
|
||||
"dereference_ifthenelse13" [label="13: ConditinalStmt Branch \n n$7=*&p:int * [line 14]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int *=n$7 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 9 ;
|
||||
12 [label="12: ConditinalStmt Branch \n n$6=*&p:int * [line 14]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int *=n$6 [line 14]\n " shape="box"]
|
||||
"dereference_ifthenelse13" -> "dereference_ifthenelse9" ;
|
||||
"dereference_ifthenelse12" [label="12: ConditinalStmt Branch \n n$6=*&p:int * [line 14]\n *&0$?%__sil_tmpSIL_temp_conditional___n$5:int *=n$6 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 9 ;
|
||||
11 [label="11: Prune (false branch) \n PRUNE((1 == 0), false); [line 14]\n " shape="invhouse"]
|
||||
"dereference_ifthenelse12" -> "dereference_ifthenelse9" ;
|
||||
"dereference_ifthenelse11" [label="11: Prune (false branch) \n PRUNE((1 == 0), false); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
11 -> 13 ;
|
||||
10 [label="10: Prune (true branch) \n PRUNE((1 != 0), true); [line 14]\n " shape="invhouse"]
|
||||
"dereference_ifthenelse11" -> "dereference_ifthenelse13" ;
|
||||
"dereference_ifthenelse10" [label="10: Prune (true branch) \n PRUNE((1 != 0), true); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
10 -> 12 ;
|
||||
9 [label="9: + \n " ]
|
||||
"dereference_ifthenelse10" -> "dereference_ifthenelse12" ;
|
||||
"dereference_ifthenelse9" [label="9: + \n " ]
|
||||
|
||||
|
||||
9 -> 14 ;
|
||||
8 [label="8: UnaryOperator \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int * [line 16]\n " shape="box"]
|
||||
"dereference_ifthenelse9" -> "dereference_ifthenelse14" ;
|
||||
"dereference_ifthenelse8" [label="8: UnaryOperator \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int * [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 2 ;
|
||||
7 [label="7: ConditinalStmt Branch \n n$2=*&p:int * [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int *=n$2 [line 16]\n " shape="box"]
|
||||
"dereference_ifthenelse8" -> "dereference_ifthenelse2" ;
|
||||
"dereference_ifthenelse7" [label="7: ConditinalStmt Branch \n n$2=*&p:int * [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int *=n$2 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: ConditinalStmt Branch \n n$1=*&p:int * [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int *=n$1 [line 16]\n " shape="box"]
|
||||
"dereference_ifthenelse7" -> "dereference_ifthenelse3" ;
|
||||
"dereference_ifthenelse6" [label="6: ConditinalStmt Branch \n n$1=*&p:int * [line 16]\n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int *=n$1 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 16]\n " shape="invhouse"]
|
||||
"dereference_ifthenelse6" -> "dereference_ifthenelse3" ;
|
||||
"dereference_ifthenelse5" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 16]\n " shape="invhouse"]
|
||||
"dereference_ifthenelse5" -> "dereference_ifthenelse7" ;
|
||||
"dereference_ifthenelse4" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: + \n " ]
|
||||
"dereference_ifthenelse4" -> "dereference_ifthenelse6" ;
|
||||
"dereference_ifthenelse3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 8 ;
|
||||
2 [label="2: Exit dereference_ifthenelse \n " color=yellow style=filled]
|
||||
"dereference_ifthenelse3" -> "dereference_ifthenelse8" ;
|
||||
"dereference_ifthenelse2" [label="2: Exit dereference_ifthenelse \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start dereference_ifthenelse\nFormals: p:int *\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int * y:int 0$?%__sil_tmpSIL_temp_conditional___n$5:int * 0$?%__sil_tmpSIL_temp_conditional___n$10:int * x:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&y,&0$?%__sil_tmpSIL_temp_conditional___n$5,&0$?%__sil_tmpSIL_temp_conditional___n$10,&x); [line 10]\n " color=yellow style=filled]
|
||||
"dereference_ifthenelse1" [label="1: Start dereference_ifthenelse\nFormals: p:int *\nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int * y:int 0$?%__sil_tmpSIL_temp_conditional___n$5:int * 0$?%__sil_tmpSIL_temp_conditional___n$10:int * x:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0,&y,&0$?%__sil_tmpSIL_temp_conditional___n$5,&0$?%__sil_tmpSIL_temp_conditional___n$10,&x); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 16 ;
|
||||
1 -> 17 ;
|
||||
"dereference_ifthenelse1" -> "dereference_ifthenelse16" ;
|
||||
"dereference_ifthenelse1" -> "dereference_ifthenelse17" ;
|
||||
}
|
||||
|
@ -1,34 +1,34 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
8 [label="8: BinaryOperatorStmt: Assign \n *&today:int =0 [line 22]\n " shape="box"]
|
||||
"main8" [label="8: BinaryOperatorStmt: Assign \n *&today:int =0 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: BinaryOperatorStmt: Assign \n *&today:int =1 [line 23]\n " shape="box"]
|
||||
"main8" -> "main7" ;
|
||||
"main7" [label="7: BinaryOperatorStmt: Assign \n *&today:int =1 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&today:int [line 24]\n *&today:int =(n$0 + 4) [line 24]\n " shape="box"]
|
||||
"main7" -> "main6" ;
|
||||
"main6" [label="6: BinaryOperatorStmt: Assign \n n$0=*&today:int [line 24]\n *&today:int =(n$0 + 4) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: BinaryOperatorStmt: Assign \n *&today:int =(2 + 1) [line 25]\n " shape="box"]
|
||||
"main6" -> "main5" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: Assign \n *&today:int =(2 + 1) [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: DeclStmt \n *&i:int =(2 + (2 - 0)) [line 26]\n " shape="box"]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: DeclStmt \n *&i:int =(2 + (2 - 0)) [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 27]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 27]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: i:int today:int \n DECLARE_LOCALS(&return,&i,&today); [line 20]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: i:int today:int \n DECLARE_LOCALS(&return,&i,&today); [line 20]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 8 ;
|
||||
"main1" -> "main8" ;
|
||||
}
|
||||
|
@ -1,18 +1,18 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
4 [label="4: DeclStmt \n *&option1:int =(1 << 0) [line 16]\n " shape="box"]
|
||||
"main4" [label="4: DeclStmt \n *&option1:int =(1 << 0) [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: DeclStmt \n *&option2:int =(1 << 1) [line 17]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: DeclStmt \n *&option2:int =(1 << 1) [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: option2:int option1:int \n DECLARE_LOCALS(&return,&option2,&option1); [line 15]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: option2:int option1:int \n DECLARE_LOCALS(&return,&option2,&option1); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
"main1" -> "main4" ;
|
||||
}
|
||||
|
@ -1,82 +1,82 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
20 [label="20: DeclStmt \n *&foo_g:int =(2 + 10) [line 23]\n " shape="box"]
|
||||
"other_enum_test11" [label="11: DeclStmt \n *&foo_g:int =(2 + 10) [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 19 ;
|
||||
19 [label="19: DeclStmt \n *&foo_a:int =0 [line 24]\n " shape="box"]
|
||||
"other_enum_test11" -> "other_enum_test10" ;
|
||||
"other_enum_test10" [label="10: DeclStmt \n *&foo_a:int =0 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 14 ;
|
||||
18 [label="18: Return Stmt \n *&return:int =0 [line 28]\n " shape="box"]
|
||||
"other_enum_test10" -> "other_enum_test5" ;
|
||||
"other_enum_test9" [label="9: Return Stmt \n *&return:int =0 [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 11 ;
|
||||
17 [label="17: Return Stmt \n n$1=*&foo_g:int [line 26]\n n$2=*&foo_a:int [line 26]\n *&return:int =(n$1 / n$2) [line 26]\n " shape="box"]
|
||||
"other_enum_test9" -> "other_enum_test2" ;
|
||||
"other_enum_test8" [label="8: Return Stmt \n n$1=*&foo_g:int [line 26]\n n$2=*&foo_a:int [line 26]\n *&return:int =(n$1 / n$2) [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 11 ;
|
||||
16 [label="16: Prune (false branch) \n PRUNE(((n$0 == 12) == 0), false); [line 25]\n " shape="invhouse"]
|
||||
"other_enum_test8" -> "other_enum_test2" ;
|
||||
"other_enum_test7" [label="7: Prune (false branch) \n PRUNE(((n$0 == 12) == 0), false); [line 25]\n " shape="invhouse"]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: Prune (true branch) \n PRUNE(((n$0 == 12) != 0), true); [line 25]\n " shape="invhouse"]
|
||||
"other_enum_test7" -> "other_enum_test9" ;
|
||||
"other_enum_test6" [label="6: Prune (true branch) \n PRUNE(((n$0 == 12) != 0), true); [line 25]\n " shape="invhouse"]
|
||||
|
||||
|
||||
15 -> 17 ;
|
||||
14 [label="14: BinaryOperatorStmt: EQ \n n$0=*&foo_g:int [line 25]\n " shape="box"]
|
||||
"other_enum_test6" -> "other_enum_test8" ;
|
||||
"other_enum_test5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&foo_g:int [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 15 ;
|
||||
14 -> 16 ;
|
||||
13 [label="13: between_join_and_exit \n " shape="box"]
|
||||
"other_enum_test5" -> "other_enum_test6" ;
|
||||
"other_enum_test5" -> "other_enum_test7" ;
|
||||
"other_enum_test4" [label="4: between_join_and_exit \n " shape="box"]
|
||||
|
||||
|
||||
13 -> 11 ;
|
||||
12 [label="12: + \n " ]
|
||||
"other_enum_test4" -> "other_enum_test2" ;
|
||||
"other_enum_test3" [label="3: + \n " ]
|
||||
|
||||
|
||||
12 -> 13 ;
|
||||
11 [label="11: Exit other_enum_test \n " color=yellow style=filled]
|
||||
"other_enum_test3" -> "other_enum_test4" ;
|
||||
"other_enum_test2" [label="2: Exit other_enum_test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 [label="10: Start other_enum_test\nFormals: \nLocals: foo_a:int foo_g:int \n DECLARE_LOCALS(&return,&foo_a,&foo_g); [line 22]\n " color=yellow style=filled]
|
||||
"other_enum_test1" [label="1: Start other_enum_test\nFormals: \nLocals: foo_a:int foo_g:int \n DECLARE_LOCALS(&return,&foo_a,&foo_g); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 20 ;
|
||||
9 [label="9: DeclStmt \n *&foo_a:int =0 [line 13]\n " shape="box"]
|
||||
"other_enum_test1" -> "other_enum_test11" ;
|
||||
"other_enum_main9" [label="9: DeclStmt \n *&foo_a:int =0 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: DeclStmt \n *&foo_b:int =1 [line 14]\n " shape="box"]
|
||||
"other_enum_main9" -> "other_enum_main8" ;
|
||||
"other_enum_main8" [label="8: DeclStmt \n *&foo_b:int =1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: DeclStmt \n *&foo_c:int =10 [line 15]\n " shape="box"]
|
||||
"other_enum_main8" -> "other_enum_main7" ;
|
||||
"other_enum_main7" [label="7: DeclStmt \n *&foo_c:int =10 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: DeclStmt \n *&foo_d:int =11 [line 16]\n " shape="box"]
|
||||
"other_enum_main7" -> "other_enum_main6" ;
|
||||
"other_enum_main6" [label="6: DeclStmt \n *&foo_d:int =11 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: DeclStmt \n *&foo_e:int =1 [line 17]\n " shape="box"]
|
||||
"other_enum_main6" -> "other_enum_main5" ;
|
||||
"other_enum_main5" [label="5: DeclStmt \n *&foo_e:int =1 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: DeclStmt \n *&foo_f:int =2 [line 18]\n " shape="box"]
|
||||
"other_enum_main5" -> "other_enum_main4" ;
|
||||
"other_enum_main4" [label="4: DeclStmt \n *&foo_f:int =2 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: DeclStmt \n *&foo_g:int =(2 + 10) [line 19]\n " shape="box"]
|
||||
"other_enum_main4" -> "other_enum_main3" ;
|
||||
"other_enum_main3" [label="3: DeclStmt \n *&foo_g:int =(2 + 10) [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit other_enum_main \n " color=yellow style=filled]
|
||||
"other_enum_main3" -> "other_enum_main2" ;
|
||||
"other_enum_main2" [label="2: Exit other_enum_main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start other_enum_main\nFormals: \nLocals: foo_g:int foo_f:int foo_e:int foo_d:int foo_c:int foo_b:int foo_a:int \n DECLARE_LOCALS(&return,&foo_g,&foo_f,&foo_e,&foo_d,&foo_c,&foo_b,&foo_a); [line 12]\n " color=yellow style=filled]
|
||||
"other_enum_main1" [label="1: Start other_enum_main\nFormals: \nLocals: foo_g:int foo_f:int foo_e:int foo_d:int foo_c:int foo_b:int foo_a:int \n DECLARE_LOCALS(&return,&foo_g,&foo_f,&foo_e,&foo_d,&foo_c,&foo_b,&foo_a); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 9 ;
|
||||
"other_enum_main1" -> "other_enum_main9" ;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,14 +1,14 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
3 [label="3: DeclStmt \n n$0=*&z:int [line 12]\n *&a[0][0]:int =(n$0 + 1) [line 12]\n *&a[0][1]:int =2 [line 12]\n *&a[0][2]:int =3 [line 12]\n *&a[1][0]:int =5 [line 12]\n *&a[1][1]:int =6 [line 12]\n *&a[1][2]:int =7 [line 12]\n " shape="box"]
|
||||
"main3" [label="3: DeclStmt \n n$0=*&z:int [line 12]\n *&a[0][0]:int =(n$0 + 1) [line 12]\n *&a[0][1]:int =2 [line 12]\n *&a[0][2]:int =3 [line 12]\n *&a[1][0]:int =5 [line 12]\n *&a[1][1]:int =6 [line 12]\n *&a[1][2]:int =7 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: a:int [2][3] z:int \n DECLARE_LOCALS(&return,&a,&z); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: a:int [2][3] z:int \n DECLARE_LOCALS(&return,&a,&z); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"main1" -> "main3" ;
|
||||
}
|
||||
|
@ -1,29 +1,29 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
7 [label="7: DeclStmt \n *&p.x:int =32 [line 18]\n *&p.y:int =52 [line 18]\n n$1=*&p:struct point [line 18]\n " shape="box"]
|
||||
"init_with_compound_literal4" [label="4: DeclStmt \n *&p.x:int =32 [line 18]\n *&p.y:int =52 [line 18]\n n$1=*&p:struct point [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: Return Stmt \n n$0=*&p.x:int [line 19]\n *&return:int =(1 / (n$0 - 32)) [line 19]\n " shape="box"]
|
||||
"init_with_compound_literal4" -> "init_with_compound_literal3" ;
|
||||
"init_with_compound_literal3" [label="3: Return Stmt \n n$0=*&p.x:int [line 19]\n *&return:int =(1 / (n$0 - 32)) [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit init_with_compound_literal \n " color=yellow style=filled]
|
||||
"init_with_compound_literal3" -> "init_with_compound_literal2" ;
|
||||
"init_with_compound_literal2" [label="2: Exit init_with_compound_literal \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start init_with_compound_literal\nFormals: \nLocals: p:struct point \n DECLARE_LOCALS(&return,&p); [line 17]\n " color=yellow style=filled]
|
||||
"init_with_compound_literal1" [label="1: Start init_with_compound_literal\nFormals: \nLocals: p:struct point \n DECLARE_LOCALS(&return,&p); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 7 ;
|
||||
3 [label="3: Return Stmt \n *&0$?%__sil_tmpSIL_compound_literal__n$0.x:int =52 [line 15]\n *&0$?%__sil_tmpSIL_compound_literal__n$0.y:int =32 [line 15]\n n$1=*&0$?%__sil_tmpSIL_compound_literal__n$0.x:int [line 15]\n *&return:int =n$1 [line 15]\n " shape="box"]
|
||||
"init_with_compound_literal1" -> "init_with_compound_literal4" ;
|
||||
"compound_literal_expr3" [label="3: Return Stmt \n *&0$?%__sil_tmpSIL_compound_literal__n$0.x:int =52 [line 15]\n *&0$?%__sil_tmpSIL_compound_literal__n$0.y:int =32 [line 15]\n n$1=*&0$?%__sil_tmpSIL_compound_literal__n$0.x:int [line 15]\n *&return:int =n$1 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit compound_literal_expr \n " color=yellow style=filled]
|
||||
"compound_literal_expr3" -> "compound_literal_expr2" ;
|
||||
"compound_literal_expr2" [label="2: Exit compound_literal_expr \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start compound_literal_expr\nFormals: \nLocals: 0$?%__sil_tmpSIL_compound_literal__n$0:struct point \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_compound_literal__n$0); [line 15]\n " color=yellow style=filled]
|
||||
"compound_literal_expr1" [label="1: Start compound_literal_expr\nFormals: \nLocals: 0$?%__sil_tmpSIL_compound_literal__n$0:struct point \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_compound_literal__n$0); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"compound_literal_expr1" -> "compound_literal_expr3" ;
|
||||
}
|
||||
|
@ -1,70 +1,70 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
18 [label="18: BinaryOperatorStmt: Assign \n *&imageDrawRect.origin.x.a:int =0 [line 58]\n *&imageDrawRect.origin.x.b:int =0 [line 58]\n *&imageDrawRect.origin.y:int =0 [line 58]\n *&imageDrawRect.z:int =0 [line 58]\n *&imageDrawRect.size:int =5 [line 58]\n n$1=*&imageDrawRect:struct rect [line 58]\n " shape="box"]
|
||||
"implicit_expr_set_correctly4" [label="4: BinaryOperatorStmt: Assign \n *&imageDrawRect.origin.x.a:int =0 [line 58]\n *&imageDrawRect.origin.x.b:int =0 [line 58]\n *&imageDrawRect.origin.y:int =0 [line 58]\n *&imageDrawRect.z:int =0 [line 58]\n *&imageDrawRect.size:int =5 [line 58]\n n$1=*&imageDrawRect:struct rect [line 58]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: Return Stmt \n n$0=*&imageDrawRect.origin.x.a:int [line 59]\n *&return:int =(1 / n$0) [line 59]\n " shape="box"]
|
||||
"implicit_expr_set_correctly4" -> "implicit_expr_set_correctly3" ;
|
||||
"implicit_expr_set_correctly3" [label="3: Return Stmt \n n$0=*&imageDrawRect.origin.x.a:int [line 59]\n *&return:int =(1 / n$0) [line 59]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 16 ;
|
||||
16 [label="16: Exit implicit_expr_set_correctly \n " color=yellow style=filled]
|
||||
"implicit_expr_set_correctly3" -> "implicit_expr_set_correctly2" ;
|
||||
"implicit_expr_set_correctly2" [label="2: Exit implicit_expr_set_correctly \n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 [label="15: Start implicit_expr_set_correctly\nFormals: \nLocals: imageDrawRect:struct rect \n DECLARE_LOCALS(&return,&imageDrawRect); [line 56]\n " color=yellow style=filled]
|
||||
"implicit_expr_set_correctly1" [label="1: Start implicit_expr_set_correctly\nFormals: \nLocals: imageDrawRect:struct rect \n DECLARE_LOCALS(&return,&imageDrawRect); [line 56]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 -> 18 ;
|
||||
14 [label="14: DeclStmt \n *&e.ssn:int =12 [line 35]\n *&e.salary:float =3000.500000 [line 35]\n *&e.doj.date:int =12 [line 35]\n *&e.doj.month:int =12 [line 35]\n *&e.doj.year:int =2010 [line 35]\n " shape="box"]
|
||||
"implicit_expr_set_correctly1" -> "implicit_expr_set_correctly4" ;
|
||||
"main3" [label="3: DeclStmt \n n$0=_fun_foo() [line 17]\n *&p.x:int =1 [line 17]\n *&p.y:int =(n$0 + 3) [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: Return Stmt \n n$0=*&e.ssn:int [line 36]\n *&return:int =(1 / (n$0 - 12)) [line 36]\n " shape="box"]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 -> 12 ;
|
||||
12 [label="12: Exit field_set_correctly \n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: p:struct Point \n DECLARE_LOCALS(&return,&p); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 [label="11: Start field_set_correctly\nFormals: \nLocals: e:struct Employee \n DECLARE_LOCALS(&return,&e); [line 34]\n " color=yellow style=filled]
|
||||
"main1" -> "main3" ;
|
||||
"foo3" [label="3: Return Stmt \n *&return:int =5 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 14 ;
|
||||
10 [label="10: BinaryOperatorStmt: Assign \n n$2=*&p:struct Point * [line 20]\n *n$2.x:int =4 [line 20]\n *n$2.y:int =5 [line 20]\n n$3=*n$2:struct Point [line 20]\n " shape="box"]
|
||||
"foo3" -> "foo2" ;
|
||||
"foo2" [label="2: Exit foo \n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: Return Stmt \n n$0=*&p:struct Point * [line 21]\n n$1=*n$0.x:int [line 21]\n *&return:int =(1 / (n$1 - 4)) [line 21]\n " shape="box"]
|
||||
"foo1" [label="1: Start foo\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Exit point_coords_set_correctly \n " color=yellow style=filled]
|
||||
"foo1" -> "foo3" ;
|
||||
"point_coords_set_correctly4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&p:struct Point * [line 20]\n *n$2.x:int =4 [line 20]\n *n$2.y:int =5 [line 20]\n n$3=*n$2:struct Point [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
7 [label="7: Start point_coords_set_correctly\nFormals: p:struct Point *\nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
"point_coords_set_correctly4" -> "point_coords_set_correctly3" ;
|
||||
"point_coords_set_correctly3" [label="3: Return Stmt \n n$0=*&p:struct Point * [line 21]\n n$1=*n$0.x:int [line 21]\n *&return:int =(1 / (n$1 - 4)) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 10 ;
|
||||
6 [label="6: DeclStmt \n n$0=_fun_foo() [line 17]\n *&p.x:int =1 [line 17]\n *&p.y:int =(n$0 + 3) [line 17]\n " shape="box"]
|
||||
"point_coords_set_correctly3" -> "point_coords_set_correctly2" ;
|
||||
"point_coords_set_correctly2" [label="2: Exit point_coords_set_correctly \n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit main \n " color=yellow style=filled]
|
||||
"point_coords_set_correctly1" [label="1: Start point_coords_set_correctly\nFormals: p:struct Point *\nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start main\nFormals: \nLocals: p:struct Point \n DECLARE_LOCALS(&return,&p); [line 17]\n " color=yellow style=filled]
|
||||
"point_coords_set_correctly1" -> "point_coords_set_correctly4" ;
|
||||
"field_set_correctly4" [label="4: DeclStmt \n *&e.ssn:int =12 [line 35]\n *&e.salary:float =3000.500000 [line 35]\n *&e.doj.date:int =12 [line 35]\n *&e.doj.month:int =12 [line 35]\n *&e.doj.year:int =2010 [line 35]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =5 [line 15]\n " shape="box"]
|
||||
"field_set_correctly4" -> "field_set_correctly3" ;
|
||||
"field_set_correctly3" [label="3: Return Stmt \n n$0=*&e.ssn:int [line 36]\n *&return:int =(1 / (n$0 - 12)) [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit foo \n " color=yellow style=filled]
|
||||
"field_set_correctly3" -> "field_set_correctly2" ;
|
||||
"field_set_correctly2" [label="2: Exit field_set_correctly \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start foo\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"field_set_correctly1" [label="1: Start field_set_correctly\nFormals: \nLocals: e:struct Employee \n DECLARE_LOCALS(&return,&e); [line 34]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"field_set_correctly1" -> "field_set_correctly4" ;
|
||||
}
|
||||
|
@ -1,43 +1,43 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n " shape="box"]
|
||||
"main10" [label="10: DeclStmt \n *&a:int =10 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
"main10" -> "main9" ;
|
||||
"main9" [label="9: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 4 ;
|
||||
8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n " shape="box"]
|
||||
"main9" -> "main4" ;
|
||||
"main8" [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 5 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"main8" -> "main5" ;
|
||||
"main7" [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE(((n$0 < 20) != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"main7" -> "main3" ;
|
||||
"main6" [label="6: Prune (true branch) \n PRUNE(((n$0 < 20) != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 4 ;
|
||||
5 [label="5: BinaryOperatorStmt: LT \n n$0=*&b:int [line 15]\n " shape="box"]
|
||||
"main6" -> "main4" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: LT \n n$0=*&b:int [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main6" ;
|
||||
"main5" -> "main7" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 8 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
|
||||
"main4" -> "main8" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: b:int a:int \n DECLARE_LOCALS(&return,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: b:int a:int \n DECLARE_LOCALS(&return,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 10 ;
|
||||
"main1" -> "main10" ;
|
||||
}
|
||||
|
@ -1,43 +1,43 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n " shape="box"]
|
||||
"main10" [label="10: DeclStmt \n *&a:int =10 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
"main10" -> "main9" ;
|
||||
"main9" [label="9: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 4 ;
|
||||
8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n " shape="box"]
|
||||
"main9" -> "main4" ;
|
||||
"main8" [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 5 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"main8" -> "main5" ;
|
||||
"main7" [label="7: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"main7" -> "main3" ;
|
||||
"main6" [label="6: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 4 ;
|
||||
5 [label="5: BinaryOperatorStmt: Assign \n *&b:int =40 [line 15]\n n$0=*&b:int [line 15]\n " shape="box"]
|
||||
"main6" -> "main4" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: Assign \n *&b:int =40 [line 15]\n n$0=*&b:int [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main6" ;
|
||||
"main5" -> "main7" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 8 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
|
||||
"main4" -> "main8" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: b:int a:int \n DECLARE_LOCALS(&return,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: b:int a:int \n DECLARE_LOCALS(&return,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 10 ;
|
||||
"main1" -> "main10" ;
|
||||
}
|
||||
|
@ -1,64 +1,64 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
15 [label="15: DeclStmt \n *&a:int =10 [line 11]\n " shape="box"]
|
||||
"main15" [label="15: DeclStmt \n *&a:int =10 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
"main15" -> "main14" ;
|
||||
"main14" [label="14: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 4 ;
|
||||
13 [label="13: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n " shape="box"]
|
||||
"main14" -> "main4" ;
|
||||
"main13" [label="13: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 8 ;
|
||||
12 [label="12: BinaryOperatorStmt: Assign \n *&a:int =2 [line 16]\n " shape="box"]
|
||||
"main13" -> "main8" ;
|
||||
"main12" [label="12: BinaryOperatorStmt: Assign \n *&a:int =2 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 9 ;
|
||||
11 [label="11: Prune (false branch) \n PRUNE(((n$1 < 30) == 0), false); [line 17]\n " shape="invhouse"]
|
||||
"main12" -> "main9" ;
|
||||
"main11" [label="11: Prune (false branch) \n PRUNE(((n$1 < 30) == 0), false); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
11 -> 5 ;
|
||||
10 [label="10: Prune (true branch) \n PRUNE(((n$1 < 30) != 0), true); [line 17]\n " shape="invhouse"]
|
||||
"main11" -> "main5" ;
|
||||
"main10" [label="10: Prune (true branch) \n PRUNE(((n$1 < 30) != 0), true); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
10 -> 8 ;
|
||||
9 [label="9: BinaryOperatorStmt: LT \n n$1=*&b:int [line 17]\n " shape="box"]
|
||||
"main10" -> "main8" ;
|
||||
"main9" [label="9: BinaryOperatorStmt: LT \n n$1=*&b:int [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 10 ;
|
||||
9 -> 11 ;
|
||||
8 [label="8: + \n " ]
|
||||
"main9" -> "main10" ;
|
||||
"main9" -> "main11" ;
|
||||
"main8" [label="8: + \n " ]
|
||||
|
||||
|
||||
8 -> 12 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 18]\n " shape="invhouse"]
|
||||
"main8" -> "main12" ;
|
||||
"main7" [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE(((n$0 < 20) != 0), true); [line 18]\n " shape="invhouse"]
|
||||
"main7" -> "main3" ;
|
||||
"main6" [label="6: Prune (true branch) \n PRUNE(((n$0 < 20) != 0), true); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 4 ;
|
||||
5 [label="5: BinaryOperatorStmt: LT \n n$0=*&b:int [line 18]\n " shape="box"]
|
||||
"main6" -> "main4" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: LT \n n$0=*&b:int [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main6" ;
|
||||
"main5" -> "main7" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 13 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 20]\n " shape="box"]
|
||||
"main4" -> "main13" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: b:int a:int \n DECLARE_LOCALS(&return,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: b:int a:int \n DECLARE_LOCALS(&return,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 15 ;
|
||||
"main1" -> "main15" ;
|
||||
}
|
||||
|
@ -1,51 +1,51 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
12 [label="12: DeclStmt \n *&j:int =0 [line 11]\n " shape="box"]
|
||||
"main12" [label="12: DeclStmt \n *&j:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
|
||||
"main12" -> "main11" ;
|
||||
"main11" [label="11: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 5 ;
|
||||
10 [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 14]\n n$3=*&j:int [line 14]\n *&j:int =(n$3 + n$2) [line 14]\n " shape="box"]
|
||||
"main11" -> "main5" ;
|
||||
"main10" [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 14]\n n$3=*&j:int [line 14]\n *&j:int =(n$3 + n$2) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 6 ;
|
||||
9 [label="9: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
"main10" -> "main6" ;
|
||||
"main9" [label="9: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 -> 3 ;
|
||||
8 [label="8: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
"main9" -> "main3" ;
|
||||
"main8" [label="8: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
8 -> 10 ;
|
||||
7 [label="7: BinaryOperatorStmt: Assign \n *&b:int =10 [line 13]\n n$1=*&b:int [line 13]\n " shape="box"]
|
||||
"main8" -> "main10" ;
|
||||
"main7" [label="7: BinaryOperatorStmt: Assign \n *&b:int =10 [line 13]\n n$1=*&b:int [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 8 ;
|
||||
7 -> 9 ;
|
||||
6 [label="6: UnaryOperator \n n$0=*&i:int [line 13]\n *&i:int =(n$0 + 1) [line 13]\n " shape="box"]
|
||||
"main7" -> "main8" ;
|
||||
"main7" -> "main9" ;
|
||||
"main6" [label="6: UnaryOperator \n n$0=*&i:int [line 13]\n *&i:int =(n$0 + 1) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 4 ;
|
||||
5 [label="5: DeclStmt \n *&b:int =3 [line 13]\n " shape="box"]
|
||||
"main6" -> "main4" ;
|
||||
"main5" [label="5: DeclStmt \n *&b:int =3 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 7 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 16]\n " shape="box"]
|
||||
"main4" -> "main7" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: b:int i:int j:int \n DECLARE_LOCALS(&return,&b,&i,&j); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: b:int i:int j:int \n DECLARE_LOCALS(&return,&b,&i,&j); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 12 ;
|
||||
"main1" -> "main12" ;
|
||||
}
|
||||
|
@ -1,72 +1,72 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
17 [label="17: DeclStmt \n *&k:int =0 [line 11]\n " shape="box"]
|
||||
"main17" [label="17: DeclStmt \n *&k:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 5 ;
|
||||
16 [label="16: BinaryOperatorStmt: Assign \n n$5=*&k:int [line 14]\n n$6=*&i:int [line 14]\n *&k:int =(n$5 + n$6) [line 14]\n " shape="box"]
|
||||
"main17" -> "main5" ;
|
||||
"main16" [label="16: BinaryOperatorStmt: Assign \n n$5=*&k:int [line 14]\n n$6=*&i:int [line 14]\n *&k:int =(n$5 + n$6) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 12 ;
|
||||
15 [label="15: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 13]\n " shape="invhouse"]
|
||||
"main16" -> "main12" ;
|
||||
"main15" [label="15: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
15 -> 6 ;
|
||||
14 [label="14: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 13]\n " shape="invhouse"]
|
||||
"main15" -> "main6" ;
|
||||
"main14" [label="14: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
14 -> 16 ;
|
||||
13 [label="13: BinaryOperatorStmt: LT \n n$4=*&j:int [line 13]\n " shape="box"]
|
||||
"main14" -> "main16" ;
|
||||
"main13" [label="13: BinaryOperatorStmt: LT \n n$4=*&j:int [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 14 ;
|
||||
13 -> 15 ;
|
||||
12 [label="12: UnaryOperator \n n$3=*&j:int [line 13]\n *&j:int =(n$3 + 1) [line 13]\n " shape="box"]
|
||||
"main13" -> "main14" ;
|
||||
"main13" -> "main15" ;
|
||||
"main12" [label="12: UnaryOperator \n n$3=*&j:int [line 13]\n *&j:int =(n$3 + 1) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 10 ;
|
||||
11 [label="11: DeclStmt \n *&j:int =0 [line 13]\n " shape="box"]
|
||||
"main12" -> "main10" ;
|
||||
"main11" [label="11: DeclStmt \n *&j:int =0 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: + \n " ]
|
||||
"main11" -> "main10" ;
|
||||
"main10" [label="10: + \n " ]
|
||||
|
||||
|
||||
10 -> 13 ;
|
||||
9 [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"main10" -> "main13" ;
|
||||
"main9" [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 -> 3 ;
|
||||
8 [label="8: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"main9" -> "main3" ;
|
||||
"main8" [label="8: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
8 -> 11 ;
|
||||
7 [label="7: BinaryOperatorStmt: LT \n n$2=*&i:int [line 12]\n " shape="box"]
|
||||
"main8" -> "main11" ;
|
||||
"main7" [label="7: BinaryOperatorStmt: LT \n n$2=*&i:int [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 8 ;
|
||||
7 -> 9 ;
|
||||
6 [label="6: UnaryOperator \n n$1=*&i:int [line 12]\n *&i:int =(n$1 + 1) [line 12]\n " shape="box"]
|
||||
"main7" -> "main8" ;
|
||||
"main7" -> "main9" ;
|
||||
"main6" [label="6: UnaryOperator \n n$1=*&i:int [line 12]\n *&i:int =(n$1 + 1) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 4 ;
|
||||
5 [label="5: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
|
||||
"main6" -> "main4" ;
|
||||
"main5" [label="5: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 7 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&k:int [line 17]\n *&return:int =n$0 [line 17]\n " shape="box"]
|
||||
"main4" -> "main7" ;
|
||||
"main3" [label="3: Return Stmt \n n$0=*&k:int [line 17]\n *&return:int =n$0 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: i:int j:int k:int \n DECLARE_LOCALS(&return,&i,&j,&k); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: i:int j:int k:int \n DECLARE_LOCALS(&return,&i,&j,&k); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 17 ;
|
||||
"main1" -> "main17" ;
|
||||
}
|
||||
|
@ -1,43 +1,43 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
10 [label="10: DeclStmt \n *&j:int =0 [line 11]\n " shape="box"]
|
||||
"main10" [label="10: DeclStmt \n *&j:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 5 ;
|
||||
9 [label="9: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 13]\n n$2=*&j:int [line 13]\n *&j:int =(n$2 + n$1) [line 13]\n " shape="box"]
|
||||
"main10" -> "main5" ;
|
||||
"main9" [label="9: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 13]\n n$2=*&j:int [line 13]\n *&j:int =(n$2 + n$1) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 6 ;
|
||||
8 [label="8: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"main9" -> "main6" ;
|
||||
"main8" [label="8: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
8 -> 3 ;
|
||||
7 [label="7: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"main8" -> "main3" ;
|
||||
"main7" [label="7: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 9 ;
|
||||
6 [label="6: UnaryOperator \n n$0=*&b:int [line 12]\n *&b:int =(n$0 + 1) [line 12]\n " shape="box"]
|
||||
"main7" -> "main9" ;
|
||||
"main6" [label="6: UnaryOperator \n n$0=*&b:int [line 12]\n *&b:int =(n$0 + 1) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 4 ;
|
||||
5 [label="5: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
"main6" -> "main4" ;
|
||||
"main5" [label="5: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 7 ;
|
||||
4 -> 8 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
"main4" -> "main7" ;
|
||||
"main4" -> "main8" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: b:int j:int \n DECLARE_LOCALS(&return,&b,&j); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: b:int j:int \n DECLARE_LOCALS(&return,&b,&j); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 10 ;
|
||||
"main1" -> "main10" ;
|
||||
}
|
||||
|
@ -1,39 +1,39 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
9 [label="9: DeclStmt \n *&j:int =0 [line 11]\n " shape="box"]
|
||||
"main9" [label="9: DeclStmt \n *&j:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 5 ;
|
||||
8 [label="8: BinaryOperatorStmt: AddAssign \n n$0=*&j:int [line 13]\n n$1=*&j:int [line 13]\n *&j:int =(n$1 + n$0) [line 13]\n " shape="box"]
|
||||
"main9" -> "main5" ;
|
||||
"main8" [label="8: BinaryOperatorStmt: AddAssign \n n$0=*&j:int [line 13]\n n$1=*&j:int [line 13]\n *&j:int =(n$1 + n$0) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 4 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"main8" -> "main4" ;
|
||||
"main7" [label="7: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"main7" -> "main3" ;
|
||||
"main6" [label="6: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
"main6" -> "main8" ;
|
||||
"main5" [label="5: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
4 -> 7 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
"main4" -> "main6" ;
|
||||
"main4" -> "main7" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: b:int j:int \n DECLARE_LOCALS(&return,&b,&j); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: b:int j:int \n DECLARE_LOCALS(&return,&b,&j); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 9 ;
|
||||
"main1" -> "main9" ;
|
||||
}
|
||||
|
@ -1,35 +1,35 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
8 [label="8: DeclStmt \n *&d:int =0 [line 11]\n " shape="box"]
|
||||
"main8" [label="8: DeclStmt \n *&d:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 5 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"main8" -> "main5" ;
|
||||
"main7" [label="7: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"main7" -> "main3" ;
|
||||
"main6" [label="6: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 4 ;
|
||||
5 [label="5: BinaryOperatorStmt: Assign \n *&d:int =0 [line 12]\n " shape="box"]
|
||||
"main6" -> "main4" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: Assign \n *&d:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
4 -> 7 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 14]\n " shape="box"]
|
||||
"main4" -> "main6" ;
|
||||
"main4" -> "main7" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: d:int \n DECLARE_LOCALS(&return,&d); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: d:int \n DECLARE_LOCALS(&return,&d); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 8 ;
|
||||
"main1" -> "main8" ;
|
||||
}
|
||||
|
@ -1,35 +1,35 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
8 [label="8: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
|
||||
"main8" [label="8: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 4 ;
|
||||
7 [label="7: UnaryOperator \n n$0=*&i:int [line 13]\n *&i:int =(n$0 + 1) [line 13]\n " shape="box"]
|
||||
"main8" -> "main4" ;
|
||||
"main7" [label="7: UnaryOperator \n n$0=*&i:int [line 13]\n *&i:int =(n$0 + 1) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 4 ;
|
||||
6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 14]\n " shape="invhouse"]
|
||||
"main7" -> "main4" ;
|
||||
"main6" [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 14]\n " shape="invhouse"]
|
||||
"main6" -> "main3" ;
|
||||
"main5" [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main7" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 5 ;
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
"main4" -> "main5" ;
|
||||
"main4" -> "main6" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: i:int \n DECLARE_LOCALS(&return,&i); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: i:int \n DECLARE_LOCALS(&return,&i); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 8 ;
|
||||
"main1" -> "main8" ;
|
||||
}
|
||||
|
@ -1,47 +1,47 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
11 [label="11: DeclStmt \n *&j:int =0 [line 11]\n " shape="box"]
|
||||
"main11" [label="11: DeclStmt \n *&j:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 5 ;
|
||||
10 [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 13]\n n$3=*&j:int [line 13]\n *&j:int =(n$3 + n$2) [line 13]\n " shape="box"]
|
||||
"main11" -> "main5" ;
|
||||
"main10" [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 13]\n n$3=*&j:int [line 13]\n *&j:int =(n$3 + n$2) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 6 ;
|
||||
9 [label="9: Prune (false branch) \n PRUNE(((n$1 < 10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"main10" -> "main6" ;
|
||||
"main9" [label="9: Prune (false branch) \n PRUNE(((n$1 < 10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 -> 3 ;
|
||||
8 [label="8: Prune (true branch) \n PRUNE(((n$1 < 10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"main9" -> "main3" ;
|
||||
"main8" [label="8: Prune (true branch) \n PRUNE(((n$1 < 10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
8 -> 10 ;
|
||||
7 [label="7: BinaryOperatorStmt: LT \n n$1=*&i:int [line 12]\n " shape="box"]
|
||||
"main8" -> "main10" ;
|
||||
"main7" [label="7: BinaryOperatorStmt: LT \n n$1=*&i:int [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 8 ;
|
||||
7 -> 9 ;
|
||||
6 [label="6: UnaryOperator \n n$0=*&i:int [line 12]\n *&i:int =(n$0 + 1) [line 12]\n " shape="box"]
|
||||
"main7" -> "main8" ;
|
||||
"main7" -> "main9" ;
|
||||
"main6" [label="6: UnaryOperator \n n$0=*&i:int [line 12]\n *&i:int =(n$0 + 1) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 4 ;
|
||||
5 [label="5: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
|
||||
"main6" -> "main4" ;
|
||||
"main5" [label="5: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 7 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
"main4" -> "main7" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: i:int j:int \n DECLARE_LOCALS(&return,&i,&j); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: i:int j:int \n DECLARE_LOCALS(&return,&i,&j); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 11 ;
|
||||
"main1" -> "main11" ;
|
||||
}
|
||||
|
@ -1,64 +1,64 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
15 [label="15: DeclStmt \n *&k:int =0 [line 11]\n " shape="box"]
|
||||
"main15" [label="15: DeclStmt \n *&k:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 5 ;
|
||||
14 [label="14: UnaryOperator \n n$4=*&k:int [line 14]\n *&k:int =(n$4 + 1) [line 14]\n " shape="box"]
|
||||
"main15" -> "main5" ;
|
||||
"main14" [label="14: UnaryOperator \n n$4=*&k:int [line 14]\n *&k:int =(n$4 + 1) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 10 ;
|
||||
13 [label="13: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 13]\n " shape="invhouse"]
|
||||
"main14" -> "main10" ;
|
||||
"main13" [label="13: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 -> 6 ;
|
||||
12 [label="12: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 13]\n " shape="invhouse"]
|
||||
"main13" -> "main6" ;
|
||||
"main12" [label="12: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 14 ;
|
||||
11 [label="11: BinaryOperatorStmt: LT \n n$3=*&k:int [line 13]\n " shape="box"]
|
||||
"main12" -> "main14" ;
|
||||
"main11" [label="11: BinaryOperatorStmt: LT \n n$3=*&k:int [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 12 ;
|
||||
11 -> 13 ;
|
||||
10 [label="10: + \n " ]
|
||||
"main11" -> "main12" ;
|
||||
"main11" -> "main13" ;
|
||||
"main10" [label="10: + \n " ]
|
||||
|
||||
|
||||
10 -> 11 ;
|
||||
9 [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"main10" -> "main11" ;
|
||||
"main9" [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 -> 3 ;
|
||||
8 [label="8: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"main9" -> "main3" ;
|
||||
"main8" [label="8: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
8 -> 10 ;
|
||||
7 [label="7: BinaryOperatorStmt: LT \n n$2=*&i:int [line 12]\n " shape="box"]
|
||||
"main8" -> "main10" ;
|
||||
"main7" [label="7: BinaryOperatorStmt: LT \n n$2=*&i:int [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 8 ;
|
||||
7 -> 9 ;
|
||||
6 [label="6: UnaryOperator \n n$1=*&i:int [line 12]\n *&i:int =(n$1 + 1) [line 12]\n " shape="box"]
|
||||
"main7" -> "main8" ;
|
||||
"main7" -> "main9" ;
|
||||
"main6" [label="6: UnaryOperator \n n$1=*&i:int [line 12]\n *&i:int =(n$1 + 1) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 4 ;
|
||||
5 [label="5: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
|
||||
"main6" -> "main4" ;
|
||||
"main5" [label="5: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 7 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&k:int [line 17]\n *&return:int =n$0 [line 17]\n " shape="box"]
|
||||
"main4" -> "main7" ;
|
||||
"main3" [label="3: Return Stmt \n n$0=*&k:int [line 17]\n *&return:int =n$0 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: i:int k:int \n DECLARE_LOCALS(&return,&i,&k); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: i:int k:int \n DECLARE_LOCALS(&return,&i,&k); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 15 ;
|
||||
"main1" -> "main15" ;
|
||||
}
|
||||
|
@ -1,39 +1,39 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
9 [label="9: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
|
||||
"main9" [label="9: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 4 ;
|
||||
8 [label="8: UnaryOperator \n n$1=*&i:int [line 13]\n *&i:int =(n$1 + 1) [line 13]\n " shape="box"]
|
||||
"main9" -> "main4" ;
|
||||
"main8" [label="8: UnaryOperator \n n$1=*&i:int [line 13]\n *&i:int =(n$1 + 1) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 4 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"main8" -> "main4" ;
|
||||
"main7" [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE(((n$0 <= 10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"main7" -> "main3" ;
|
||||
"main6" [label="6: Prune (true branch) \n PRUNE(((n$0 <= 10) != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: BinaryOperatorStmt: LE \n n$0=*&i:int [line 12]\n " shape="box"]
|
||||
"main6" -> "main8" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: LE \n n$0=*&i:int [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main6" ;
|
||||
"main5" -> "main7" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 5 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
"main4" -> "main5" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: i:int \n DECLARE_LOCALS(&return,&i); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: i:int \n DECLARE_LOCALS(&return,&i); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 9 ;
|
||||
"main1" -> "main9" ;
|
||||
}
|
||||
|
@ -1,39 +1,39 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
9 [label="9: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
|
||||
"main9" [label="9: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 4 ;
|
||||
8 [label="8: UnaryOperator \n n$1=*&i:int [line 13]\n *&i:int =(n$1 + 1) [line 13]\n " shape="box"]
|
||||
"main9" -> "main4" ;
|
||||
"main8" [label="8: UnaryOperator \n n$1=*&i:int [line 13]\n *&i:int =(n$1 + 1) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 4 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"main8" -> "main4" ;
|
||||
"main7" [label="7: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"main7" -> "main3" ;
|
||||
"main6" [label="6: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: BinaryOperatorStmt: Assign \n *&i:int =10 [line 12]\n n$0=*&i:int [line 12]\n " shape="box"]
|
||||
"main6" -> "main8" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: Assign \n *&i:int =10 [line 12]\n n$0=*&i:int [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main6" ;
|
||||
"main5" -> "main7" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 5 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
"main4" -> "main5" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: i:int \n DECLARE_LOCALS(&return,&i); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: i:int \n DECLARE_LOCALS(&return,&i); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 9 ;
|
||||
"main1" -> "main9" ;
|
||||
}
|
||||
|
@ -1,64 +1,64 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
15 [label="15: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
|
||||
"main15" [label="15: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: DeclStmt \n *&k:int =0 [line 12]\n " shape="box"]
|
||||
"main15" -> "main14" ;
|
||||
"main14" [label="14: DeclStmt \n *&k:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 4 ;
|
||||
13 [label="13: UnaryOperator \n n$3=*&k:int [line 15]\n *&k:int =(n$3 + 1) [line 15]\n " shape="box"]
|
||||
"main14" -> "main4" ;
|
||||
"main13" [label="13: UnaryOperator \n n$3=*&k:int [line 15]\n *&k:int =(n$3 + 1) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 9 ;
|
||||
12 [label="12: Prune (false branch) \n PRUNE(((n$2 <= 5) == 0), false); [line 14]\n " shape="invhouse"]
|
||||
"main13" -> "main9" ;
|
||||
"main12" [label="12: Prune (false branch) \n PRUNE(((n$2 <= 5) == 0), false); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 8 ;
|
||||
11 [label="11: Prune (true branch) \n PRUNE(((n$2 <= 5) != 0), true); [line 14]\n " shape="invhouse"]
|
||||
"main12" -> "main8" ;
|
||||
"main11" [label="11: Prune (true branch) \n PRUNE(((n$2 <= 5) != 0), true); [line 14]\n " shape="invhouse"]
|
||||
|
||||
|
||||
11 -> 13 ;
|
||||
10 [label="10: BinaryOperatorStmt: LE \n n$2=*&k:int [line 14]\n " shape="box"]
|
||||
"main11" -> "main13" ;
|
||||
"main10" [label="10: BinaryOperatorStmt: LE \n n$2=*&k:int [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 11 ;
|
||||
10 -> 12 ;
|
||||
9 [label="9: + \n " ]
|
||||
"main10" -> "main11" ;
|
||||
"main10" -> "main12" ;
|
||||
"main9" [label="9: + \n " ]
|
||||
|
||||
|
||||
9 -> 10 ;
|
||||
8 [label="8: UnaryOperator \n n$1=*&i:int [line 17]\n *&i:int =(n$1 + 1) [line 17]\n " shape="box"]
|
||||
"main9" -> "main10" ;
|
||||
"main8" [label="8: UnaryOperator \n n$1=*&i:int [line 17]\n *&i:int =(n$1 + 1) [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 4 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 13]\n " shape="invhouse"]
|
||||
"main8" -> "main4" ;
|
||||
"main7" [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE(((n$0 <= 10) != 0), true); [line 13]\n " shape="invhouse"]
|
||||
"main7" -> "main3" ;
|
||||
"main6" [label="6: Prune (true branch) \n PRUNE(((n$0 <= 10) != 0), true); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 9 ;
|
||||
5 [label="5: BinaryOperatorStmt: LE \n n$0=*&i:int [line 13]\n " shape="box"]
|
||||
"main6" -> "main9" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: LE \n n$0=*&i:int [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main6" ;
|
||||
"main5" -> "main7" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 5 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 19]\n " shape="box"]
|
||||
"main4" -> "main5" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: k:int i:int \n DECLARE_LOCALS(&return,&k,&i); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: k:int i:int \n DECLARE_LOCALS(&return,&k,&i); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 15 ;
|
||||
"main1" -> "main15" ;
|
||||
}
|
||||
|
@ -1,27 +1,27 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 11]\n " shape="invhouse"]
|
||||
"main6" [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 11]\n " shape="invhouse"]
|
||||
"main6" -> "main3" ;
|
||||
"main5" [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 5 ;
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 13]\n " shape="box"]
|
||||
"main4" -> "main5" ;
|
||||
"main4" -> "main6" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
"main1" -> "main4" ;
|
||||
}
|
||||
|
@ -1,82 +1,82 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
19 [label="19: DeclStmt \n *&x:int =0 [line 11]\n " shape="box"]
|
||||
"main19" [label="19: DeclStmt \n *&x:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 4 ;
|
||||
18 [label="18: BinaryOperatorStmt: AddAssign \n n$2=*&x:int [line 14]\n *&x:int =(n$2 + 1) [line 14]\n " shape="box"]
|
||||
"main19" -> "main4" ;
|
||||
"main18" [label="18: BinaryOperatorStmt: AddAssign \n n$2=*&x:int [line 14]\n *&x:int =(n$2 + 1) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 15 ;
|
||||
17 [label="17: Prune (false branch) \n PRUNE(((n$1 > 5) == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"main18" -> "main15" ;
|
||||
"main17" [label="17: Prune (false branch) \n PRUNE(((n$1 > 5) == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
17 -> 14 ;
|
||||
16 [label="16: Prune (true branch) \n PRUNE(((n$1 > 5) != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"main17" -> "main14" ;
|
||||
"main16" [label="16: Prune (true branch) \n PRUNE(((n$1 > 5) != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
16 -> 8 ;
|
||||
15 [label="15: BinaryOperatorStmt: GT \n n$1=*&x:int [line 15]\n " shape="box"]
|
||||
"main16" -> "main8" ;
|
||||
"main15" [label="15: BinaryOperatorStmt: GT \n n$1=*&x:int [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 16 ;
|
||||
15 -> 17 ;
|
||||
14 [label="14: + \n " ]
|
||||
"main15" -> "main16" ;
|
||||
"main15" -> "main17" ;
|
||||
"main14" [label="14: + \n " ]
|
||||
|
||||
|
||||
14 -> 11 ;
|
||||
13 [label="13: Prune (false branch) \n PRUNE((2 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
"main14" -> "main11" ;
|
||||
"main13" [label="13: Prune (false branch) \n PRUNE((2 == 0), false); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 -> 8 ;
|
||||
12 [label="12: Prune (true branch) \n PRUNE((2 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
"main13" -> "main8" ;
|
||||
"main12" [label="12: Prune (true branch) \n PRUNE((2 != 0), true); [line 13]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 18 ;
|
||||
11 [label="11: + \n " ]
|
||||
"main12" -> "main18" ;
|
||||
"main11" [label="11: + \n " ]
|
||||
|
||||
|
||||
11 -> 12 ;
|
||||
11 -> 13 ;
|
||||
10 [label="10: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 19]\n " shape="invhouse"]
|
||||
"main11" -> "main12" ;
|
||||
"main11" -> "main13" ;
|
||||
"main10" [label="10: Prune (false branch) \n PRUNE(((n$0 == 2) == 0), false); [line 19]\n " shape="invhouse"]
|
||||
|
||||
|
||||
10 -> 7 ;
|
||||
9 [label="9: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 19]\n " shape="invhouse"]
|
||||
"main10" -> "main7" ;
|
||||
"main9" [label="9: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 19]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 -> 4 ;
|
||||
8 [label="8: BinaryOperatorStmt: EQ \n n$0=*&x:int [line 19]\n " shape="box"]
|
||||
"main9" -> "main4" ;
|
||||
"main8" [label="8: BinaryOperatorStmt: EQ \n n$0=*&x:int [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 9 ;
|
||||
8 -> 10 ;
|
||||
7 [label="7: + \n " ]
|
||||
"main8" -> "main9" ;
|
||||
"main8" -> "main10" ;
|
||||
"main7" [label="7: + \n " ]
|
||||
|
||||
|
||||
7 -> 4 ;
|
||||
6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"main7" -> "main4" ;
|
||||
"main6" [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"main6" -> "main3" ;
|
||||
"main5" [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 11 ;
|
||||
4 [label="4: + \n " ]
|
||||
"main5" -> "main11" ;
|
||||
"main4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 5 ;
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 23]\n " shape="box"]
|
||||
"main4" -> "main5" ;
|
||||
"main4" -> "main6" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: x:int \n DECLARE_LOCALS(&return,&x); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: x:int \n DECLARE_LOCALS(&return,&x); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 19 ;
|
||||
"main1" -> "main19" ;
|
||||
}
|
||||
|
@ -1,35 +1,35 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
8 [label="8: Return Stmt \n *&return:int =32 [line 12]\n " shape="box"]
|
||||
"foo8" [label="8: Return Stmt \n *&return:int =32 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 2 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 11]\n " shape="invhouse"]
|
||||
"foo8" -> "foo2" ;
|
||||
"foo7" [label="7: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 4 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 11]\n " shape="invhouse"]
|
||||
"foo7" -> "foo4" ;
|
||||
"foo6" [label="6: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int * [line 11]\n *n$0:int =0 [line 11]\n n$1=*n$0:int [line 11]\n " shape="box"]
|
||||
"foo6" -> "foo8" ;
|
||||
"foo5" [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int * [line 11]\n *n$0:int =0 [line 11]\n n$1=*n$0:int [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"foo5" -> "foo6" ;
|
||||
"foo5" -> "foo7" ;
|
||||
"foo4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =52 [line 14]\n " shape="box"]
|
||||
"foo4" -> "foo3" ;
|
||||
"foo3" [label="3: Return Stmt \n *&return:int =52 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit foo \n " color=yellow style=filled]
|
||||
"foo3" -> "foo2" ;
|
||||
"foo2" [label="2: Exit foo \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start foo\nFormals: p:int *\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"foo1" [label="1: Start foo\nFormals: p:int *\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 5 ;
|
||||
"foo1" -> "foo5" ;
|
||||
}
|
||||
|
@ -1,35 +1,35 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
8 [label="8: Return Stmt \n *&return:int =32 [line 12]\n " shape="box"]
|
||||
"foo8" [label="8: Return Stmt \n *&return:int =32 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 2 ;
|
||||
7 [label="7: Prune (false branch) \n n$1=*n$0:int [line 11]\n PRUNE((n$1 == 0), false); [line 11]\n " shape="invhouse"]
|
||||
"foo8" -> "foo2" ;
|
||||
"foo7" [label="7: Prune (false branch) \n n$1=*n$0:int [line 11]\n PRUNE((n$1 == 0), false); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 4 ;
|
||||
6 [label="6: Prune (true branch) \n n$1=*n$0:int [line 11]\n PRUNE((n$1 != 0), true); [line 11]\n " shape="invhouse"]
|
||||
"foo7" -> "foo4" ;
|
||||
"foo6" [label="6: Prune (true branch) \n n$1=*n$0:int [line 11]\n PRUNE((n$1 != 0), true); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int * [line 11]\n *n$0:int =0 [line 11]\n " shape="box"]
|
||||
"foo6" -> "foo8" ;
|
||||
"foo5" [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int * [line 11]\n *n$0:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"foo5" -> "foo6" ;
|
||||
"foo5" -> "foo7" ;
|
||||
"foo4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =52 [line 14]\n " shape="box"]
|
||||
"foo4" -> "foo3" ;
|
||||
"foo3" [label="3: Return Stmt \n *&return:int =52 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit foo \n " color=yellow style=filled]
|
||||
"foo3" -> "foo2" ;
|
||||
"foo2" [label="2: Exit foo \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start foo\nFormals: p:int *\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"foo1" [label="1: Start foo\nFormals: p:int *\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 5 ;
|
||||
"foo1" -> "foo5" ;
|
||||
}
|
||||
|
@ -1,30 +1,30 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
7 [label="7: DeclStmt \n *&a:int =3 [line 11]\n " shape="box"]
|
||||
"test7" [label="7: DeclStmt \n *&a:int =3 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: DeclStmt \n n$3=*&a:int [line 12]\n *&a:int =(n$3 + 1) [line 12]\n *&b:int =(n$3 + 1) [line 12]\n " shape="box"]
|
||||
"test7" -> "test6" ;
|
||||
"test6" [label="6: DeclStmt \n n$3=*&a:int [line 12]\n *&a:int =(n$3 + 1) [line 12]\n *&b:int =(n$3 + 1) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: DeclStmt \n n$2=*&a:int [line 13]\n *&a:int =(n$2 + 1) [line 13]\n *&c:int =n$2 [line 13]\n " shape="box"]
|
||||
"test6" -> "test5" ;
|
||||
"test5" [label="5: DeclStmt \n n$2=*&a:int [line 13]\n *&a:int =(n$2 + 1) [line 13]\n *&c:int =n$2 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: DeclStmt \n n$1=*&a:int [line 14]\n *&a:int =(n$1 - 1) [line 14]\n *&d:int =(n$1 - 1) [line 14]\n " shape="box"]
|
||||
"test5" -> "test4" ;
|
||||
"test4" [label="4: DeclStmt \n n$1=*&a:int [line 14]\n *&a:int =(n$1 - 1) [line 14]\n *&d:int =(n$1 - 1) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: DeclStmt \n n$0=*&a:int [line 15]\n *&a:int =(n$0 - 1) [line 15]\n *&e:int =n$0 [line 15]\n " shape="box"]
|
||||
"test4" -> "test3" ;
|
||||
"test3" [label="3: DeclStmt \n n$0=*&a:int [line 15]\n *&a:int =(n$0 - 1) [line 15]\n *&e:int =n$0 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit test \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start test\nFormals: \nLocals: e:int d:int c:int b:int a:int \n DECLARE_LOCALS(&return,&e,&d,&c,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: e:int d:int c:int b:int a:int \n DECLARE_LOCALS(&return,&e,&d,&c,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 7 ;
|
||||
"test1" -> "test7" ;
|
||||
}
|
||||
|
@ -1,30 +1,30 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
7 [label="7: DeclStmt \n *&a:int =3 [line 11]\n " shape="box"]
|
||||
"test7" [label="7: DeclStmt \n *&a:int =3 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: DeclStmt \n n$4=*&a:int [line 12]\n *&a:int =(n$4 + 1) [line 12]\n n$5=*&a:int [line 12]\n *&b:int =n$5 [line 12]\n " shape="box"]
|
||||
"test7" -> "test6" ;
|
||||
"test6" [label="6: DeclStmt \n n$4=*&a:int [line 12]\n *&a:int =(n$4 + 1) [line 12]\n n$5=*&a:int [line 12]\n *&b:int =n$5 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: DeclStmt \n n$3=*&a:int [line 13]\n *&a:int =(n$3 + 1) [line 13]\n *&c:int =n$3 [line 13]\n " shape="box"]
|
||||
"test6" -> "test5" ;
|
||||
"test5" [label="5: DeclStmt \n n$3=*&a:int [line 13]\n *&a:int =(n$3 + 1) [line 13]\n *&c:int =n$3 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: DeclStmt \n n$1=*&a:int [line 14]\n *&a:int =(n$1 - 1) [line 14]\n n$2=*&a:int [line 14]\n *&d:int =n$2 [line 14]\n " shape="box"]
|
||||
"test5" -> "test4" ;
|
||||
"test4" [label="4: DeclStmt \n n$1=*&a:int [line 14]\n *&a:int =(n$1 - 1) [line 14]\n n$2=*&a:int [line 14]\n *&d:int =n$2 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: DeclStmt \n n$0=*&a:int [line 15]\n *&a:int =(n$0 - 1) [line 15]\n *&e:int =n$0 [line 15]\n " shape="box"]
|
||||
"test4" -> "test3" ;
|
||||
"test3" [label="3: DeclStmt \n n$0=*&a:int [line 15]\n *&a:int =(n$0 - 1) [line 15]\n *&e:int =n$0 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit test \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start test\nFormals: \nLocals: e:int d:int c:int b:int a:int \n DECLARE_LOCALS(&return,&e,&d,&c,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: e:int d:int c:int b:int a:int \n DECLARE_LOCALS(&return,&e,&d,&c,&b,&a); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 7 ;
|
||||
"test1" -> "test7" ;
|
||||
}
|
||||
|
@ -1,33 +1,33 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
8 [label="8: Return Stmt \n n$2=*&p:int * [line 22]\n n$3=*n$2:int [line 22]\n *&x:int =n$3 [line 22]\n *&y:int =1 [line 23]\n n$0=*&x:int [line 24]\n n$1=*&y:int [line 24]\n *&return:int =(n$0 + n$1) [line 21]\n " shape="box"]
|
||||
"main5" [label="5: DeclStmt \n *&y:int =3 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: Exit test \n " color=yellow style=filled]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: BinaryOperatorStmt: Assign \n *&X:int =4 [line 14]\n n$0=*&X:int [line 15]\n *&y:int =n$0 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
6 [label="6: Start test\nFormals: p:int *\nLocals: y:int x:int \n DECLARE_LOCALS(&return,&y,&x); [line 20]\n " color=yellow style=filled]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: DeclStmt \n *&y:int =3 [line 11]\n " shape="box"]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: BinaryOperatorStmt: Assign \n *&X:int =4 [line 14]\n n$0=*&X:int [line 15]\n *&y:int =n$0 [line 13]\n " shape="box"]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: X:int y:int \n DECLARE_LOCALS(&return,&X,&y); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
|
||||
"main1" -> "main5" ;
|
||||
"test3" [label="3: Return Stmt \n n$2=*&p:int * [line 22]\n n$3=*n$2:int [line 22]\n *&x:int =n$3 [line 22]\n *&y:int =1 [line 23]\n n$0=*&x:int [line 24]\n n$1=*&y:int [line 24]\n *&return:int =(n$0 + n$1) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: X:int y:int \n DECLARE_LOCALS(&return,&X,&y); [line 10]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: p:int *\nLocals: y:int x:int \n DECLARE_LOCALS(&return,&y,&x); [line 20]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 5 ;
|
||||
"test1" -> "test3" ;
|
||||
}
|
||||
|
@ -1,38 +1,38 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
9 [label="9: DeclStmt \n *&x:double =1.000000 [line 11]\n " shape="box"]
|
||||
"main9" [label="9: DeclStmt \n *&x:double =1.000000 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: BinaryOperatorStmt: Assign \n n$11=*&s:double [line 13]\n *&x:double =n$11 [line 13]\n " shape="box"]
|
||||
"main9" -> "main8" ;
|
||||
"main8" [label="8: BinaryOperatorStmt: Assign \n n$11=*&s:double [line 13]\n *&x:double =n$11 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: BinaryOperatorStmt: Assign \n *&x:double =3 [line 14]\n n$10=*&x:double [line 14]\n *&q:double =n$10 [line 14]\n " shape="box"]
|
||||
"main8" -> "main7" ;
|
||||
"main7" [label="7: BinaryOperatorStmt: Assign \n *&x:double =3 [line 14]\n n$10=*&x:double [line 14]\n *&q:double =n$10 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 15]\n *&x:double =(n$9 + 7) [line 15]\n " shape="box"]
|
||||
"main7" -> "main6" ;
|
||||
"main6" [label="6: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 15]\n *&x:double =(n$9 + 7) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: BinaryOperatorStmt: Assign \n n$7=*&x:double [line 16]\n *&x:double =(n$7 + 1.000000) [line 16]\n n$8=*&x:double [line 16]\n *&q:double =n$8 [line 16]\n " shape="box"]
|
||||
"main6" -> "main5" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: Assign \n n$7=*&x:double [line 16]\n *&x:double =(n$7 + 1.000000) [line 16]\n n$8=*&x:double [line 16]\n *&q:double =n$8 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&t:double [line 17]\n n$1=*&s:double [line 17]\n *&s:double =(n$1 + n$0) [line 17]\n n$2=*&s:double [line 17]\n n$3=*&r:double [line 17]\n *&r:double =(n$3 + n$2) [line 17]\n n$4=*&r:double [line 17]\n n$5=*&x:double [line 17]\n *&x:double =(n$5 + n$4) [line 17]\n n$6=*&x:double [line 17]\n *&q:double =n$6 [line 17]\n " shape="box"]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&t:double [line 17]\n n$1=*&s:double [line 17]\n *&s:double =(n$1 + n$0) [line 17]\n n$2=*&s:double [line 17]\n n$3=*&r:double [line 17]\n *&r:double =(n$3 + n$2) [line 17]\n n$4=*&r:double [line 17]\n n$5=*&x:double [line 17]\n *&x:double =(n$5 + n$4) [line 17]\n n$6=*&x:double [line 17]\n *&q:double =n$6 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 18]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: t:double s:double r:double q:double x:double \n DECLARE_LOCALS(&return,&t,&s,&r,&q,&x); [line 10]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: t:double s:double r:double q:double x:double \n DECLARE_LOCALS(&return,&t,&s,&r,&q,&x); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 9 ;
|
||||
"main1" -> "main9" ;
|
||||
}
|
||||
|
@ -1,30 +1,30 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
7 [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB<nestedoperators/union.c>$x:struct anonymous_struct_nestedoperators_union.c:12:1 * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"]
|
||||
"main7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB<nestedoperators/union.c>$x:struct anonymous_struct_nestedoperators_union.c:12:1 * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: BinaryOperatorStmt: Assign \n *&#GB<nestedoperators/union.c>$y.f:int =7 [line 33]\n " shape="box"]
|
||||
"main7" -> "main6" ;
|
||||
"main6" [label="6: BinaryOperatorStmt: Assign \n *&#GB<nestedoperators/union.c>$y.f:int =7 [line 33]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB<nestedoperators/union.c>$y.f:int [line 34]\n *&#GB<nestedoperators/union.c>$y.g.u:int =n$2 [line 34]\n " shape="box"]
|
||||
"main6" -> "main5" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB<nestedoperators/union.c>$y.f:int [line 34]\n *&#GB<nestedoperators/union.c>$y.g.u:int =n$2 [line 34]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB<nestedoperators/union.c>$x:struct anonymous_struct_nestedoperators_union.c:12:1 * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB<nestedoperators/union.c>$y.g.w:int =n$1 [line 36]\n " shape="box"]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB<nestedoperators/union.c>$x:struct anonymous_struct_nestedoperators_union.c:12:1 * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB<nestedoperators/union.c>$y.g.w:int =n$1 [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 37]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start main\nFormals: \nLocals: l:int \n DECLARE_LOCALS(&return,&l); [line 29]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: l:int \n DECLARE_LOCALS(&return,&l); [line 29]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 7 ;
|
||||
"main1" -> "main7" ;
|
||||
}
|
||||
|
@ -1,48 +1,48 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
12 [label="12: BinaryOperatorStmt: Assign \n n$3=*&#GB<nestedoperators/union.cpp>$x:class anonymous_struct_nestedoperators_union.cpp:12:1 * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"]
|
||||
"main7" [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB<nestedoperators/union.cpp>$x:class anonymous_struct_nestedoperators_union.cpp:12:1 * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: BinaryOperatorStmt: Assign \n *&#GB<nestedoperators/union.cpp>$y.f:int =7 [line 33]\n " shape="box"]
|
||||
"main7" -> "main6" ;
|
||||
"main6" [label="6: BinaryOperatorStmt: Assign \n *&#GB<nestedoperators/union.cpp>$y.f:int =7 [line 33]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: BinaryOperatorStmt: Assign \n n$2=*&#GB<nestedoperators/union.cpp>$y.f:int [line 34]\n *&#GB<nestedoperators/union.cpp>$y.g.u:int =n$2 [line 34]\n " shape="box"]
|
||||
"main6" -> "main5" ;
|
||||
"main5" [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB<nestedoperators/union.cpp>$y.f:int [line 34]\n *&#GB<nestedoperators/union.cpp>$y.g.u:int =n$2 [line 34]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&#GB<nestedoperators/union.cpp>$x:class anonymous_struct_nestedoperators_union.cpp:12:1 * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB<nestedoperators/union.cpp>$y.g.w:int =n$1 [line 36]\n " shape="box"]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB<nestedoperators/union.cpp>$x:class anonymous_struct_nestedoperators_union.cpp:12:1 * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB<nestedoperators/union.cpp>$y.g.w:int =n$1 [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Return Stmt \n *&return:int =0 [line 37]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 [label="6: Start main\nFormals: \nLocals: l:int \n DECLARE_LOCALS(&return,&l); [line 29]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: l:int \n DECLARE_LOCALS(&return,&l); [line 29]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 -> 12 ;
|
||||
5 [label="5: DeclStmt \n _fun_anonymous_union_nestedoperators_union.cpp:17:1_(&#GB<nestedoperators/union.cpp>$y:class anonymous_union_nestedoperators_union.cpp:17:1 *) [line 27]\n " shape="box"]
|
||||
"main1" -> "main7" ;
|
||||
"anonymous_union_nestedoperators_union.cpp:17:1_2" [label="2: Exit anonymous_union_nestedoperators_union.cpp:17:1_ \n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: Exit __infer_globals_initializer_y \n " color=yellow style=filled]
|
||||
"anonymous_union_nestedoperators_union.cpp:17:1_1" [label="1: Start anonymous_union_nestedoperators_union.cpp:17:1_\nFormals: this:class anonymous_union_nestedoperators_union.cpp:17:1 *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
3 [label="3: Start __infer_globals_initializer_y\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
"anonymous_union_nestedoperators_union.cpp:17:1_1" -> "anonymous_union_nestedoperators_union.cpp:17:1_2" ;
|
||||
"__infer_globals_initializer_y3" [label="3: DeclStmt \n _fun_anonymous_union_nestedoperators_union.cpp:17:1_(&#GB<nestedoperators/union.cpp>$y:class anonymous_union_nestedoperators_union.cpp:17:1 *) [line 27]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 5 ;
|
||||
2 [label="2: Exit anonymous_union_nestedoperators_union.cpp:17:1_ \n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_y3" -> "__infer_globals_initializer_y2" ;
|
||||
"__infer_globals_initializer_y2" [label="2: Exit __infer_globals_initializer_y \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start anonymous_union_nestedoperators_union.cpp:17:1_\nFormals: this:class anonymous_union_nestedoperators_union.cpp:17:1 *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_y1" [label="1: Start __infer_globals_initializer_y\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 2 ;
|
||||
"__infer_globals_initializer_y1" -> "__infer_globals_initializer_y3" ;
|
||||
}
|
||||
|
@ -1,43 +1,43 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
10 [label="10: DeclStmt \n *&i:int =n$1 [line 19]\n " shape="box"]
|
||||
"test_offsetof_expr10" [label="10: DeclStmt \n *&i:int =n$1 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 5 ;
|
||||
9 [label="9: Return Stmt \n *&return:int =(4 / 0) [line 23]\n " shape="box"]
|
||||
"test_offsetof_expr10" -> "test_offsetof_expr5" ;
|
||||
"test_offsetof_expr9" [label="9: Return Stmt \n *&return:int =(4 / 0) [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 2 ;
|
||||
8 [label="8: Return Stmt \n *&return:int =(9 / 0) [line 21]\n " shape="box"]
|
||||
"test_offsetof_expr9" -> "test_offsetof_expr2" ;
|
||||
"test_offsetof_expr8" [label="8: Return Stmt \n *&return:int =(9 / 0) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 2 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE(((n$0 == 9) == 0), false); [line 20]\n " shape="invhouse"]
|
||||
"test_offsetof_expr8" -> "test_offsetof_expr2" ;
|
||||
"test_offsetof_expr7" [label="7: Prune (false branch) \n PRUNE(((n$0 == 9) == 0), false); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 9 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE(((n$0 == 9) != 0), true); [line 20]\n " shape="invhouse"]
|
||||
"test_offsetof_expr7" -> "test_offsetof_expr9" ;
|
||||
"test_offsetof_expr6" [label="6: Prune (true branch) \n PRUNE(((n$0 == 9) != 0), true); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: BinaryOperatorStmt: EQ \n n$0=*&i:int [line 20]\n " shape="box"]
|
||||
"test_offsetof_expr6" -> "test_offsetof_expr8" ;
|
||||
"test_offsetof_expr5" [label="5: BinaryOperatorStmt: EQ \n n$0=*&i:int [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: between_join_and_exit \n " shape="box"]
|
||||
"test_offsetof_expr5" -> "test_offsetof_expr6" ;
|
||||
"test_offsetof_expr5" -> "test_offsetof_expr7" ;
|
||||
"test_offsetof_expr4" [label="4: between_join_and_exit \n " shape="box"]
|
||||
|
||||
|
||||
4 -> 2 ;
|
||||
3 [label="3: + \n " ]
|
||||
"test_offsetof_expr4" -> "test_offsetof_expr2" ;
|
||||
"test_offsetof_expr3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 4 ;
|
||||
2 [label="2: Exit test_offsetof_expr \n " color=yellow style=filled]
|
||||
"test_offsetof_expr3" -> "test_offsetof_expr4" ;
|
||||
"test_offsetof_expr2" [label="2: Exit test_offsetof_expr \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start test_offsetof_expr\nFormals: \nLocals: i:int \n DECLARE_LOCALS(&return,&i); [line 18]\n " color=yellow style=filled]
|
||||
"test_offsetof_expr1" [label="1: Start test_offsetof_expr\nFormals: \nLocals: i:int \n DECLARE_LOCALS(&return,&i); [line 18]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 10 ;
|
||||
"test_offsetof_expr1" -> "test_offsetof_expr10" ;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,18 +1,18 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
4 [label="4: BinaryOperatorStmt: Assign \n *&x.a:int =10 [line 17]\n " shape="box"]
|
||||
"test4" [label="4: BinaryOperatorStmt: Assign \n *&x.a:int =10 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: BinaryOperatorStmt: Assign \n *&x.b:int =20 [line 18]\n " shape="box"]
|
||||
"test4" -> "test3" ;
|
||||
"test3" [label="3: BinaryOperatorStmt: Assign \n *&x.b:int =20 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit test \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start test\nFormals: \nLocals: x:struct X \n DECLARE_LOCALS(&return,&x); [line 15]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: x:struct X \n DECLARE_LOCALS(&return,&x); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
"test1" -> "test4" ;
|
||||
}
|
||||
|
@ -1,18 +1,18 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
4 [label="4: DeclStmt \n *&x:void =_t$1 [line 15]\n " shape="box"]
|
||||
"test_typename4" [label="4: DeclStmt \n *&x:void =_t$1 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: DeclStmt \n *&z:void =_t$0 [line 16]\n " shape="box"]
|
||||
"test_typename4" -> "test_typename3" ;
|
||||
"test_typename3" [label="3: DeclStmt \n *&z:void =_t$0 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit test_typename \n " color=yellow style=filled]
|
||||
"test_typename3" -> "test_typename2" ;
|
||||
"test_typename2" [label="2: Exit test_typename \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start test_typename\nFormals: \nLocals: z:int x:int y:int s:char \n DECLARE_LOCALS(&return,&z,&x,&y,&s); [line 12]\n " color=yellow style=filled]
|
||||
"test_typename1" [label="1: Start test_typename\nFormals: \nLocals: z:int x:int y:int s:char \n DECLARE_LOCALS(&return,&z,&x,&y,&s); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
"test_typename1" -> "test_typename4" ;
|
||||
}
|
||||
|
@ -1,37 +1,37 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
9 [label="9: DeclStmt \n *&src:int =1 [line 20]\n " shape="box"]
|
||||
"main5" [label="5: DeclStmt \n *&src:int =1 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: GCCAsmStmt \n n$0=*&src:int [line 27]\n _fun___infer_skip_gcc_asm_stmt(&dst:int &,n$0:int ) [line 23]\n " shape="box"]
|
||||
"main5" -> "main4" ;
|
||||
"main4" [label="4: GCCAsmStmt \n n$0=*&src:int [line 27]\n _fun___infer_skip_gcc_asm_stmt(&dst:int &,n$0:int ) [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: Return Stmt \n *&return:int =0 [line 28]\n " shape="box"]
|
||||
"main4" -> "main3" ;
|
||||
"main3" [label="3: Return Stmt \n *&return:int =0 [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 [label="5: Start main\nFormals: \nLocals: dst:int src:int \n DECLARE_LOCALS(&return,&dst,&src); [line 19]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: dst:int src:int \n DECLARE_LOCALS(&return,&dst,&src); [line 19]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 -> 9 ;
|
||||
4 [label="4: GCCAsmStmt \n _fun___infer_skip_gcc_asm_stmt(&x:int &,&y:int &,&z:int &,&h:int &,0:int ) [line 15]\n " shape="box"]
|
||||
"main1" -> "main5" ;
|
||||
"test4" [label="4: GCCAsmStmt \n _fun___infer_skip_gcc_asm_stmt(&x:int &,&y:int &,&z:int &,&h:int &,0:int ) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 16]\n " shape="box"]
|
||||
"test4" -> "test3" ;
|
||||
"test3" [label="3: Return Stmt \n *&return:int =0 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit test \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start test\nFormals: \nLocals: h:int z:int y:int x:int \n DECLARE_LOCALS(&return,&h,&z,&y,&x); [line 10]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: h:int z:int y:int x:int \n DECLARE_LOCALS(&return,&h,&z,&y,&x); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
"test1" -> "test4" ;
|
||||
}
|
||||
|
@ -1,51 +1,51 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
12 [label="12: Call _fun___builtin_va_start \n _fun___builtin_va_start(&valist:void *,&x:int &) [line 14]\n " shape="box"]
|
||||
"vaarg_foo12" [label="12: Call _fun___builtin_va_start \n _fun___builtin_va_start(&valist:void *,&x:int &) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: DeclStmt \n *&i:int =n$2 [line 15]\n " shape="box"]
|
||||
"vaarg_foo12" -> "vaarg_foo11" ;
|
||||
"vaarg_foo11" [label="11: DeclStmt \n *&i:int =n$2 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 6 ;
|
||||
10 [label="10: BinaryOperatorStmt: Assign \n *&val:int =(4 / 0) [line 20]\n " shape="box"]
|
||||
"vaarg_foo11" -> "vaarg_foo6" ;
|
||||
"vaarg_foo10" [label="10: BinaryOperatorStmt: Assign \n *&val:int =(4 / 0) [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 5 ;
|
||||
9 [label="9: BinaryOperatorStmt: Assign \n *&val:int =(9 / 0) [line 18]\n " shape="box"]
|
||||
"vaarg_foo10" -> "vaarg_foo5" ;
|
||||
"vaarg_foo9" [label="9: BinaryOperatorStmt: Assign \n *&val:int =(9 / 0) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 5 ;
|
||||
8 [label="8: Prune (false branch) \n PRUNE(((n$1 == 9) == 0), false); [line 17]\n " shape="invhouse"]
|
||||
"vaarg_foo9" -> "vaarg_foo5" ;
|
||||
"vaarg_foo8" [label="8: Prune (false branch) \n PRUNE(((n$1 == 9) == 0), false); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
8 -> 10 ;
|
||||
7 [label="7: Prune (true branch) \n PRUNE(((n$1 == 9) != 0), true); [line 17]\n " shape="invhouse"]
|
||||
"vaarg_foo8" -> "vaarg_foo10" ;
|
||||
"vaarg_foo7" [label="7: Prune (true branch) \n PRUNE(((n$1 == 9) != 0), true); [line 17]\n " shape="invhouse"]
|
||||
|
||||
|
||||
7 -> 9 ;
|
||||
6 [label="6: BinaryOperatorStmt: EQ \n n$1=*&i:int [line 17]\n " shape="box"]
|
||||
"vaarg_foo7" -> "vaarg_foo9" ;
|
||||
"vaarg_foo6" [label="6: BinaryOperatorStmt: EQ \n n$1=*&i:int [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 7 ;
|
||||
6 -> 8 ;
|
||||
5 [label="5: + \n " ]
|
||||
"vaarg_foo6" -> "vaarg_foo7" ;
|
||||
"vaarg_foo6" -> "vaarg_foo8" ;
|
||||
"vaarg_foo5" [label="5: + \n " ]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: Call _fun___builtin_va_end \n _fun___builtin_va_end(&valist:void *) [line 22]\n " shape="box"]
|
||||
"vaarg_foo5" -> "vaarg_foo4" ;
|
||||
"vaarg_foo4" [label="4: Call _fun___builtin_va_end \n _fun___builtin_va_end(&valist:void *) [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&val:int [line 23]\n *&return:int =n$0 [line 23]\n " shape="box"]
|
||||
"vaarg_foo4" -> "vaarg_foo3" ;
|
||||
"vaarg_foo3" [label="3: Return Stmt \n n$0=*&val:int [line 23]\n *&return:int =n$0 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit vaarg_foo \n " color=yellow style=filled]
|
||||
"vaarg_foo3" -> "vaarg_foo2" ;
|
||||
"vaarg_foo2" [label="2: Exit vaarg_foo \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start vaarg_foo\nFormals: x:int \nLocals: val:int i:int valist:void [1] \n DECLARE_LOCALS(&return,&val,&i,&valist); [line 12]\n " color=yellow style=filled]
|
||||
"vaarg_foo1" [label="1: Start vaarg_foo\nFormals: x:int \nLocals: val:int i:int valist:void [1] \n DECLARE_LOCALS(&return,&val,&i,&valist); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 12 ;
|
||||
"vaarg_foo1" -> "vaarg_foo12" ;
|
||||
}
|
||||
|
@ -1,84 +1,84 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
20 [label="20: Return Stmt \n n$0=_fun_switch_with_fallthrough(66:int ) [line 27]\n *&return:int =(1 / (n$0 - 3)) [line 27]\n " shape="box"]
|
||||
"h3" [label="3: Return Stmt \n *&return:int =3 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 19 ;
|
||||
19 [label="19: Exit test_fallthrough \n " color=yellow style=filled]
|
||||
"h3" -> "h2" ;
|
||||
"h2" [label="2: Exit h \n " color=yellow style=filled]
|
||||
|
||||
|
||||
18 [label="18: Start test_fallthrough\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 27]\n " color=yellow style=filled]
|
||||
"h1" [label="1: Start h\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
18 -> 20 ;
|
||||
17 [label="17: DeclStmt \n *&res:int =5 [line 13]\n " shape="box"]
|
||||
"h1" -> "h3" ;
|
||||
"switch_with_fallthrough14" [label="14: DeclStmt \n *&res:int =5 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 7 ;
|
||||
16 [label="16: Prune (false branch) \n PRUNE(((n$1 == 22) == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"switch_with_fallthrough14" -> "switch_with_fallthrough4" ;
|
||||
"switch_with_fallthrough13" [label="13: Prune (false branch) \n PRUNE(((n$1 == 22) == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
16 -> 13 ;
|
||||
16 -> 14 ;
|
||||
15 [label="15: Prune (true branch) \n PRUNE(((n$1 == 22) != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"switch_with_fallthrough13" -> "switch_with_fallthrough10" ;
|
||||
"switch_with_fallthrough13" -> "switch_with_fallthrough11" ;
|
||||
"switch_with_fallthrough12" [label="12: Prune (true branch) \n PRUNE(((n$1 == 22) != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
15 -> 8 ;
|
||||
14 [label="14: Prune (false branch) \n PRUNE(((n$1 == 33) == 0), false); [line 16]\n " shape="invhouse"]
|
||||
"switch_with_fallthrough12" -> "switch_with_fallthrough5" ;
|
||||
"switch_with_fallthrough11" [label="11: Prune (false branch) \n PRUNE(((n$1 == 33) == 0), false); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
14 -> 11 ;
|
||||
14 -> 12 ;
|
||||
13 [label="13: Prune (true branch) \n PRUNE(((n$1 == 33) != 0), true); [line 16]\n " shape="invhouse"]
|
||||
"switch_with_fallthrough11" -> "switch_with_fallthrough8" ;
|
||||
"switch_with_fallthrough11" -> "switch_with_fallthrough9" ;
|
||||
"switch_with_fallthrough10" [label="10: Prune (true branch) \n PRUNE(((n$1 == 33) != 0), true); [line 16]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 -> 8 ;
|
||||
12 [label="12: Prune (false branch) \n PRUNE(((n$1 == 66) == 0), false); [line 18]\n " shape="invhouse"]
|
||||
"switch_with_fallthrough10" -> "switch_with_fallthrough5" ;
|
||||
"switch_with_fallthrough9" [label="9: Prune (false branch) \n PRUNE(((n$1 == 66) == 0), false); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 9 ;
|
||||
12 -> 10 ;
|
||||
11 [label="11: Prune (true branch) \n PRUNE(((n$1 == 66) != 0), true); [line 18]\n " shape="invhouse"]
|
||||
"switch_with_fallthrough9" -> "switch_with_fallthrough6" ;
|
||||
"switch_with_fallthrough9" -> "switch_with_fallthrough7" ;
|
||||
"switch_with_fallthrough8" [label="8: Prune (true branch) \n PRUNE(((n$1 == 66) != 0), true); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
11 -> 8 ;
|
||||
10 [label="10: Prune (false branch) \n PRUNE(((n$1 == 77) == 0), false); [line 20]\n " shape="invhouse"]
|
||||
"switch_with_fallthrough8" -> "switch_with_fallthrough5" ;
|
||||
"switch_with_fallthrough7" [label="7: Prune (false branch) \n PRUNE(((n$1 == 77) == 0), false); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
10 -> 6 ;
|
||||
9 [label="9: Prune (true branch) \n PRUNE(((n$1 == 77) != 0), true); [line 20]\n " shape="invhouse"]
|
||||
"switch_with_fallthrough7" -> "switch_with_fallthrough3" ;
|
||||
"switch_with_fallthrough6" [label="6: Prune (true branch) \n PRUNE(((n$1 == 77) != 0), true); [line 20]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: BinaryOperatorStmt: Assign \n n$2=_fun_h() [line 21]\n *&res:int =n$2 [line 21]\n " shape="box"]
|
||||
"switch_with_fallthrough6" -> "switch_with_fallthrough5" ;
|
||||
"switch_with_fallthrough5" [label="5: BinaryOperatorStmt: Assign \n n$2=_fun_h() [line 21]\n *&res:int =n$2 [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 6 ;
|
||||
7 [label="7: Switch_stmt \n n$1=*&n:int [line 14]\n " shape="box"]
|
||||
"switch_with_fallthrough5" -> "switch_with_fallthrough3" ;
|
||||
"switch_with_fallthrough4" [label="4: Switch_stmt \n n$1=*&n:int [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 15 ;
|
||||
7 -> 16 ;
|
||||
6 [label="6: Return Stmt \n n$0=*&res:int [line 24]\n *&return:int =n$0 [line 24]\n " shape="box"]
|
||||
"switch_with_fallthrough4" -> "switch_with_fallthrough12" ;
|
||||
"switch_with_fallthrough4" -> "switch_with_fallthrough13" ;
|
||||
"switch_with_fallthrough3" [label="3: Return Stmt \n n$0=*&res:int [line 24]\n *&return:int =n$0 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit switch_with_fallthrough \n " color=yellow style=filled]
|
||||
"switch_with_fallthrough3" -> "switch_with_fallthrough2" ;
|
||||
"switch_with_fallthrough2" [label="2: Exit switch_with_fallthrough \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start switch_with_fallthrough\nFormals: n:int \nLocals: res:int \n DECLARE_LOCALS(&return,&res); [line 12]\n " color=yellow style=filled]
|
||||
"switch_with_fallthrough1" [label="1: Start switch_with_fallthrough\nFormals: n:int \nLocals: res:int \n DECLARE_LOCALS(&return,&res); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 17 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =3 [line 10]\n " shape="box"]
|
||||
"switch_with_fallthrough1" -> "switch_with_fallthrough14" ;
|
||||
"test_fallthrough3" [label="3: Return Stmt \n n$0=_fun_switch_with_fallthrough(66:int ) [line 27]\n *&return:int =(1 / (n$0 - 3)) [line 27]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit h \n " color=yellow style=filled]
|
||||
"test_fallthrough3" -> "test_fallthrough2" ;
|
||||
"test_fallthrough2" [label="2: Exit test_fallthrough \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start h\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"test_fallthrough1" [label="1: Start test_fallthrough\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 27]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"test_fallthrough1" -> "test_fallthrough3" ;
|
||||
}
|
||||
|
@ -1,26 +1,26 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
6 [label="6: DeclStmt \n *&x:int =2 [line 11]\n " shape="box"]
|
||||
"test6" [label="6: DeclStmt \n *&x:int =2 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 12]\n *&i:int *=n$2 [line 12]\n " shape="box"]
|
||||
"test6" -> "test5" ;
|
||||
"test5" [label="5: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 12]\n *&i:int *=n$2 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: CXXNewExpr \n n$1=_fun___new(sizeof(int ):unsigned long ) [line 13]\n " shape="box"]
|
||||
"test5" -> "test4" ;
|
||||
"test4" [label="4: CXXNewExpr \n n$1=_fun___new(sizeof(int ):unsigned long ) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Call delete \n n$0=*&i:int * [line 14]\n _fun___delete(n$0:int *) [line 14]\n " shape="box"]
|
||||
"test4" -> "test3" ;
|
||||
"test3" [label="3: Call delete \n n$0=*&i:int * [line 14]\n _fun___delete(n$0:int *) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit test \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start test\nFormals: \nLocals: i:int * x:int \n DECLARE_LOCALS(&return,&i,&x); [line 10]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: i:int * x:int \n DECLARE_LOCALS(&return,&i,&x); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 6 ;
|
||||
"test1" -> "test6" ;
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
3 [label="3: Call _fun_Person_~Person \n n$0=*&p:class Person * [line 15]\n _=*n$0:class Person [line 15]\n _fun_Person_~Person(n$0:class Person *) [line 15]\n " shape="box"]
|
||||
"f3" [label="3: Call _fun_Person_~Person \n n$0=*&p:class Person * [line 15]\n _=*n$0:class Person [line 15]\n _fun_Person_~Person(n$0:class Person *) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit f \n " color=yellow style=filled]
|
||||
"f3" -> "f2" ;
|
||||
"f2" [label="2: Exit f \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start f\nFormals: p:class Person *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"f1" [label="1: Start f\nFormals: p:class Person *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"f1" -> "f3" ;
|
||||
}
|
||||
|
@ -1,32 +1,32 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
8 [label="8: Call delete \n n$0=*&x:int * [line 16]\n _fun___delete(n$0:int *) [line 16]\n " shape="box"]
|
||||
"deleteInt3" [label="3: Call delete \n n$0=*&x:int * [line 16]\n _fun___delete(n$0:int *) [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: Exit deleteInt \n " color=yellow style=filled]
|
||||
"deleteInt3" -> "deleteInt2" ;
|
||||
"deleteInt2" [label="2: Exit deleteInt \n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 [label="6: Start deleteInt\nFormals: x:int *\nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
"deleteInt1" [label="1: Start deleteInt\nFormals: x:int *\nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: Call delete \n n$0=*&x:class X * [line 14]\n _fun___delete(n$0:class X *) [line 14]\n " shape="box"]
|
||||
"deleteInt1" -> "deleteInt3" ;
|
||||
"X_~X2" [label="2: Exit X_~X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: Exit deleteX \n " color=yellow style=filled]
|
||||
"X_~X1" [label="1: Start X_~X\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
3 [label="3: Start deleteX\nFormals: x:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
"X_~X1" -> "X_~X2" ;
|
||||
"deleteX3" [label="3: Call delete \n n$0=*&x:class X * [line 14]\n _fun___delete(n$0:class X *) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 5 ;
|
||||
2 [label="2: Exit X_~X \n " color=yellow style=filled]
|
||||
"deleteX3" -> "deleteX2" ;
|
||||
"deleteX2" [label="2: Exit deleteX \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start X_~X\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
"deleteX1" [label="1: Start deleteX\nFormals: x:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 2 ;
|
||||
"deleteX1" -> "deleteX3" ;
|
||||
}
|
||||
|
@ -1,52 +1,52 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
13 [label="13: DeclStmt \n *&t:int *=0 [line 24]\n " shape="box"]
|
||||
"test4" [label="4: DeclStmt \n *&t:int *=0 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 12 ;
|
||||
12 [label="12: Call _fun_destroy<int_*> \n n$0=_fun_destroy<int_*>(&t:int **) [line 25]\n " shape="box"]
|
||||
"test4" -> "test3" ;
|
||||
"test3" [label="3: Call _fun_destroy<int_*> \n n$0=_fun_destroy<int_*>(&t:int **) [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: Exit test \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 [label="10: Start test\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 23]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 23]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 13 ;
|
||||
9 [label="9: Call _fun___infer_skip_function \n _fun___infer_skip_function() [line 19]\n " shape="box"]
|
||||
"test1" -> "test4" ;
|
||||
"f5" [label="5: DeclStmt \n n$1=*&p:int * [line 12]\n n$2=*n$1:int [line 12]\n *&x:int =n$2 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Return Stmt \n *&return:int =0 [line 20]\n " shape="box"]
|
||||
"f5" -> "f4" ;
|
||||
"f4" [label="4: Call _fun___infer_skip_function \n _fun___infer_skip_function() [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: Exit destroy<int_*> \n " color=yellow style=filled]
|
||||
"f4" -> "f3" ;
|
||||
"f3" [label="3: Return Stmt \n n$0=*&x:int [line 14]\n *&return:int =n$0 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
6 [label="6: Start destroy<int_*>\nFormals: ptr:int **\nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled]
|
||||
"f3" -> "f2" ;
|
||||
"f2" [label="2: Exit f \n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 -> 9 ;
|
||||
5 [label="5: DeclStmt \n n$1=*&p:int * [line 12]\n n$2=*n$1:int [line 12]\n *&x:int =n$2 [line 12]\n " shape="box"]
|
||||
"f1" [label="1: Start f\nFormals: p:int *\nLocals: x:int \n DECLARE_LOCALS(&return,&x); [line 11]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: Call _fun___infer_skip_function \n _fun___infer_skip_function() [line 13]\n " shape="box"]
|
||||
"f1" -> "f5" ;
|
||||
"destroy<int_*>4" [label="4: Call _fun___infer_skip_function \n _fun___infer_skip_function() [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&x:int [line 14]\n *&return:int =n$0 [line 14]\n " shape="box"]
|
||||
"destroy<int_*>4" -> "destroy<int_*>3" ;
|
||||
"destroy<int_*>3" [label="3: Return Stmt \n *&return:int =0 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit f \n " color=yellow style=filled]
|
||||
"destroy<int_*>3" -> "destroy<int_*>2" ;
|
||||
"destroy<int_*>2" [label="2: Exit destroy<int_*> \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start f\nFormals: p:int *\nLocals: x:int \n DECLARE_LOCALS(&return,&x); [line 11]\n " color=yellow style=filled]
|
||||
"destroy<int_*>1" [label="1: Start destroy<int_*>\nFormals: ptr:int **\nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 5 ;
|
||||
"destroy<int_*>1" -> "destroy<int_*>4" ;
|
||||
}
|
||||
|
@ -1,25 +1,25 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class B * [line 20]\n *n$0.f:int =1 [line 20]\n " shape="box"]
|
||||
"B_~B3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class B * [line 20]\n *n$0.f:int =1 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit B_~B \n " color=yellow style=filled]
|
||||
"B_~B3" -> "B_~B2" ;
|
||||
"B_~B2" [label="2: Exit B_~B \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start B_~B\nFormals: this:class B *\nLocals: \n DECLARE_LOCALS(&return); [line 20]\n " color=yellow style=filled]
|
||||
"B_~B1" [label="1: Start B_~B\nFormals: this:class B *\nLocals: \n DECLARE_LOCALS(&return); [line 20]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class A * [line 12]\n *n$0.f:int =0 [line 12]\n " shape="box"]
|
||||
"B_~B1" -> "B_~B3" ;
|
||||
"A_~A3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class A * [line 12]\n *n$0.f:int =0 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit A_~A \n " color=yellow style=filled]
|
||||
"A_~A3" -> "A_~A2" ;
|
||||
"A_~A2" [label="2: Exit A_~A \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start A_~A\nFormals: this:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"A_~A1" [label="1: Start A_~A\nFormals: this:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"A_~A1" -> "A_~A3" ;
|
||||
}
|
||||
|
@ -1,65 +1,65 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
17 [label="17: DeclStmt \n *&#GB<globals/global_const1.cpp>$v:int =2 [line 20]\n n$1=*&#GB<globals/global_const1.cpp>$v:int [line 20]\n *&local:int =n$1 [line 20]\n " shape="box"]
|
||||
"__infer_globals_initializer_global3" [label="3: DeclStmt \n _fun_X_X(&#GB<globals/global_const1.cpp>$global:class X *) [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 16 ;
|
||||
16 [label="16: Return Stmt \n *&#GB<globals/global_const1.cpp>$v:int =2 [line 21]\n n$0=*&#GB<globals/global_const1.cpp>$v:int [line 21]\n *&return:int =n$0 [line 21]\n " shape="box"]
|
||||
"__infer_globals_initializer_global3" -> "__infer_globals_initializer_global2" ;
|
||||
"__infer_globals_initializer_global2" [label="2: Exit __infer_globals_initializer_global \n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 -> 15 ;
|
||||
15 [label="15: Exit test2 \n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_global1" [label="1: Start __infer_globals_initializer_global\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
14 [label="14: Start test2\nFormals: \nLocals: local:int \n DECLARE_LOCALS(&return,&local); [line 19]\n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_global1" -> "__infer_globals_initializer_global3" ;
|
||||
"X_X2" [label="2: Exit X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
14 -> 17 ;
|
||||
13 [label="13: DeclStmt \n *&#GB<globals/global_const1.cpp>$v:int =2 [line 17]\n " shape="box"]
|
||||
"X_X1" [label="1: Start X_X\nFormals: this:class X * __param_0:class X &\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 -> 12 ;
|
||||
12 [label="12: Exit __infer_globals_initializer_v \n " color=yellow style=filled]
|
||||
"X_X1" -> "X_X2" ;
|
||||
"test3" [label="3: Return Stmt \n n$0=*&__return_param:class X * [line 15]\n _fun_X_X(&#GB<globals/global_const1.cpp>$global:class X *) [line 13]\n _fun_X_X(n$0:class X *,&#GB<globals/global_const1.cpp>$global:class X &) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
11 [label="11: Start __infer_globals_initializer_v\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 -> 13 ;
|
||||
10 [label="10: Return Stmt \n n$0=*&__return_param:class X * [line 15]\n _fun_X_X(&#GB<globals/global_const1.cpp>$global:class X *) [line 13]\n _fun_X_X(n$0:class X *,&#GB<globals/global_const1.cpp>$global:class X &) [line 15]\n " shape="box"]
|
||||
"test1" [label="1: Start test\nFormals: __return_param:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: Exit test \n " color=yellow style=filled]
|
||||
"test1" -> "test3" ;
|
||||
"X_X2" [label="2: Exit X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
8 [label="8: Start test\nFormals: __return_param:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"X_X1" [label="1: Start X_X\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
8 -> 10 ;
|
||||
7 [label="7: DeclStmt \n _fun_X_X(&#GB<globals/global_const1.cpp>$global:class X *) [line 13]\n " shape="box"]
|
||||
"X_X1" -> "X_X2" ;
|
||||
"__infer_globals_initializer_v3" [label="3: DeclStmt \n *&#GB<globals/global_const1.cpp>$v:int =2 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: Exit __infer_globals_initializer_global \n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_v3" -> "__infer_globals_initializer_v2" ;
|
||||
"__infer_globals_initializer_v2" [label="2: Exit __infer_globals_initializer_v \n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 [label="5: Start __infer_globals_initializer_global\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_v1" [label="1: Start __infer_globals_initializer_v\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: Exit X_X \n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_v1" -> "__infer_globals_initializer_v3" ;
|
||||
"test24" [label="4: DeclStmt \n *&#GB<globals/global_const1.cpp>$v:int =2 [line 20]\n n$1=*&#GB<globals/global_const1.cpp>$v:int [line 20]\n *&local:int =n$1 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
3 [label="3: Start X_X\nFormals: this:class X * __param_0:class X &\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"test24" -> "test23" ;
|
||||
"test23" [label="3: Return Stmt \n *&#GB<globals/global_const1.cpp>$v:int =2 [line 21]\n n$0=*&#GB<globals/global_const1.cpp>$v:int [line 21]\n *&return:int =n$0 [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 4 ;
|
||||
2 [label="2: Exit X_X \n " color=yellow style=filled]
|
||||
"test23" -> "test22" ;
|
||||
"test22" [label="2: Exit test2 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start X_X\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
"test21" [label="1: Start test2\nFormals: \nLocals: local:int \n DECLARE_LOCALS(&return,&local); [line 19]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 2 ;
|
||||
"test21" -> "test24" ;
|
||||
}
|
||||
|
@ -1,67 +1,67 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
16 [label="16: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&#GB<globals/global_const2.cpp>$global:int =n$1 [line 11]\n n$2=*&#GB<globals/global_const2.cpp>$global:int [line 11]\n *&return:int =n$2 [line 11]\n " shape="box"]
|
||||
"__infer_globals_initializer_global8" [label="8: DeclStmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&#GB<globals/global_const2.cpp>$global:int =n$1 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 10 ;
|
||||
15 [label="15: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =3 [line 10]\n " shape="box"]
|
||||
"__infer_globals_initializer_global8" -> "__infer_globals_initializer_global2" ;
|
||||
"__infer_globals_initializer_global7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =3 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 11 ;
|
||||
14 [label="14: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =2 [line 10]\n " shape="box"]
|
||||
"__infer_globals_initializer_global7" -> "__infer_globals_initializer_global3" ;
|
||||
"__infer_globals_initializer_global6" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =2 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 11 ;
|
||||
13 [label="13: Prune (false branch) \n PRUNE((1 == 0), false); [line 10]\n " shape="invhouse"]
|
||||
"__infer_globals_initializer_global6" -> "__infer_globals_initializer_global3" ;
|
||||
"__infer_globals_initializer_global5" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 10]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 -> 15 ;
|
||||
12 [label="12: Prune (true branch) \n PRUNE((1 != 0), true); [line 10]\n " shape="invhouse"]
|
||||
"__infer_globals_initializer_global5" -> "__infer_globals_initializer_global7" ;
|
||||
"__infer_globals_initializer_global4" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 10]\n " shape="invhouse"]
|
||||
|
||||
|
||||
12 -> 14 ;
|
||||
11 [label="11: + \n " ]
|
||||
"__infer_globals_initializer_global4" -> "__infer_globals_initializer_global6" ;
|
||||
"__infer_globals_initializer_global3" [label="3: + \n " ]
|
||||
|
||||
|
||||
11 -> 16 ;
|
||||
10 [label="10: Exit test \n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_global3" -> "__infer_globals_initializer_global8" ;
|
||||
"__infer_globals_initializer_global2" [label="2: Exit __infer_globals_initializer_global \n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 [label="9: Start test\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 11]\n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_global1" [label="1: Start __infer_globals_initializer_global\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 12 ;
|
||||
9 -> 13 ;
|
||||
8 [label="8: DeclStmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&#GB<globals/global_const2.cpp>$global:int =n$1 [line 10]\n " shape="box"]
|
||||
"__infer_globals_initializer_global1" -> "__infer_globals_initializer_global4" ;
|
||||
"__infer_globals_initializer_global1" -> "__infer_globals_initializer_global5" ;
|
||||
"test8" [label="8: Return Stmt \n n$1=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 10]\n *&#GB<globals/global_const2.cpp>$global:int =n$1 [line 11]\n n$2=*&#GB<globals/global_const2.cpp>$global:int [line 11]\n *&return:int =n$2 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 2 ;
|
||||
7 [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =3 [line 10]\n " shape="box"]
|
||||
"test8" -> "test2" ;
|
||||
"test7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =3 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 3 ;
|
||||
6 [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =2 [line 10]\n " shape="box"]
|
||||
"test7" -> "test3" ;
|
||||
"test6" [label="6: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =2 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 3 ;
|
||||
5 [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 10]\n " shape="invhouse"]
|
||||
"test6" -> "test3" ;
|
||||
"test5" [label="5: Prune (false branch) \n PRUNE((1 == 0), false); [line 10]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 10]\n " shape="invhouse"]
|
||||
"test5" -> "test7" ;
|
||||
"test4" [label="4: Prune (true branch) \n PRUNE((1 != 0), true); [line 10]\n " shape="invhouse"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: + \n " ]
|
||||
"test4" -> "test6" ;
|
||||
"test3" [label="3: + \n " ]
|
||||
|
||||
|
||||
3 -> 8 ;
|
||||
2 [label="2: Exit __infer_globals_initializer_global \n " color=yellow style=filled]
|
||||
"test3" -> "test8" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start __infer_globals_initializer_global\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 10]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 11]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 4 ;
|
||||
1 -> 5 ;
|
||||
"test1" -> "test4" ;
|
||||
"test1" -> "test5" ;
|
||||
}
|
||||
|
@ -1,25 +1,25 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
6 [label="6: DeclStmt \n n$0=*&#GB<globals/initializer.cpp>$x:int [line 15]\n n$1=*&#GB<globals/initializer.cpp>$z:int [line 15]\n *&#GB<globals/initializer.cpp>$y:int =((n$0 + n$1) + 1) [line 15]\n " shape="box"]
|
||||
"__infer_globals_initializer_x3" [label="3: DeclStmt \n n$0=_fun_foo() [line 14]\n *&#GB<globals/initializer.cpp>$x:int =(n$0 + 5) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit __infer_globals_initializer_y \n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_x3" -> "__infer_globals_initializer_x2" ;
|
||||
"__infer_globals_initializer_x2" [label="2: Exit __infer_globals_initializer_x \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start __infer_globals_initializer_y\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_x1" [label="1: Start __infer_globals_initializer_x\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: DeclStmt \n n$0=_fun_foo() [line 14]\n *&#GB<globals/initializer.cpp>$x:int =(n$0 + 5) [line 14]\n " shape="box"]
|
||||
"__infer_globals_initializer_x1" -> "__infer_globals_initializer_x3" ;
|
||||
"__infer_globals_initializer_y3" [label="3: DeclStmt \n n$0=*&#GB<globals/initializer.cpp>$x:int [line 15]\n n$1=*&#GB<globals/initializer.cpp>$z:int [line 15]\n *&#GB<globals/initializer.cpp>$y:int =((n$0 + n$1) + 1) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit __infer_globals_initializer_x \n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_y3" -> "__infer_globals_initializer_y2" ;
|
||||
"__infer_globals_initializer_y2" [label="2: Exit __infer_globals_initializer_y \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start __infer_globals_initializer_x\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
"__infer_globals_initializer_y1" [label="1: Start __infer_globals_initializer_y\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"__infer_globals_initializer_y1" -> "__infer_globals_initializer_y3" ;
|
||||
}
|
||||
|
@ -1,25 +1,25 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
6 [label="6: Return Stmt \n *&return:int =(1 / 0) [line 19]\n " shape="box"]
|
||||
"div0_fun3" [label="3: Return Stmt \n *&return:int =(1 / 0) [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit div0_fun \n " color=yellow style=filled]
|
||||
"div0_fun3" -> "div0_fun2" ;
|
||||
"div0_fun2" [label="2: Exit div0_fun \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start div0_fun\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
"div0_fun1" [label="1: Start div0_fun\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =(1 / 0) [line 11]\n " shape="box"]
|
||||
"div0_fun1" -> "div0_fun3" ;
|
||||
"A_div03" [label="3: Return Stmt \n *&return:int =(1 / 0) [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit A_div0 \n " color=yellow style=filled]
|
||||
"A_div03" -> "A_div02" ;
|
||||
"A_div02" [label="2: Exit A_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start A_div0\nFormals: this:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
"A_div01" [label="1: Start A_div0\nFormals: this:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"A_div01" -> "A_div03" ;
|
||||
}
|
||||
|
@ -1,135 +1,135 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
36 [label="36: Call _fun_div0_templ<A> \n n$0=_fun_div0_templ<A>() [line 25]\n " shape="box"]
|
||||
"div0_templ<A>3" [label="3: Return Stmt \n *&return:int =(1 / 0) [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
36 -> 35 ;
|
||||
35 [label="35: Exit div0_templ_A \n " color=yellow style=filled]
|
||||
"div0_templ<A>3" -> "div0_templ<A>2" ;
|
||||
"div0_templ<A>2" [label="2: Exit div0_templ<A> \n " color=yellow style=filled]
|
||||
|
||||
|
||||
34 [label="34: Start div0_templ_A\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 25]\n " color=yellow style=filled]
|
||||
"div0_templ<A>1" [label="1: Start div0_templ<A>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
34 -> 36 ;
|
||||
33 [label="33: Call _fun_div0_templ<int> \n n$0=_fun_div0_templ<int>() [line 23]\n " shape="box"]
|
||||
"div0_templ<A>1" -> "div0_templ<A>3" ;
|
||||
"div0_fun3" [label="3: Return Stmt \n *&return:int =(1 / 0) [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
33 -> 32 ;
|
||||
32 [label="32: Exit div0_templ_int \n " color=yellow style=filled]
|
||||
"div0_fun3" -> "div0_fun2" ;
|
||||
"div0_fun2" [label="2: Exit div0_fun \n " color=yellow style=filled]
|
||||
|
||||
|
||||
31 [label="31: Start div0_templ_int\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 23]\n " color=yellow style=filled]
|
||||
"div0_fun1" [label="1: Start div0_fun\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
31 -> 33 ;
|
||||
30 [label="30: DeclStmt \n _fun_B<A>_B(&b:class B<A> *) [line 19]\n " shape="box"]
|
||||
"div0_fun1" -> "div0_fun3" ;
|
||||
"B<int>_B2" [label="2: Exit B<int>_B \n " color=yellow style=filled]
|
||||
|
||||
|
||||
30 -> 29 ;
|
||||
29 [label="29: Call _fun_B<A>_div0 \n _=*&b:class B<A> [line 20]\n n$1=_fun_B<A>_div0(&b:class B<A> &) [line 20]\n " shape="box"]
|
||||
"B<int>_B1" [label="1: Start B<int>_B\nFormals: this:class B<int> *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
29 -> 28 ;
|
||||
28 [label="28: Exit div0_B_A \n " color=yellow style=filled]
|
||||
"B<int>_B1" -> "B<int>_B2" ;
|
||||
"div0_templ_A3" [label="3: Call _fun_div0_templ<A> \n n$0=_fun_div0_templ<A>() [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
27 [label="27: Start div0_B_A\nFormals: \nLocals: b:class B<A> \n DECLARE_LOCALS(&return,&b); [line 18]\n " color=yellow style=filled]
|
||||
"div0_templ_A3" -> "div0_templ_A2" ;
|
||||
"div0_templ_A2" [label="2: Exit div0_templ_A \n " color=yellow style=filled]
|
||||
|
||||
|
||||
27 -> 30 ;
|
||||
26 [label="26: DeclStmt \n _fun_B<int>_B(&b:class B<int> *) [line 14]\n " shape="box"]
|
||||
"div0_templ_A1" [label="1: Start div0_templ_A\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 25]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
26 -> 25 ;
|
||||
25 [label="25: Call _fun_B<int>_div0 \n _=*&b:class B<int> [line 15]\n n$1=_fun_B<int>_div0(&b:class B<int> &) [line 15]\n " shape="box"]
|
||||
"div0_templ_A1" -> "div0_templ_A3" ;
|
||||
"B<A>_div03" [label="3: Return Stmt \n *&return:int =(1 / 0) [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 24 ;
|
||||
24 [label="24: Exit div0_B_int \n " color=yellow style=filled]
|
||||
"B<A>_div03" -> "B<A>_div02" ;
|
||||
"B<A>_div02" [label="2: Exit B<A>_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
23 [label="23: Start div0_B_int\nFormals: \nLocals: b:class B<int> \n DECLARE_LOCALS(&return,&b); [line 13]\n " color=yellow style=filled]
|
||||
"B<A>_div01" [label="1: Start B<A>_div0\nFormals: this:class B<A> *\nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
23 -> 26 ;
|
||||
22 [label="22: Return Stmt \n *&return:int =(1 / 0) [line 23]\n " shape="box"]
|
||||
"B<A>_div01" -> "B<A>_div03" ;
|
||||
"div0_templ_int3" [label="3: Call _fun_div0_templ<int> \n n$0=_fun_div0_templ<int>() [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 21 ;
|
||||
21 [label="21: Exit div0_templ<A> \n " color=yellow style=filled]
|
||||
"div0_templ_int3" -> "div0_templ_int2" ;
|
||||
"div0_templ_int2" [label="2: Exit div0_templ_int \n " color=yellow style=filled]
|
||||
|
||||
|
||||
20 [label="20: Start div0_templ<A>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled]
|
||||
"div0_templ_int1" [label="1: Start div0_templ_int\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 23]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
20 -> 22 ;
|
||||
19 [label="19: Return Stmt \n *&return:int =(1 / 0) [line 23]\n " shape="box"]
|
||||
"div0_templ_int1" -> "div0_templ_int3" ;
|
||||
"A_div03" [label="3: Return Stmt \n *&return:int =(1 / 0) [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 18 ;
|
||||
18 [label="18: Exit div0_templ<int> \n " color=yellow style=filled]
|
||||
"A_div03" -> "A_div02" ;
|
||||
"A_div02" [label="2: Exit A_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 [label="17: Start div0_templ<int>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled]
|
||||
"A_div01" [label="1: Start A_div0\nFormals: this:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 -> 19 ;
|
||||
16 [label="16: Return Stmt \n *&return:int =(1 / 0) [line 19]\n " shape="box"]
|
||||
"A_div01" -> "A_div03" ;
|
||||
"div0_B_A4" [label="4: DeclStmt \n _fun_B<A>_B(&b:class B<A> *) [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 15 ;
|
||||
15 [label="15: Exit div0_fun \n " color=yellow style=filled]
|
||||
"div0_B_A4" -> "div0_B_A3" ;
|
||||
"div0_B_A3" [label="3: Call _fun_B<A>_div0 \n _=*&b:class B<A> [line 20]\n n$1=_fun_B<A>_div0(&b:class B<A> &) [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
14 [label="14: Start div0_fun\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
"div0_B_A3" -> "div0_B_A2" ;
|
||||
"div0_B_A2" [label="2: Exit div0_B_A \n " color=yellow style=filled]
|
||||
|
||||
|
||||
14 -> 16 ;
|
||||
13 [label="13: Exit B<A>_B \n " color=yellow style=filled]
|
||||
"div0_B_A1" [label="1: Start div0_B_A\nFormals: \nLocals: b:class B<A> \n DECLARE_LOCALS(&return,&b); [line 18]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
12 [label="12: Start B<A>_B\nFormals: this:class B<A> *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"div0_B_A1" -> "div0_B_A4" ;
|
||||
"div0_B_int4" [label="4: DeclStmt \n _fun_B<int>_B(&b:class B<int> *) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 13 ;
|
||||
11 [label="11: Return Stmt \n *&return:int =(1 / 0) [line 16]\n " shape="box"]
|
||||
"div0_B_int4" -> "div0_B_int3" ;
|
||||
"div0_B_int3" [label="3: Call _fun_B<int>_div0 \n _=*&b:class B<int> [line 15]\n n$1=_fun_B<int>_div0(&b:class B<int> &) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: Exit B<A>_div0 \n " color=yellow style=filled]
|
||||
"div0_B_int3" -> "div0_B_int2" ;
|
||||
"div0_B_int2" [label="2: Exit div0_B_int \n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 [label="9: Start B<A>_div0\nFormals: this:class B<A> *\nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
"div0_B_int1" [label="1: Start div0_B_int\nFormals: \nLocals: b:class B<int> \n DECLARE_LOCALS(&return,&b); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 11 ;
|
||||
8 [label="8: Exit B<int>_B \n " color=yellow style=filled]
|
||||
"div0_B_int1" -> "div0_B_int4" ;
|
||||
"B<A>_B2" [label="2: Exit B<A>_B \n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 [label="7: Start B<int>_B\nFormals: this:class B<int> *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"B<A>_B1" [label="1: Start B<A>_B\nFormals: this:class B<A> *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 -> 8 ;
|
||||
6 [label="6: Return Stmt \n *&return:int =(1 / 0) [line 16]\n " shape="box"]
|
||||
"B<A>_B1" -> "B<A>_B2" ;
|
||||
"div0_templ<int>3" [label="3: Return Stmt \n *&return:int =(1 / 0) [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit B<int>_div0 \n " color=yellow style=filled]
|
||||
"div0_templ<int>3" -> "div0_templ<int>2" ;
|
||||
"div0_templ<int>2" [label="2: Exit div0_templ<int> \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start B<int>_div0\nFormals: this:class B<int> *\nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
"div0_templ<int>1" [label="1: Start div0_templ<int>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =(1 / 0) [line 11]\n " shape="box"]
|
||||
"div0_templ<int>1" -> "div0_templ<int>3" ;
|
||||
"B<int>_div03" [label="3: Return Stmt \n *&return:int =(1 / 0) [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit A_div0 \n " color=yellow style=filled]
|
||||
"B<int>_div03" -> "B<int>_div02" ;
|
||||
"B<int>_div02" [label="2: Exit B<int>_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start A_div0\nFormals: this:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
"B<int>_div01" [label="1: Start B<int>_div0\nFormals: this:class B<int> *\nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"B<int>_div01" -> "B<int>_div03" ;
|
||||
}
|
||||
|
@ -1,36 +1,36 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
9 [label="9: Return Stmt \n n$0=*&a:class A * [line 17]\n _=*n$0:class A [line 17]\n n$2=_fun_A_meth_with_self(n$0:class A *,1:int ,2:int ) [line 17]\n n$3=_fun_fun_with_self(10:int ) [line 17]\n *&return:int =(n$2 + n$3) [line 17]\n " shape="box"]
|
||||
"test3" [label="3: Return Stmt \n n$0=*&a:class A * [line 17]\n _=*n$0:class A [line 17]\n n$2=_fun_A_meth_with_self(n$0:class A *,1:int ,2:int ) [line 17]\n n$3=_fun_fun_with_self(10:int ) [line 17]\n *&return:int =(n$2 + n$3) [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Exit test \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 [label="7: Start test\nFormals: a:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: a:class A *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 -> 9 ;
|
||||
6 [label="6: Return Stmt \n n$0=*&self:int [line 15]\n *&return:int =n$0 [line 15]\n " shape="box"]
|
||||
"test1" -> "test3" ;
|
||||
"A_meth_with_self3" [label="3: Return Stmt \n n$0=*&self:int [line 12]\n n$1=*&b:int [line 12]\n *&return:int =(n$0 + n$1) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit fun_with_self \n " color=yellow style=filled]
|
||||
"A_meth_with_self3" -> "A_meth_with_self2" ;
|
||||
"A_meth_with_self2" [label="2: Exit A_meth_with_self \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start fun_with_self\nFormals: self:int \nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"A_meth_with_self1" [label="1: Start A_meth_with_self\nFormals: this:class A * self:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&self:int [line 12]\n n$1=*&b:int [line 12]\n *&return:int =(n$0 + n$1) [line 12]\n " shape="box"]
|
||||
"A_meth_with_self1" -> "A_meth_with_self3" ;
|
||||
"fun_with_self3" [label="3: Return Stmt \n n$0=*&self:int [line 15]\n *&return:int =n$0 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit A_meth_with_self \n " color=yellow style=filled]
|
||||
"fun_with_self3" -> "fun_with_self2" ;
|
||||
"fun_with_self2" [label="2: Exit fun_with_self \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start A_meth_with_self\nFormals: this:class A * self:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"fun_with_self1" [label="1: Start fun_with_self\nFormals: self:int \nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"fun_with_self1" -> "fun_with_self3" ;
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
3 [label="3: Return Stmt \n *&return:int *=null [line 10]\n " shape="box"]
|
||||
"getPtr3" [label="3: Return Stmt \n *&return:int *=null [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit getPtr \n " color=yellow style=filled]
|
||||
"getPtr3" -> "getPtr2" ;
|
||||
"getPtr2" [label="2: Exit getPtr \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start getPtr\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"getPtr1" [label="1: Start getPtr\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"getPtr1" -> "getPtr3" ;
|
||||
}
|
||||
|
@ -1,89 +1,89 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
23 [label="23: DeclStmt \n n$3=_fun_get<int>() [line 18]\n *&i:int =n$3 [line 18]\n " shape="box"]
|
||||
"get<ENUM>3" [label="3: Return Stmt \n *&return:int =0 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 22 ;
|
||||
22 [label="22: DeclStmt \n n$2=_fun_get<float>() [line 19]\n *&f:float =n$2 [line 19]\n " shape="box"]
|
||||
"get<ENUM>3" -> "get<ENUM>2" ;
|
||||
"get<ENUM>2" [label="2: Exit get<ENUM> \n " color=yellow style=filled]
|
||||
|
||||
|
||||
22 -> 21 ;
|
||||
21 [label="21: DeclStmt \n n$1=_fun_get<float_*>() [line 20]\n *&fp:float *=n$1 [line 20]\n " shape="box"]
|
||||
"get<ENUM>1" [label="1: Start get<ENUM>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
21 -> 20 ;
|
||||
20 [label="20: Call _fun_get<void> \n _fun_get<void>() [line 21]\n " shape="box"]
|
||||
"get<ENUM>1" -> "get<ENUM>3" ;
|
||||
"test8" [label="8: DeclStmt \n n$3=_fun_get<int>() [line 18]\n *&i:int =n$3 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 19 ;
|
||||
19 [label="19: DeclStmt \n n$0=_fun_get<ENUM>() [line 22]\n *&x:int =n$0 [line 22]\n " shape="box"]
|
||||
"test8" -> "test7" ;
|
||||
"test7" [label="7: DeclStmt \n n$2=_fun_get<float>() [line 19]\n *&f:float =n$2 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 18 ;
|
||||
18 [label="18: DeclStmt \n *&f2:float =0.000000 [line 23]\n " shape="box"]
|
||||
"test7" -> "test6" ;
|
||||
"test6" [label="6: DeclStmt \n n$1=_fun_get<float_*>() [line 20]\n *&fp:float *=n$1 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: Exit test \n " color=yellow style=filled]
|
||||
"test6" -> "test5" ;
|
||||
"test5" [label="5: Call _fun_get<void> \n _fun_get<void>() [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
16 [label="16: Start test\nFormals: \nLocals: f2:float x:int fp:float * f:float i:int \n DECLARE_LOCALS(&return,&f2,&x,&fp,&f,&i); [line 17]\n " color=yellow style=filled]
|
||||
"test5" -> "test4" ;
|
||||
"test4" [label="4: DeclStmt \n n$0=_fun_get<ENUM>() [line 22]\n *&x:int =n$0 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 23 ;
|
||||
15 [label="15: Return Stmt \n *&return:int =0 [line 14]\n " shape="box"]
|
||||
"test4" -> "test3" ;
|
||||
"test3" [label="3: DeclStmt \n *&f2:float =0.000000 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: Exit get<ENUM> \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 [label="13: Start get<ENUM>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: f2:float x:int fp:float * f:float i:int \n DECLARE_LOCALS(&return,&f2,&x,&fp,&f,&i); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 -> 15 ;
|
||||
12 [label="12: Return Stmt \n *&return:void =-1 [line 14]\n " shape="box"]
|
||||
"test1" -> "test8" ;
|
||||
"get<void>3" [label="3: Return Stmt \n *&return:void =-1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: Exit get<void> \n " color=yellow style=filled]
|
||||
"get<void>3" -> "get<void>2" ;
|
||||
"get<void>2" [label="2: Exit get<void> \n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 [label="10: Start get<void>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"get<void>1" [label="1: Start get<void>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 12 ;
|
||||
9 [label="9: Return Stmt \n *&return:float *=null [line 14]\n " shape="box"]
|
||||
"get<void>1" -> "get<void>3" ;
|
||||
"get<float>3" [label="3: Return Stmt \n *&return:float =0.000000 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Exit get<float_*> \n " color=yellow style=filled]
|
||||
"get<float>3" -> "get<float>2" ;
|
||||
"get<float>2" [label="2: Exit get<float> \n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 [label="7: Start get<float_*>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"get<float>1" [label="1: Start get<float>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 -> 9 ;
|
||||
6 [label="6: Return Stmt \n *&return:float =0.000000 [line 14]\n " shape="box"]
|
||||
"get<float>1" -> "get<float>3" ;
|
||||
"get<int>3" [label="3: Return Stmt \n *&return:int =0 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit get<float> \n " color=yellow style=filled]
|
||||
"get<int>3" -> "get<int>2" ;
|
||||
"get<int>2" [label="2: Exit get<int> \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start get<float>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"get<int>1" [label="1: Start get<int>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n *&return:int =0 [line 14]\n " shape="box"]
|
||||
"get<int>1" -> "get<int>3" ;
|
||||
"get<float_*>3" [label="3: Return Stmt \n *&return:float *=null [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit get<int> \n " color=yellow style=filled]
|
||||
"get<float_*>3" -> "get<float_*>2" ;
|
||||
"get<float_*>2" [label="2: Exit get<float_*> \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start get<int>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"get<float_*>1" [label="1: Start get<float_*>\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"get<float_*>1" -> "get<float_*>3" ;
|
||||
}
|
||||
|
@ -1,166 +1,166 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
43 [label="43: DeclStmt \n _fun_vec_vec(&vector:class vec *,10:int ) [line 36]\n " shape="box"]
|
||||
"vec_vec6" [label="6: Constructor Init \n n$4=*&this:class vec * [line 24]\n _fun_iterator_iterator(n$4.begin_:class iterator *) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
43 -> 42 ;
|
||||
42 [label="42: DeclStmt \n *&__range:class vec &=&vector [line 37]\n " shape="box"]
|
||||
"vec_vec6" -> "vec_vec5" ;
|
||||
"vec_vec5" [label="5: Constructor Init \n n$3=*&this:class vec * [line 24]\n _fun_iterator_iterator(n$3.end_:class iterator *) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
42 -> 35 ;
|
||||
41 [label="41: DeclStmt \n n$15=_fun_iterator_operator*(&__begin:class iterator &) [line 37]\n *&value:int =n$15 [line 37]\n " shape="box"]
|
||||
"vec_vec5" -> "vec_vec4" ;
|
||||
"vec_vec4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:class vec * [line 25]\n *n$2.begin_.val:int =0 [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
41 -> 40 ;
|
||||
40 [label="40: DeclStmt \n n$13=*&value:int [line 38]\n n$14=*&value:int [line 38]\n *&temp:int =((n$13 * n$14) + 10) [line 38]\n " shape="box"]
|
||||
"vec_vec4" -> "vec_vec3" ;
|
||||
"vec_vec3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class vec * [line 26]\n n$1=*&size:int [line 26]\n *n$0.end_.val:int =n$1 [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
40 -> 36 ;
|
||||
39 [label="39: Prune (false branch) \n PRUNE((n$12 == 0), false); [line 37]\n " shape="invhouse"]
|
||||
"vec_vec3" -> "vec_vec2" ;
|
||||
"vec_vec2" [label="2: Exit vec_vec \n " color=yellow style=filled]
|
||||
|
||||
|
||||
39 -> 32 ;
|
||||
38 [label="38: Prune (true branch) \n PRUNE((n$12 != 0), true); [line 37]\n " shape="invhouse"]
|
||||
"vec_vec1" [label="1: Start vec_vec\nFormals: this:class vec * size:int \nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
38 -> 41 ;
|
||||
37 [label="37: Call _fun_operator!= \n _fun_iterator_iterator(&0$?%__sil_tmp__temp_construct_n$10:class iterator *,&__begin:class iterator &) [line 37]\n _fun_iterator_iterator(&0$?%__sil_tmp__temp_construct_n$11:class iterator *,&__end:class iterator &) [line 37]\n n$12=_fun_operator!=(&0$?%__sil_tmp__temp_construct_n$10:class iterator ,&0$?%__sil_tmp__temp_construct_n$11:class iterator ) [line 37]\n " shape="box"]
|
||||
"vec_vec1" -> "vec_vec6" ;
|
||||
"test13" [label="13: DeclStmt \n _fun_vec_vec(&vector:class vec *,10:int ) [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
37 -> 38 ;
|
||||
37 -> 39 ;
|
||||
36 [label="36: Call _fun_iterator_operator++ \n _fun_iterator_operator++(&__begin:class iterator &,&0$?%__sil_tmp__temp_return_n$9:class iterator *) [line 37]\n " shape="box"]
|
||||
"test13" -> "test12" ;
|
||||
"test12" [label="12: DeclStmt \n *&__range:class vec &=&vector [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
36 -> 33 ;
|
||||
35 [label="35: DeclStmt \n n$5=*&__range:class vec & [line 37]\n _=*n$5:class vec [line 37]\n _fun_vec_begin(n$5:class vec &,&0$?%__sil_tmpSIL_materialize_temp__n$4:class iterator *) [line 37]\n _fun_iterator_iterator(&__begin:class iterator *,&0$?%__sil_tmpSIL_materialize_temp__n$4:class iterator &) [line 37]\n " shape="box"]
|
||||
"test12" -> "test5" ;
|
||||
"test11" [label="11: DeclStmt \n n$15=_fun_iterator_operator*(&__begin:class iterator &) [line 37]\n *&value:int =n$15 [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
35 -> 34 ;
|
||||
34 [label="34: DeclStmt \n n$1=*&__range:class vec & [line 37]\n _=*n$1:class vec [line 37]\n _fun_vec_end(n$1:class vec &,&0$?%__sil_tmpSIL_materialize_temp__n$0:class iterator *) [line 37]\n _fun_iterator_iterator(&__end:class iterator *,&0$?%__sil_tmpSIL_materialize_temp__n$0:class iterator &) [line 37]\n " shape="box"]
|
||||
"test11" -> "test10" ;
|
||||
"test10" [label="10: DeclStmt \n n$13=*&value:int [line 38]\n n$14=*&value:int [line 38]\n *&temp:int =((n$13 * n$14) + 10) [line 38]\n " shape="box"]
|
||||
|
||||
|
||||
34 -> 33 ;
|
||||
33 [label="33: + \n " ]
|
||||
"test10" -> "test6" ;
|
||||
"test9" [label="9: Prune (false branch) \n PRUNE((n$12 == 0), false); [line 37]\n " shape="invhouse"]
|
||||
|
||||
|
||||
33 -> 37 ;
|
||||
32 [label="32: Exit test \n " color=yellow style=filled]
|
||||
"test9" -> "test2" ;
|
||||
"test8" [label="8: Prune (true branch) \n PRUNE((n$12 != 0), true); [line 37]\n " shape="invhouse"]
|
||||
|
||||
|
||||
31 [label="31: Start test\nFormals: \nLocals: __end:class iterator 0$?%__sil_tmpSIL_materialize_temp__n$0:class iterator __begin:class iterator 0$?%__sil_tmpSIL_materialize_temp__n$4:class iterator 0$?%__sil_tmp__temp_return_n$9:class iterator 0$?%__sil_tmp__temp_construct_n$10:class iterator 0$?%__sil_tmp__temp_construct_n$11:class iterator temp:int value:int __range:class vec & vector:class vec \n DECLARE_LOCALS(&return,&__end,&0$?%__sil_tmpSIL_materialize_temp__n$0,&__begin,&0$?%__sil_tmpSIL_materialize_temp__n$4,&0$?%__sil_tmp__temp_return_n$9,&0$?%__sil_tmp__temp_construct_n$10,&0$?%__sil_tmp__temp_construct_n$11,&temp,&value,&__range,&vector); [line 35]\n " color=yellow style=filled]
|
||||
"test8" -> "test11" ;
|
||||
"test7" [label="7: Call _fun_operator!= \n _fun_iterator_iterator(&0$?%__sil_tmp__temp_construct_n$10:class iterator *,&__begin:class iterator &) [line 37]\n _fun_iterator_iterator(&0$?%__sil_tmp__temp_construct_n$11:class iterator *,&__end:class iterator &) [line 37]\n n$12=_fun_operator!=(&0$?%__sil_tmp__temp_construct_n$10:class iterator ,&0$?%__sil_tmp__temp_construct_n$11:class iterator ) [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
31 -> 43 ;
|
||||
30 [label="30: Return Stmt \n n$0=*&__return_param:class iterator * [line 29]\n n$1=*&this:class vec * [line 29]\n _fun_iterator_iterator(n$0:class iterator *,n$1.end_:class iterator &) [line 29]\n " shape="box"]
|
||||
"test7" -> "test8" ;
|
||||
"test7" -> "test9" ;
|
||||
"test6" [label="6: Call _fun_iterator_operator++ \n _fun_iterator_operator++(&__begin:class iterator &,&0$?%__sil_tmp__temp_return_n$9:class iterator *) [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
30 -> 29 ;
|
||||
29 [label="29: Exit vec_end \n " color=yellow style=filled]
|
||||
"test6" -> "test3" ;
|
||||
"test5" [label="5: DeclStmt \n n$5=*&__range:class vec & [line 37]\n _=*n$5:class vec [line 37]\n _fun_vec_begin(n$5:class vec &,&0$?%__sil_tmpSIL_materialize_temp__n$4:class iterator *) [line 37]\n _fun_iterator_iterator(&__begin:class iterator *,&0$?%__sil_tmpSIL_materialize_temp__n$4:class iterator &) [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
28 [label="28: Start vec_end\nFormals: this:class vec * __return_param:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 29]\n " color=yellow style=filled]
|
||||
"test5" -> "test4" ;
|
||||
"test4" [label="4: DeclStmt \n n$1=*&__range:class vec & [line 37]\n _=*n$1:class vec [line 37]\n _fun_vec_end(n$1:class vec &,&0$?%__sil_tmpSIL_materialize_temp__n$0:class iterator *) [line 37]\n _fun_iterator_iterator(&__end:class iterator *,&0$?%__sil_tmpSIL_materialize_temp__n$0:class iterator &) [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
28 -> 30 ;
|
||||
27 [label="27: Return Stmt \n n$0=*&__return_param:class iterator * [line 28]\n n$1=*&this:class vec * [line 28]\n _fun_iterator_iterator(n$0:class iterator *,n$1.begin_:class iterator &) [line 28]\n " shape="box"]
|
||||
"test4" -> "test3" ;
|
||||
"test3" [label="3: + \n " ]
|
||||
|
||||
|
||||
27 -> 26 ;
|
||||
26 [label="26: Exit vec_begin \n " color=yellow style=filled]
|
||||
"test3" -> "test7" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
25 [label="25: Start vec_begin\nFormals: this:class vec * __return_param:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 28]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: __end:class iterator 0$?%__sil_tmpSIL_materialize_temp__n$0:class iterator __begin:class iterator 0$?%__sil_tmpSIL_materialize_temp__n$4:class iterator 0$?%__sil_tmp__temp_return_n$9:class iterator 0$?%__sil_tmp__temp_construct_n$10:class iterator 0$?%__sil_tmp__temp_construct_n$11:class iterator temp:int value:int __range:class vec & vector:class vec \n DECLARE_LOCALS(&return,&__end,&0$?%__sil_tmpSIL_materialize_temp__n$0,&__begin,&0$?%__sil_tmpSIL_materialize_temp__n$4,&0$?%__sil_tmp__temp_return_n$9,&0$?%__sil_tmp__temp_construct_n$10,&0$?%__sil_tmp__temp_construct_n$11,&temp,&value,&__range,&vector); [line 35]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
25 -> 27 ;
|
||||
24 [label="24: Constructor Init \n n$4=*&this:class vec * [line 24]\n _fun_iterator_iterator(n$4.begin_:class iterator *) [line 24]\n " shape="box"]
|
||||
"test1" -> "test13" ;
|
||||
"iterator_iterator2" [label="2: Exit iterator_iterator \n " color=yellow style=filled]
|
||||
|
||||
|
||||
24 -> 23 ;
|
||||
23 [label="23: Constructor Init \n n$3=*&this:class vec * [line 24]\n _fun_iterator_iterator(n$3.end_:class iterator *) [line 24]\n " shape="box"]
|
||||
"iterator_iterator1" [label="1: Start iterator_iterator\nFormals: this:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
23 -> 22 ;
|
||||
22 [label="22: BinaryOperatorStmt: Assign \n n$2=*&this:class vec * [line 25]\n *n$2.begin_.val:int =0 [line 25]\n " shape="box"]
|
||||
"iterator_iterator1" -> "iterator_iterator2" ;
|
||||
"vec_end3" [label="3: Return Stmt \n n$0=*&__return_param:class iterator * [line 29]\n n$1=*&this:class vec * [line 29]\n _fun_iterator_iterator(n$0:class iterator *,n$1.end_:class iterator &) [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 21 ;
|
||||
21 [label="21: BinaryOperatorStmt: Assign \n n$0=*&this:class vec * [line 26]\n n$1=*&size:int [line 26]\n *n$0.end_.val:int =n$1 [line 26]\n " shape="box"]
|
||||
"vec_end3" -> "vec_end2" ;
|
||||
"vec_end2" [label="2: Exit vec_end \n " color=yellow style=filled]
|
||||
|
||||
|
||||
21 -> 20 ;
|
||||
20 [label="20: Exit vec_vec \n " color=yellow style=filled]
|
||||
"vec_end1" [label="1: Start vec_end\nFormals: this:class vec * __return_param:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 29]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
19 [label="19: Start vec_vec\nFormals: this:class vec * size:int \nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled]
|
||||
"vec_end1" -> "vec_end3" ;
|
||||
"iterator_operator++4" [label="4: BinaryOperatorStmt: AddAssign \n n$2=*&this:class iterator * [line 14]\n n$3=*n$2.val:int [line 14]\n *n$2.val:int =(n$3 + 1) [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 24 ;
|
||||
18 [label="18: Return Stmt \n n$0=*&i1:class iterator & [line 21]\n n$1=*n$0.val:int [line 21]\n n$2=*&i2:class iterator & [line 21]\n n$3=*n$2.val:int [line 21]\n *&return:_Bool =(n$1 != n$3) [line 21]\n " shape="box"]
|
||||
"iterator_operator++4" -> "iterator_operator++3" ;
|
||||
"iterator_operator++3" [label="3: Return Stmt \n n$0=*&__return_param:class iterator * [line 15]\n n$1=*&this:class iterator * [line 15]\n _fun_iterator_iterator(n$0:class iterator *,n$1:class iterator &) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: Exit operator!= \n " color=yellow style=filled]
|
||||
"iterator_operator++3" -> "iterator_operator++2" ;
|
||||
"iterator_operator++2" [label="2: Exit iterator_operator++ \n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 [label="16: Start operator!=\nFormals: i1:class iterator & i2:class iterator &\nLocals: \n DECLARE_LOCALS(&return); [line 21]\n " color=yellow style=filled]
|
||||
"iterator_operator++1" [label="1: Start iterator_operator++\nFormals: this:class iterator * __return_param:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: Constructor Init \n n$0=*&this:class iterator * [line 11]\n n$1=*&__param_0:class iterator & [line 11]\n n$2=*n$1.val:int [line 11]\n *n$0.val:int =n$2 [line 11]\n " shape="box"]
|
||||
"iterator_operator++1" -> "iterator_operator++4" ;
|
||||
"iterator_iterator3" [label="3: Constructor Init \n n$0=*&this:class iterator * [line 11]\n n$1=*&__param_0:class iterator & [line 11]\n n$2=*n$1.val:int [line 11]\n *n$0.val:int =n$2 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: Exit iterator_iterator \n " color=yellow style=filled]
|
||||
"iterator_iterator3" -> "iterator_iterator2" ;
|
||||
"iterator_iterator2" [label="2: Exit iterator_iterator \n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 [label="13: Start iterator_iterator\nFormals: this:class iterator * __param_0:class iterator &\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
"iterator_iterator1" [label="1: Start iterator_iterator\nFormals: this:class iterator * __param_0:class iterator &\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 -> 15 ;
|
||||
12 [label="12: Exit iterator_iterator \n " color=yellow style=filled]
|
||||
"iterator_iterator1" -> "iterator_iterator3" ;
|
||||
"vec_begin3" [label="3: Return Stmt \n n$0=*&__return_param:class iterator * [line 28]\n n$1=*&this:class vec * [line 28]\n _fun_iterator_iterator(n$0:class iterator *,n$1.begin_:class iterator &) [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
11 [label="11: Start iterator_iterator\nFormals: this:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
"vec_begin3" -> "vec_begin2" ;
|
||||
"vec_begin2" [label="2: Exit vec_begin \n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 -> 12 ;
|
||||
10 [label="10: Return Stmt \n n$0=*&this:class iterator * [line 18]\n n$1=*n$0.val:int [line 18]\n *&return:int =n$1 [line 18]\n " shape="box"]
|
||||
"vec_begin1" [label="1: Start vec_begin\nFormals: this:class vec * __return_param:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 28]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: Exit iterator_operator* \n " color=yellow style=filled]
|
||||
"vec_begin1" -> "vec_begin3" ;
|
||||
"operator!=3" [label="3: Return Stmt \n n$0=*&i1:class iterator & [line 21]\n n$1=*n$0.val:int [line 21]\n n$2=*&i2:class iterator & [line 21]\n n$3=*n$2.val:int [line 21]\n *&return:_Bool =(n$1 != n$3) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
8 [label="8: Start iterator_operator*\nFormals: this:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
"operator!=3" -> "operator!=2" ;
|
||||
"operator!=2" [label="2: Exit operator!= \n " color=yellow style=filled]
|
||||
|
||||
|
||||
8 -> 10 ;
|
||||
7 [label="7: BinaryOperatorStmt: AddAssign \n n$2=*&this:class iterator * [line 14]\n n$3=*n$2.val:int [line 14]\n *n$2.val:int =(n$3 + 1) [line 14]\n " shape="box"]
|
||||
"operator!=1" [label="1: Start operator!=\nFormals: i1:class iterator & i2:class iterator &\nLocals: \n DECLARE_LOCALS(&return); [line 21]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 -> 6 ;
|
||||
6 [label="6: Return Stmt \n n$0=*&__return_param:class iterator * [line 15]\n n$1=*&this:class iterator * [line 15]\n _fun_iterator_iterator(n$0:class iterator *,n$1:class iterator &) [line 15]\n " shape="box"]
|
||||
"operator!=1" -> "operator!=3" ;
|
||||
"iterator_iterator3" [label="3: Constructor Init \n n$0=*&this:class iterator * [line 11]\n n$1=*&__param_0:class iterator & [line 11]\n n$2=*n$1.val:int [line 11]\n *n$0.val:int =n$2 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 2 ;
|
||||
5 [label="5: Constructor Init \n n$0=*&this:class iterator * [line 11]\n n$1=*&__param_0:class iterator & [line 11]\n n$2=*n$1.val:int [line 11]\n *n$0.val:int =n$2 [line 11]\n " shape="box"]
|
||||
"iterator_iterator3" -> "iterator_iterator2" ;
|
||||
"iterator_iterator2" [label="2: Exit iterator_iterator \n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: Exit iterator_iterator \n " color=yellow style=filled]
|
||||
"iterator_iterator1" [label="1: Start iterator_iterator\nFormals: this:class iterator * __param_0:class iterator &\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
3 [label="3: Start iterator_iterator\nFormals: this:class iterator * __param_0:class iterator &\nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled]
|
||||
"iterator_iterator1" -> "iterator_iterator3" ;
|
||||
"iterator_operator*3" [label="3: Return Stmt \n n$0=*&this:class iterator * [line 18]\n n$1=*n$0.val:int [line 18]\n *&return:int =n$1 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 5 ;
|
||||
2 [label="2: Exit iterator_operator++ \n " color=yellow style=filled]
|
||||
"iterator_operator*3" -> "iterator_operator*2" ;
|
||||
"iterator_operator*2" [label="2: Exit iterator_operator* \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start iterator_operator++\nFormals: this:class iterator * __return_param:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"iterator_operator*1" [label="1: Start iterator_operator*\nFormals: this:class iterator *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 7 ;
|
||||
"iterator_operator*1" -> "iterator_operator*3" ;
|
||||
}
|
||||
|
@ -1,358 +1,358 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
95 [label="95: DeclStmt \n *&a:int =0 [line 140]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_operator*2" [label="2: Exit TranslateAsPtr<int>_operator* \n " color=yellow style=filled]
|
||||
|
||||
|
||||
95 -> 94 ;
|
||||
94 [label="94: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 141]\n n$4=*&t:int * [line 141]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_operator*1" [label="1: Start TranslateAsPtr<int>_operator*\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 81]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
94 -> 93 ;
|
||||
93 [label="93: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 142]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,&a:int *) [line 142]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_operator*1" -> "TranslateAsPtr<int>_operator*2" ;
|
||||
"TranslateAsPtr<int>_setPtr3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:int ** [line 86]\n n$1=*&v:int * [line 86]\n *n$0:void *=n$1 [line 86]\n " shape="box"]
|
||||
|
||||
|
||||
93 -> 92 ;
|
||||
92 [label="92: Return Stmt \n _=*&t:int * [line 143]\n n$1=*&t:int *& [line 143]\n n$2=*n$1:int * [line 143]\n *&return:int =n$2 [line 143]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_setPtr3" -> "TranslateAsPtr<int>_setPtr2" ;
|
||||
"TranslateAsPtr<int>_setPtr2" [label="2: Exit TranslateAsPtr<int>_setPtr \n " color=yellow style=filled]
|
||||
|
||||
|
||||
92 -> 91 ;
|
||||
91 [label="91: Exit getRef_ok_deref \n " color=yellow style=filled]
|
||||
"TranslateAsPtr<int>_setPtr1" [label="1: Start TranslateAsPtr<int>_setPtr\nFormals: this:int ** v:int *\nLocals: \n DECLARE_LOCALS(&return); [line 86]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
90 [label="90: Start getRef_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 139]\n " color=yellow style=filled]
|
||||
"TranslateAsPtr<int>_setPtr1" -> "TranslateAsPtr<int>_setPtr3" ;
|
||||
"getPtr_null_deref25" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 96]\n n$4=*&t:int * [line 96]\n " shape="box"]
|
||||
|
||||
|
||||
90 -> 95 ;
|
||||
89 [label="89: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 134]\n n$4=*&t:int * [line 134]\n " shape="box"]
|
||||
"getPtr_null_deref25" -> "getPtr_null_deref24" ;
|
||||
"getPtr_null_deref24" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 97]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 97]\n " shape="box"]
|
||||
|
||||
|
||||
89 -> 88 ;
|
||||
88 [label="88: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 135]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 135]\n " shape="box"]
|
||||
"getPtr_null_deref24" -> "getPtr_null_deref23" ;
|
||||
"getPtr_null_deref23" [label="3: Return Stmt \n _=*&t:int * [line 98]\n n$1=*&t:int *& [line 98]\n n$2=*n$1:int [line 98]\n *&return:int =n$2 [line 98]\n " shape="box"]
|
||||
|
||||
|
||||
88 -> 87 ;
|
||||
87 [label="87: Return Stmt \n _=*&t:int * [line 136]\n n$1=*&t:int *& [line 136]\n n$2=*n$1:int * [line 136]\n *&return:int =n$2 [line 136]\n " shape="box"]
|
||||
"getPtr_null_deref23" -> "getPtr_null_deref22" ;
|
||||
"getPtr_null_deref22" [label="2: Exit getPtr_null_deref2 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
87 -> 86 ;
|
||||
86 [label="86: Exit getRef_null_deref2 \n " color=yellow style=filled]
|
||||
"getPtr_null_deref21" [label="1: Start getPtr_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 95]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
85 [label="85: Start getRef_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 133]\n " color=yellow style=filled]
|
||||
"getPtr_null_deref21" -> "getPtr_null_deref25" ;
|
||||
"getRef_null_deref25" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 134]\n n$4=*&t:int * [line 134]\n " shape="box"]
|
||||
|
||||
|
||||
85 -> 89 ;
|
||||
84 [label="84: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 128]\n n$4=*&t:int * [line 128]\n " shape="box"]
|
||||
"getRef_null_deref25" -> "getRef_null_deref24" ;
|
||||
"getRef_null_deref24" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 135]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 135]\n " shape="box"]
|
||||
|
||||
|
||||
84 -> 83 ;
|
||||
83 [label="83: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 129]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 129]\n " shape="box"]
|
||||
"getRef_null_deref24" -> "getRef_null_deref23" ;
|
||||
"getRef_null_deref23" [label="3: Return Stmt \n _=*&t:int * [line 136]\n n$1=*&t:int *& [line 136]\n n$2=*n$1:int * [line 136]\n *&return:int =n$2 [line 136]\n " shape="box"]
|
||||
|
||||
|
||||
83 -> 82 ;
|
||||
82 [label="82: Return Stmt \n _=*&t:int * [line 130]\n n$1=*&t:int *& [line 130]\n n$2=*n$1:int * [line 130]\n *&return:int =n$2 [line 130]\n " shape="box"]
|
||||
"getRef_null_deref23" -> "getRef_null_deref22" ;
|
||||
"getRef_null_deref22" [label="2: Exit getRef_null_deref2 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
82 -> 81 ;
|
||||
81 [label="81: Exit getRef_null_deref1 \n " color=yellow style=filled]
|
||||
"getRef_null_deref21" [label="1: Start getRef_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 133]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
80 [label="80: Start getRef_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 127]\n " color=yellow style=filled]
|
||||
"getRef_null_deref21" -> "getRef_null_deref25" ;
|
||||
"operator_star_ok_deref5" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 122]\n n$4=*&t:int * [line 122]\n " shape="box"]
|
||||
|
||||
|
||||
80 -> 84 ;
|
||||
79 [label="79: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 122]\n n$4=*&t:int * [line 122]\n " shape="box"]
|
||||
"operator_star_ok_deref5" -> "operator_star_ok_deref4" ;
|
||||
"operator_star_ok_deref4" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 123]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,&a:int *) [line 123]\n " shape="box"]
|
||||
|
||||
|
||||
79 -> 78 ;
|
||||
78 [label="78: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 123]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,&a:int *) [line 123]\n " shape="box"]
|
||||
"operator_star_ok_deref4" -> "operator_star_ok_deref3" ;
|
||||
"operator_star_ok_deref3" [label="3: Return Stmt \n _=*&t:int * [line 124]\n n$1=*&t:int *& [line 124]\n n$2=*n$1:int * [line 124]\n *&return:int =n$2 [line 124]\n " shape="box"]
|
||||
|
||||
|
||||
78 -> 77 ;
|
||||
77 [label="77: Return Stmt \n _=*&t:int * [line 124]\n n$1=*&t:int *& [line 124]\n n$2=*n$1:int * [line 124]\n *&return:int =n$2 [line 124]\n " shape="box"]
|
||||
"operator_star_ok_deref3" -> "operator_star_ok_deref2" ;
|
||||
"operator_star_ok_deref2" [label="2: Exit operator_star_ok_deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
77 -> 76 ;
|
||||
76 [label="76: Exit operator_star_ok_deref \n " color=yellow style=filled]
|
||||
"operator_star_ok_deref1" [label="1: Start operator_star_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 120]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
75 [label="75: Start operator_star_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 120]\n " color=yellow style=filled]
|
||||
"operator_star_ok_deref1" -> "operator_star_ok_deref5" ;
|
||||
"derefFirstArg23" [label="3: Return Stmt \n n$0=*&b:int * [line 26]\n n$1=*n$0:int [line 26]\n *&return:int =n$1 [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
75 -> 79 ;
|
||||
74 [label="74: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 115]\n n$4=*&t:int * [line 115]\n " shape="box"]
|
||||
"derefFirstArg23" -> "derefFirstArg22" ;
|
||||
"derefFirstArg22" [label="2: Exit derefFirstArg2 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
74 -> 73 ;
|
||||
73 [label="73: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 116]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 116]\n " shape="box"]
|
||||
"derefFirstArg21" [label="1: Start derefFirstArg2\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
73 -> 72 ;
|
||||
72 [label="72: Return Stmt \n _=*&t:int * [line 117]\n n$1=*&t:int *& [line 117]\n n$2=*n$1:int * [line 117]\n *&return:int =n$2 [line 117]\n " shape="box"]
|
||||
"derefFirstArg21" -> "derefFirstArg23" ;
|
||||
"TranslateAsPtr<int>_getRef2" [label="2: Exit TranslateAsPtr<int>_getRef \n " color=yellow style=filled]
|
||||
|
||||
|
||||
72 -> 71 ;
|
||||
71 [label="71: Exit operator_star_null_deref2 \n " color=yellow style=filled]
|
||||
"TranslateAsPtr<int>_getRef1" [label="1: Start TranslateAsPtr<int>_getRef\nFormals: this:int ** a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 83]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
70 [label="70: Start operator_star_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 114]\n " color=yellow style=filled]
|
||||
"TranslateAsPtr<int>_getRef1" -> "TranslateAsPtr<int>_getRef2" ;
|
||||
"TranslateAsPtr<int>_TranslateAsPtr3" [label="3: Call _fun_TranslateAsPtr<int>_setPtr \n n$0=*&this:int ** [line 76]\n _=*n$0:int * [line 76]\n n$2=*&t:int * [line 76]\n _fun_TranslateAsPtr<int>_setPtr(n$0:int **,n$2:int *) [line 76]\n " shape="box"]
|
||||
|
||||
|
||||
70 -> 74 ;
|
||||
69 [label="69: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 109]\n n$3=*&t:int * [line 109]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_TranslateAsPtr3" -> "TranslateAsPtr<int>_TranslateAsPtr2" ;
|
||||
"TranslateAsPtr<int>_TranslateAsPtr2" [label="2: Exit TranslateAsPtr<int>_TranslateAsPtr \n " color=yellow style=filled]
|
||||
|
||||
|
||||
69 -> 68 ;
|
||||
68 [label="68: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 110]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 110]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_TranslateAsPtr1" [label="1: Start TranslateAsPtr<int>_TranslateAsPtr\nFormals: this:int ** t:int *\nLocals: \n DECLARE_LOCALS(&return); [line 76]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
68 -> 67 ;
|
||||
67 [label="67: Return Stmt \n n$0=*&t:int *& [line 111]\n n$1=*n$0:int * [line 111]\n *&return:int =n$1 [line 111]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_TranslateAsPtr1" -> "TranslateAsPtr<int>_TranslateAsPtr3" ;
|
||||
"derefFirstArg33" [label="3: Return Stmt \n n$0=*&b:int * [line 33]\n n$1=*n$0:int [line 33]\n *&return:int =n$1 [line 33]\n " shape="box"]
|
||||
|
||||
|
||||
67 -> 66 ;
|
||||
66 [label="66: Exit operator_star_null_deref1 \n " color=yellow style=filled]
|
||||
"derefFirstArg33" -> "derefFirstArg32" ;
|
||||
"derefFirstArg32" [label="2: Exit derefFirstArg3 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
65 [label="65: Start operator_star_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 108]\n " color=yellow style=filled]
|
||||
"derefFirstArg31" [label="1: Start derefFirstArg3\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 31]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
65 -> 69 ;
|
||||
64 [label="64: DeclStmt \n *&a:int =0 [line 102]\n " shape="box"]
|
||||
"derefFirstArg31" -> "derefFirstArg33" ;
|
||||
"operator_star_null_deref25" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 115]\n n$4=*&t:int * [line 115]\n " shape="box"]
|
||||
|
||||
|
||||
64 -> 63 ;
|
||||
63 [label="63: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 103]\n n$4=*&t:int * [line 103]\n " shape="box"]
|
||||
"operator_star_null_deref25" -> "operator_star_null_deref24" ;
|
||||
"operator_star_null_deref24" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 116]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 116]\n " shape="box"]
|
||||
|
||||
|
||||
63 -> 62 ;
|
||||
62 [label="62: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 104]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,&a:int *) [line 104]\n " shape="box"]
|
||||
"operator_star_null_deref24" -> "operator_star_null_deref23" ;
|
||||
"operator_star_null_deref23" [label="3: Return Stmt \n _=*&t:int * [line 117]\n n$1=*&t:int *& [line 117]\n n$2=*n$1:int * [line 117]\n *&return:int =n$2 [line 117]\n " shape="box"]
|
||||
|
||||
|
||||
62 -> 61 ;
|
||||
61 [label="61: Return Stmt \n _=*&t:int * [line 105]\n n$1=*&t:int *& [line 105]\n n$2=*n$1:int [line 105]\n *&return:int =n$2 [line 105]\n " shape="box"]
|
||||
"operator_star_null_deref23" -> "operator_star_null_deref22" ;
|
||||
"operator_star_null_deref22" [label="2: Exit operator_star_null_deref2 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
61 -> 60 ;
|
||||
60 [label="60: Exit getPtr_ok_deref \n " color=yellow style=filled]
|
||||
"operator_star_null_deref21" [label="1: Start operator_star_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 114]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
59 [label="59: Start getPtr_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 101]\n " color=yellow style=filled]
|
||||
"operator_star_null_deref21" -> "operator_star_null_deref25" ;
|
||||
"TranslateAsPtr<int>_getPtr2" [label="2: Exit TranslateAsPtr<int>_getPtr \n " color=yellow style=filled]
|
||||
|
||||
|
||||
59 -> 64 ;
|
||||
58 [label="58: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 96]\n n$4=*&t:int * [line 96]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_getPtr1" [label="1: Start TranslateAsPtr<int>_getPtr\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 78]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
58 -> 57 ;
|
||||
57 [label="57: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 97]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 97]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_getPtr1" -> "TranslateAsPtr<int>_getPtr2" ;
|
||||
"derefFirstArg3_null_deref4" [label="4: DeclStmt \n *&a:int =0 [line 63]\n " shape="box"]
|
||||
|
||||
|
||||
57 -> 56 ;
|
||||
56 [label="56: Return Stmt \n _=*&t:int * [line 98]\n n$1=*&t:int *& [line 98]\n n$2=*n$1:int [line 98]\n *&return:int =n$2 [line 98]\n " shape="box"]
|
||||
"derefFirstArg3_null_deref4" -> "derefFirstArg3_null_deref3" ;
|
||||
"derefFirstArg3_null_deref3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(&a:int *,null:int *) [line 64]\n *&return:int =n$0 [line 64]\n " shape="box"]
|
||||
|
||||
|
||||
56 -> 55 ;
|
||||
55 [label="55: Exit getPtr_null_deref2 \n " color=yellow style=filled]
|
||||
"derefFirstArg3_null_deref3" -> "derefFirstArg3_null_deref2" ;
|
||||
"derefFirstArg3_null_deref2" [label="2: Exit derefFirstArg3_null_deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
54 [label="54: Start getPtr_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 95]\n " color=yellow style=filled]
|
||||
"derefFirstArg3_null_deref1" [label="1: Start derefFirstArg3_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 62]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
54 -> 58 ;
|
||||
53 [label="53: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 90]\n n$4=*&t:int * [line 90]\n " shape="box"]
|
||||
"derefFirstArg3_null_deref1" -> "derefFirstArg3_null_deref4" ;
|
||||
"getRef_null_deref15" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 128]\n n$4=*&t:int * [line 128]\n " shape="box"]
|
||||
|
||||
|
||||
53 -> 52 ;
|
||||
52 [label="52: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 91]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 91]\n " shape="box"]
|
||||
"getRef_null_deref15" -> "getRef_null_deref14" ;
|
||||
"getRef_null_deref14" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 129]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 129]\n " shape="box"]
|
||||
|
||||
|
||||
52 -> 51 ;
|
||||
51 [label="51: Return Stmt \n _=*&t:int * [line 92]\n n$1=*&t:int *& [line 92]\n n$2=*n$1:int [line 92]\n *&return:int =n$2 [line 92]\n " shape="box"]
|
||||
"getRef_null_deref14" -> "getRef_null_deref13" ;
|
||||
"getRef_null_deref13" [label="3: Return Stmt \n _=*&t:int * [line 130]\n n$1=*&t:int *& [line 130]\n n$2=*n$1:int * [line 130]\n *&return:int =n$2 [line 130]\n " shape="box"]
|
||||
|
||||
|
||||
51 -> 50 ;
|
||||
50 [label="50: Exit getPtr_null_deref1 \n " color=yellow style=filled]
|
||||
"getRef_null_deref13" -> "getRef_null_deref12" ;
|
||||
"getRef_null_deref12" [label="2: Exit getRef_null_deref1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
49 [label="49: Start getPtr_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 89]\n " color=yellow style=filled]
|
||||
"getRef_null_deref11" [label="1: Start getRef_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 127]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
49 -> 53 ;
|
||||
48 [label="48: Exit TranslateAsPtr<int>_getRef \n " color=yellow style=filled]
|
||||
"getRef_null_deref11" -> "getRef_null_deref15" ;
|
||||
"derefFirstArg_null_deref4" [label="4: DeclStmt \n *&a:int =0 [line 38]\n " shape="box"]
|
||||
|
||||
|
||||
47 [label="47: Start TranslateAsPtr<int>_getRef\nFormals: this:int ** a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 83]\n " color=yellow style=filled]
|
||||
"derefFirstArg_null_deref4" -> "derefFirstArg_null_deref3" ;
|
||||
"derefFirstArg_null_deref3" [label="3: Return Stmt \n n$0=*null:int * [line 39]\n *&return:int =n$0 [line 39]\n " shape="box"]
|
||||
|
||||
|
||||
47 -> 48 ;
|
||||
46 [label="46: Exit TranslateAsPtr<int>_getRef \n " color=yellow style=filled]
|
||||
"derefFirstArg_null_deref3" -> "derefFirstArg_null_deref2" ;
|
||||
"derefFirstArg_null_deref2" [label="2: Exit derefFirstArg_null_deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
45 [label="45: Start TranslateAsPtr<int>_getRef\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 82]\n " color=yellow style=filled]
|
||||
"derefFirstArg_null_deref1" [label="1: Start derefFirstArg_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 37]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
45 -> 46 ;
|
||||
44 [label="44: Exit TranslateAsPtr<int>_operator* \n " color=yellow style=filled]
|
||||
"derefFirstArg_null_deref1" -> "derefFirstArg_null_deref4" ;
|
||||
"operator_star_null_deref15" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 109]\n n$3=*&t:int * [line 109]\n " shape="box"]
|
||||
|
||||
|
||||
43 [label="43: Start TranslateAsPtr<int>_operator*\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 81]\n " color=yellow style=filled]
|
||||
"operator_star_null_deref15" -> "operator_star_null_deref14" ;
|
||||
"operator_star_null_deref14" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 110]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 110]\n " shape="box"]
|
||||
|
||||
|
||||
43 -> 44 ;
|
||||
42 [label="42: Exit TranslateAsPtr<int>_getPtr \n " color=yellow style=filled]
|
||||
"operator_star_null_deref14" -> "operator_star_null_deref13" ;
|
||||
"operator_star_null_deref13" [label="3: Return Stmt \n n$0=*&t:int *& [line 111]\n n$1=*n$0:int * [line 111]\n *&return:int =n$1 [line 111]\n " shape="box"]
|
||||
|
||||
|
||||
41 [label="41: Start TranslateAsPtr<int>_getPtr\nFormals: this:int ** a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 79]\n " color=yellow style=filled]
|
||||
"operator_star_null_deref13" -> "operator_star_null_deref12" ;
|
||||
"operator_star_null_deref12" [label="2: Exit operator_star_null_deref1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
41 -> 42 ;
|
||||
40 [label="40: Exit TranslateAsPtr<int>_getPtr \n " color=yellow style=filled]
|
||||
"operator_star_null_deref11" [label="1: Start operator_star_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 108]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
39 [label="39: Start TranslateAsPtr<int>_getPtr\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 78]\n " color=yellow style=filled]
|
||||
"operator_star_null_deref11" -> "operator_star_null_deref15" ;
|
||||
"TranslateAsPtr<int>_getRef2" [label="2: Exit TranslateAsPtr<int>_getRef \n " color=yellow style=filled]
|
||||
|
||||
|
||||
39 -> 40 ;
|
||||
38 [label="38: Call _fun_TranslateAsPtr<int>_setPtr \n n$0=*&this:int ** [line 76]\n _=*n$0:int * [line 76]\n n$2=*&t:int * [line 76]\n _fun_TranslateAsPtr<int>_setPtr(n$0:int **,n$2:int *) [line 76]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_getRef1" [label="1: Start TranslateAsPtr<int>_getRef\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 82]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
38 -> 34 ;
|
||||
37 [label="37: BinaryOperatorStmt: Assign \n n$0=*&this:int ** [line 86]\n n$1=*&v:int * [line 86]\n *n$0:void *=n$1 [line 86]\n " shape="box"]
|
||||
"TranslateAsPtr<int>_getRef1" -> "TranslateAsPtr<int>_getRef2" ;
|
||||
"derefFirstArg2_null_deref4" [label="4: DeclStmt \n *&a:int =0 [line 48]\n " shape="box"]
|
||||
|
||||
|
||||
37 -> 36 ;
|
||||
36 [label="36: Exit TranslateAsPtr<int>_setPtr \n " color=yellow style=filled]
|
||||
"derefFirstArg2_null_deref4" -> "derefFirstArg2_null_deref3" ;
|
||||
"derefFirstArg2_null_deref3" [label="3: Return Stmt \n n$0=*null:int * [line 49]\n *&return:int =n$0 [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
35 [label="35: Start TranslateAsPtr<int>_setPtr\nFormals: this:int ** v:int *\nLocals: \n DECLARE_LOCALS(&return); [line 86]\n " color=yellow style=filled]
|
||||
"derefFirstArg2_null_deref3" -> "derefFirstArg2_null_deref2" ;
|
||||
"derefFirstArg2_null_deref2" [label="2: Exit derefFirstArg2_null_deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
35 -> 37 ;
|
||||
34 [label="34: Exit TranslateAsPtr<int>_TranslateAsPtr \n " color=yellow style=filled]
|
||||
"derefFirstArg2_null_deref1" [label="1: Start derefFirstArg2_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 47]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
33 [label="33: Start TranslateAsPtr<int>_TranslateAsPtr\nFormals: this:int ** t:int *\nLocals: \n DECLARE_LOCALS(&return); [line 76]\n " color=yellow style=filled]
|
||||
"derefFirstArg2_null_deref1" -> "derefFirstArg2_null_deref4" ;
|
||||
"getRef_ok_deref6" [label="6: DeclStmt \n *&a:int =0 [line 140]\n " shape="box"]
|
||||
|
||||
|
||||
33 -> 38 ;
|
||||
32 [label="32: DeclStmt \n *&a:int =0 [line 63]\n " shape="box"]
|
||||
"getRef_ok_deref6" -> "getRef_ok_deref5" ;
|
||||
"getRef_ok_deref5" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 141]\n n$4=*&t:int * [line 141]\n " shape="box"]
|
||||
|
||||
|
||||
32 -> 31 ;
|
||||
31 [label="31: Return Stmt \n n$0=_fun_derefFirstArg3(&a:int *,null:int *) [line 64]\n *&return:int =n$0 [line 64]\n " shape="box"]
|
||||
"getRef_ok_deref5" -> "getRef_ok_deref4" ;
|
||||
"getRef_ok_deref4" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 142]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,&a:int *) [line 142]\n " shape="box"]
|
||||
|
||||
|
||||
31 -> 30 ;
|
||||
30 [label="30: Exit derefFirstArg3_null_deref \n " color=yellow style=filled]
|
||||
"getRef_ok_deref4" -> "getRef_ok_deref3" ;
|
||||
"getRef_ok_deref3" [label="3: Return Stmt \n _=*&t:int * [line 143]\n n$1=*&t:int *& [line 143]\n n$2=*n$1:int * [line 143]\n *&return:int =n$2 [line 143]\n " shape="box"]
|
||||
|
||||
|
||||
29 [label="29: Start derefFirstArg3_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 62]\n " color=yellow style=filled]
|
||||
"getRef_ok_deref3" -> "getRef_ok_deref2" ;
|
||||
"getRef_ok_deref2" [label="2: Exit getRef_ok_deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
29 -> 32 ;
|
||||
28 [label="28: DeclStmt \n *&a:int =0 [line 58]\n " shape="box"]
|
||||
"getRef_ok_deref1" [label="1: Start getRef_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 139]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
28 -> 27 ;
|
||||
27 [label="27: Return Stmt \n n$0=_fun_derefFirstArg3(null:int *,&a:int *) [line 59]\n *&return:int =n$0 [line 59]\n " shape="box"]
|
||||
"getRef_ok_deref1" -> "getRef_ok_deref6" ;
|
||||
"derefFirstArg_ok_deref4" [label="4: DeclStmt \n *&a:int =0 [line 43]\n " shape="box"]
|
||||
|
||||
|
||||
27 -> 26 ;
|
||||
26 [label="26: Exit derefFirstArg3_ok_deref \n " color=yellow style=filled]
|
||||
"derefFirstArg_ok_deref4" -> "derefFirstArg_ok_deref3" ;
|
||||
"derefFirstArg_ok_deref3" [label="3: Return Stmt \n n$0=*&a:int * [line 44]\n *&return:int =n$0 [line 44]\n " shape="box"]
|
||||
|
||||
|
||||
25 [label="25: Start derefFirstArg3_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 57]\n " color=yellow style=filled]
|
||||
"derefFirstArg_ok_deref3" -> "derefFirstArg_ok_deref2" ;
|
||||
"derefFirstArg_ok_deref2" [label="2: Exit derefFirstArg_ok_deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
25 -> 28 ;
|
||||
24 [label="24: DeclStmt \n *&a:int =0 [line 53]\n " shape="box"]
|
||||
"derefFirstArg_ok_deref1" [label="1: Start derefFirstArg_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 42]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
24 -> 23 ;
|
||||
23 [label="23: Return Stmt \n n$0=*&a:int * [line 54]\n *&return:int =n$0 [line 54]\n " shape="box"]
|
||||
"derefFirstArg_ok_deref1" -> "derefFirstArg_ok_deref4" ;
|
||||
"getPtr_null_deref15" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 90]\n n$4=*&t:int * [line 90]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 22 ;
|
||||
22 [label="22: Exit derefFirstArg2_ok_deref \n " color=yellow style=filled]
|
||||
"getPtr_null_deref15" -> "getPtr_null_deref14" ;
|
||||
"getPtr_null_deref14" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 91]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,null:int *) [line 91]\n " shape="box"]
|
||||
|
||||
|
||||
21 [label="21: Start derefFirstArg2_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 52]\n " color=yellow style=filled]
|
||||
"getPtr_null_deref14" -> "getPtr_null_deref13" ;
|
||||
"getPtr_null_deref13" [label="3: Return Stmt \n _=*&t:int * [line 92]\n n$1=*&t:int *& [line 92]\n n$2=*n$1:int [line 92]\n *&return:int =n$2 [line 92]\n " shape="box"]
|
||||
|
||||
|
||||
21 -> 24 ;
|
||||
20 [label="20: DeclStmt \n *&a:int =0 [line 48]\n " shape="box"]
|
||||
"getPtr_null_deref13" -> "getPtr_null_deref12" ;
|
||||
"getPtr_null_deref12" [label="2: Exit getPtr_null_deref1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
20 -> 19 ;
|
||||
19 [label="19: Return Stmt \n n$0=*null:int * [line 49]\n *&return:int =n$0 [line 49]\n " shape="box"]
|
||||
"getPtr_null_deref11" [label="1: Start getPtr_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 89]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
19 -> 18 ;
|
||||
18 [label="18: Exit derefFirstArg2_null_deref \n " color=yellow style=filled]
|
||||
"getPtr_null_deref11" -> "getPtr_null_deref15" ;
|
||||
"derefFirstArg2_ok_deref4" [label="4: DeclStmt \n *&a:int =0 [line 53]\n " shape="box"]
|
||||
|
||||
|
||||
17 [label="17: Start derefFirstArg2_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 47]\n " color=yellow style=filled]
|
||||
"derefFirstArg2_ok_deref4" -> "derefFirstArg2_ok_deref3" ;
|
||||
"derefFirstArg2_ok_deref3" [label="3: Return Stmt \n n$0=*&a:int * [line 54]\n *&return:int =n$0 [line 54]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 20 ;
|
||||
16 [label="16: DeclStmt \n *&a:int =0 [line 43]\n " shape="box"]
|
||||
"derefFirstArg2_ok_deref3" -> "derefFirstArg2_ok_deref2" ;
|
||||
"derefFirstArg2_ok_deref2" [label="2: Exit derefFirstArg2_ok_deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 -> 15 ;
|
||||
15 [label="15: Return Stmt \n n$0=*&a:int * [line 44]\n *&return:int =n$0 [line 44]\n " shape="box"]
|
||||
"derefFirstArg2_ok_deref1" [label="1: Start derefFirstArg2_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 52]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: Exit derefFirstArg_ok_deref \n " color=yellow style=filled]
|
||||
"derefFirstArg2_ok_deref1" -> "derefFirstArg2_ok_deref4" ;
|
||||
"getPtr_ok_deref6" [label="6: DeclStmt \n *&a:int =0 [line 102]\n " shape="box"]
|
||||
|
||||
|
||||
13 [label="13: Start derefFirstArg_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 42]\n " color=yellow style=filled]
|
||||
"getPtr_ok_deref6" -> "getPtr_ok_deref5" ;
|
||||
"getPtr_ok_deref5" [label="5: DeclStmt \n _fun_TranslateAsPtr<int>_TranslateAsPtr(&t:int **,null:int *) [line 103]\n n$4=*&t:int * [line 103]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 16 ;
|
||||
12 [label="12: DeclStmt \n *&a:int =0 [line 38]\n " shape="box"]
|
||||
"getPtr_ok_deref5" -> "getPtr_ok_deref4" ;
|
||||
"getPtr_ok_deref4" [label="4: Call _fun_TranslateAsPtr<int>_setPtr \n _=*&t:int * [line 104]\n _fun_TranslateAsPtr<int>_setPtr(&t:int *&,&a:int *) [line 104]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: Return Stmt \n n$0=*null:int * [line 39]\n *&return:int =n$0 [line 39]\n " shape="box"]
|
||||
"getPtr_ok_deref4" -> "getPtr_ok_deref3" ;
|
||||
"getPtr_ok_deref3" [label="3: Return Stmt \n _=*&t:int * [line 105]\n n$1=*&t:int *& [line 105]\n n$2=*n$1:int [line 105]\n *&return:int =n$2 [line 105]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: Exit derefFirstArg_null_deref \n " color=yellow style=filled]
|
||||
"getPtr_ok_deref3" -> "getPtr_ok_deref2" ;
|
||||
"getPtr_ok_deref2" [label="2: Exit getPtr_ok_deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 [label="9: Start derefFirstArg_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 37]\n " color=yellow style=filled]
|
||||
"getPtr_ok_deref1" [label="1: Start getPtr_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 101]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 12 ;
|
||||
8 [label="8: Return Stmt \n n$0=*&b:int * [line 33]\n n$1=*n$0:int [line 33]\n *&return:int =n$1 [line 33]\n " shape="box"]
|
||||
"getPtr_ok_deref1" -> "getPtr_ok_deref6" ;
|
||||
"TranslateAsPtr<int>_getPtr2" [label="2: Exit TranslateAsPtr<int>_getPtr \n " color=yellow style=filled]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: Exit derefFirstArg3 \n " color=yellow style=filled]
|
||||
"TranslateAsPtr<int>_getPtr1" [label="1: Start TranslateAsPtr<int>_getPtr\nFormals: this:int ** a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 79]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 [label="6: Start derefFirstArg3\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 31]\n " color=yellow style=filled]
|
||||
"TranslateAsPtr<int>_getPtr1" -> "TranslateAsPtr<int>_getPtr2" ;
|
||||
"derefFirstArg3_ok_deref4" [label="4: DeclStmt \n *&a:int =0 [line 58]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: Return Stmt \n n$0=*&b:int * [line 26]\n n$1=*n$0:int [line 26]\n *&return:int =n$1 [line 26]\n " shape="box"]
|
||||
"derefFirstArg3_ok_deref4" -> "derefFirstArg3_ok_deref3" ;
|
||||
"derefFirstArg3_ok_deref3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(null:int *,&a:int *) [line 59]\n *&return:int =n$0 [line 59]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: Exit derefFirstArg2 \n " color=yellow style=filled]
|
||||
"derefFirstArg3_ok_deref3" -> "derefFirstArg3_ok_deref2" ;
|
||||
"derefFirstArg3_ok_deref2" [label="2: Exit derefFirstArg3_ok_deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
3 [label="3: Start derefFirstArg2\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled]
|
||||
"derefFirstArg3_ok_deref1" [label="1: Start derefFirstArg3_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 57]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
3 -> 5 ;
|
||||
2 [label="2: Exit derefFirstArg \n " color=yellow style=filled]
|
||||
"derefFirstArg3_ok_deref1" -> "derefFirstArg3_ok_deref4" ;
|
||||
"derefFirstArg2" [label="2: Exit derefFirstArg \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start derefFirstArg\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
"derefFirstArg1" [label="1: Start derefFirstArg\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 2 ;
|
||||
"derefFirstArg1" -> "derefFirstArg2" ;
|
||||
}
|
||||
|
@ -1,134 +1,134 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
34 [label="34: DeclStmt \n _fun_binary_conditional::X_X(&a:class binary_conditional::X *) [line 28]\n " shape="box"]
|
||||
"binary_conditional::X_operator_bool3" [label="3: Return Stmt \n *&return:_Bool =1 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
34 -> 28 ;
|
||||
33 [label="33: DeclStmt \n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$1:class binary_conditional::X [line 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X =n$7 [line 29]\n _fun_binary_conditional::X_X(&x:class binary_conditional::X *,&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X &) [line 29]\n " shape="box"]
|
||||
"binary_conditional::X_operator_bool3" -> "binary_conditional::X_operator_bool2" ;
|
||||
"binary_conditional::X_operator_bool2" [label="2: Exit binary_conditional::X_operator_bool \n " color=yellow style=filled]
|
||||
|
||||
|
||||
33 -> 26 ;
|
||||
32 [label="32: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *,&a:class binary_conditional::X &) [line 29]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 29]\n " shape="box"]
|
||||
"binary_conditional::X_operator_bool1" [label="1: Start binary_conditional::X_operator_bool\nFormals: this:class binary_conditional::X *\nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
32 -> 27 ;
|
||||
31 [label="31: ConditinalStmt Branch \n _fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$5:class binary_conditional::X *) [line 29]\n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *,&0$?%__sil_tmpSIL_materialize_temp__n$5:class binary_conditional::X &) [line 29]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 29]\n " shape="box"]
|
||||
"binary_conditional::X_operator_bool1" -> "binary_conditional::X_operator_bool3" ;
|
||||
"binary_conditional::X_X2" [label="2: Exit binary_conditional::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
31 -> 27 ;
|
||||
30 [label="30: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 29]\n " shape="invhouse"]
|
||||
"binary_conditional::X_X1" [label="1: Start binary_conditional::X_X\nFormals: this:class binary_conditional::X * __param_0:class binary_conditional::X &\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
30 -> 32 ;
|
||||
29 [label="29: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 29]\n " shape="invhouse"]
|
||||
"binary_conditional::X_X1" -> "binary_conditional::X_X2" ;
|
||||
"binary_conditional::getX4" [label="4: DeclStmt \n _fun_binary_conditional::X_X(&x:class binary_conditional::X *) [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
29 -> 31 ;
|
||||
28 [label="28: Call _fun_binary_conditional::X_operator_bool \n _fun_binary_conditional::getX(&0$?%__sil_tmp__temp_return_n$3:class binary_conditional::X *) [line 29]\n n$4=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmp__temp_return_n$3:class binary_conditional::X &) [line 29]\n " shape="box"]
|
||||
"binary_conditional::getX4" -> "binary_conditional::getX3" ;
|
||||
"binary_conditional::getX3" [label="3: Return Stmt \n n$0=*&__return_param:class binary_conditional::X * [line 18]\n _fun_binary_conditional::X_X(n$0:class binary_conditional::X *,&x:class binary_conditional::X &) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
28 -> 29 ;
|
||||
28 -> 30 ;
|
||||
27 [label="27: + \n " ]
|
||||
"binary_conditional::getX3" -> "binary_conditional::getX2" ;
|
||||
"binary_conditional::getX2" [label="2: Exit binary_conditional::getX \n " color=yellow style=filled]
|
||||
|
||||
|
||||
27 -> 33 ;
|
||||
26 [label="26: Exit binary_conditional::conditional \n " color=yellow style=filled]
|
||||
"binary_conditional::getX1" [label="1: Start binary_conditional::getX\nFormals: __return_param:class binary_conditional::X *\nLocals: x:class binary_conditional::X \n DECLARE_LOCALS(&return,&x); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
25 [label="25: Start binary_conditional::conditional\nFormals: \nLocals: x:class binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$1:class binary_conditional::X 0$?%__sil_tmp__temp_return_n$3:class binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$5:class binary_conditional::X a:class binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$0,&0$?%__sil_tmpSIL_temp_conditional___n$1,&0$?%__sil_tmp__temp_return_n$3,&0$?%__sil_tmpSIL_materialize_temp__n$5,&a); [line 27]\n " color=yellow style=filled]
|
||||
"binary_conditional::getX1" -> "binary_conditional::getX4" ;
|
||||
"binary_conditional::X_X2" [label="2: Exit binary_conditional::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
25 -> 34 ;
|
||||
24 [label="24: DeclStmt \n _fun_binary_conditional::X_X(&a:class binary_conditional::X *) [line 23]\n " shape="box"]
|
||||
"binary_conditional::X_X1" [label="1: Start binary_conditional::X_X\nFormals: this:class binary_conditional::X *\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
24 -> 22 ;
|
||||
23 [label="23: DeclStmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:class binary_conditional::X [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X =n$5 [line 24]\n _fun_binary_conditional::X_X(&x:class binary_conditional::X *,&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X &) [line 24]\n " shape="box"]
|
||||
"binary_conditional::X_X1" -> "binary_conditional::X_X2" ;
|
||||
"binary_conditional::conditional10" [label="10: DeclStmt \n _fun_binary_conditional::X_X(&a:class binary_conditional::X *) [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 15 ;
|
||||
22 [label="22: BinaryConditinalStmt Init \n _fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *) [line 24]\n " shape="box"]
|
||||
"binary_conditional::conditional10" -> "binary_conditional::conditional4" ;
|
||||
"binary_conditional::conditional9" [label="9: DeclStmt \n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$1:class binary_conditional::X [line 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X =n$7 [line 29]\n _fun_binary_conditional::X_X(&x:class binary_conditional::X *,&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X &) [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 17 ;
|
||||
21 [label="21: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *,&a:class binary_conditional::X &) [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 24]\n " shape="box"]
|
||||
"binary_conditional::conditional9" -> "binary_conditional::conditional2" ;
|
||||
"binary_conditional::conditional8" [label="8: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *,&a:class binary_conditional::X &) [line 29]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
21 -> 16 ;
|
||||
20 [label="20: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_materialize_temp__n$4:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 24]\n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *,&0$?%__sil_tmpSIL_materialize_temp__n$4:class binary_conditional::X &) [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 24]\n " shape="box"]
|
||||
"binary_conditional::conditional8" -> "binary_conditional::conditional3" ;
|
||||
"binary_conditional::conditional7" [label="7: ConditinalStmt Branch \n _fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$5:class binary_conditional::X *) [line 29]\n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *,&0$?%__sil_tmpSIL_materialize_temp__n$5:class binary_conditional::X &) [line 29]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 16 ;
|
||||
19 [label="19: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 24]\n " shape="invhouse"]
|
||||
"binary_conditional::conditional7" -> "binary_conditional::conditional3" ;
|
||||
"binary_conditional::conditional6" [label="6: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 29]\n " shape="invhouse"]
|
||||
|
||||
|
||||
19 -> 21 ;
|
||||
18 [label="18: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 24]\n " shape="invhouse"]
|
||||
"binary_conditional::conditional6" -> "binary_conditional::conditional8" ;
|
||||
"binary_conditional::conditional5" [label="5: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 29]\n " shape="invhouse"]
|
||||
|
||||
|
||||
18 -> 20 ;
|
||||
17 [label="17: Call _fun_binary_conditional::X_operator_bool \n n$3=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X &) [line 24]\n " shape="box"]
|
||||
"binary_conditional::conditional5" -> "binary_conditional::conditional7" ;
|
||||
"binary_conditional::conditional4" [label="4: Call _fun_binary_conditional::X_operator_bool \n _fun_binary_conditional::getX(&0$?%__sil_tmp__temp_return_n$3:class binary_conditional::X *) [line 29]\n n$4=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmp__temp_return_n$3:class binary_conditional::X &) [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 18 ;
|
||||
17 -> 19 ;
|
||||
16 [label="16: + \n " ]
|
||||
"binary_conditional::conditional4" -> "binary_conditional::conditional5" ;
|
||||
"binary_conditional::conditional4" -> "binary_conditional::conditional6" ;
|
||||
"binary_conditional::conditional3" [label="3: + \n " ]
|
||||
|
||||
|
||||
16 -> 23 ;
|
||||
15 [label="15: Exit binary_conditional::binaryConditional \n " color=yellow style=filled]
|
||||
"binary_conditional::conditional3" -> "binary_conditional::conditional9" ;
|
||||
"binary_conditional::conditional2" [label="2: Exit binary_conditional::conditional \n " color=yellow style=filled]
|
||||
|
||||
|
||||
14 [label="14: Start binary_conditional::binaryConditional\nFormals: \nLocals: x:class binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$2:class binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$4:class binary_conditional::X a:class binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_materialize_temp__n$4,&a); [line 22]\n " color=yellow style=filled]
|
||||
"binary_conditional::conditional1" [label="1: Start binary_conditional::conditional\nFormals: \nLocals: x:class binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$1:class binary_conditional::X 0$?%__sil_tmp__temp_return_n$3:class binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$5:class binary_conditional::X a:class binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$0,&0$?%__sil_tmpSIL_temp_conditional___n$1,&0$?%__sil_tmp__temp_return_n$3,&0$?%__sil_tmpSIL_materialize_temp__n$5,&a); [line 27]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
14 -> 24 ;
|
||||
13 [label="13: DeclStmt \n _fun_binary_conditional::X_X(&x:class binary_conditional::X *) [line 17]\n " shape="box"]
|
||||
"binary_conditional::conditional1" -> "binary_conditional::conditional10" ;
|
||||
"binary_conditional::binaryConditional11" [label="11: DeclStmt \n _fun_binary_conditional::X_X(&a:class binary_conditional::X *) [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 12 ;
|
||||
12 [label="12: Return Stmt \n n$0=*&__return_param:class binary_conditional::X * [line 18]\n _fun_binary_conditional::X_X(n$0:class binary_conditional::X *,&x:class binary_conditional::X &) [line 18]\n " shape="box"]
|
||||
"binary_conditional::binaryConditional11" -> "binary_conditional::binaryConditional9" ;
|
||||
"binary_conditional::binaryConditional10" [label="10: DeclStmt \n n$5=*&0$?%__sil_tmpSIL_temp_conditional___n$2:class binary_conditional::X [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X =n$5 [line 24]\n _fun_binary_conditional::X_X(&x:class binary_conditional::X *,&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X &) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: Exit binary_conditional::getX \n " color=yellow style=filled]
|
||||
"binary_conditional::binaryConditional10" -> "binary_conditional::binaryConditional2" ;
|
||||
"binary_conditional::binaryConditional9" [label="9: BinaryConditinalStmt Init \n _fun_binary_conditional::getX(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
10 [label="10: Start binary_conditional::getX\nFormals: __return_param:class binary_conditional::X *\nLocals: x:class binary_conditional::X \n DECLARE_LOCALS(&return,&x); [line 16]\n " color=yellow style=filled]
|
||||
"binary_conditional::binaryConditional9" -> "binary_conditional::binaryConditional4" ;
|
||||
"binary_conditional::binaryConditional8" [label="8: ConditinalStmt Branch \n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *,&a:class binary_conditional::X &) [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 13 ;
|
||||
9 [label="9: Exit binary_conditional::X_X \n " color=yellow style=filled]
|
||||
"binary_conditional::binaryConditional8" -> "binary_conditional::binaryConditional3" ;
|
||||
"binary_conditional::binaryConditional7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_materialize_temp__n$4:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 24]\n _fun_binary_conditional::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X *,&0$?%__sil_tmpSIL_materialize_temp__n$4:class binary_conditional::X &) [line 24]\n *&0$?%__sil_tmpSIL_temp_conditional___n$2:class binary_conditional::X =&0$?%__sil_tmpSIL_materialize_temp__n$0 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
8 [label="8: Start binary_conditional::X_X\nFormals: this:class binary_conditional::X * __param_0:class binary_conditional::X &\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"binary_conditional::binaryConditional7" -> "binary_conditional::binaryConditional3" ;
|
||||
"binary_conditional::binaryConditional6" [label="6: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
8 -> 9 ;
|
||||
7 [label="7: Exit binary_conditional::X_X \n " color=yellow style=filled]
|
||||
"binary_conditional::binaryConditional6" -> "binary_conditional::binaryConditional8" ;
|
||||
"binary_conditional::binaryConditional5" [label="5: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 [label="6: Start binary_conditional::X_X\nFormals: this:class binary_conditional::X * __param_0:class binary_conditional::X &\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"binary_conditional::binaryConditional5" -> "binary_conditional::binaryConditional7" ;
|
||||
"binary_conditional::binaryConditional4" [label="4: Call _fun_binary_conditional::X_operator_bool \n n$3=_fun_binary_conditional::X_operator_bool(&0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X &) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 7 ;
|
||||
5 [label="5: Exit binary_conditional::X_X \n " color=yellow style=filled]
|
||||
"binary_conditional::binaryConditional4" -> "binary_conditional::binaryConditional5" ;
|
||||
"binary_conditional::binaryConditional4" -> "binary_conditional::binaryConditional6" ;
|
||||
"binary_conditional::binaryConditional3" [label="3: + \n " ]
|
||||
|
||||
|
||||
4 [label="4: Start binary_conditional::X_X\nFormals: this:class binary_conditional::X *\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"binary_conditional::binaryConditional3" -> "binary_conditional::binaryConditional10" ;
|
||||
"binary_conditional::binaryConditional2" [label="2: Exit binary_conditional::binaryConditional \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 5 ;
|
||||
3 [label="3: Return Stmt \n *&return:_Bool =1 [line 13]\n " shape="box"]
|
||||
"binary_conditional::binaryConditional1" [label="1: Start binary_conditional::binaryConditional\nFormals: \nLocals: x:class binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$0:class binary_conditional::X 0$?%__sil_tmpSIL_temp_conditional___n$2:class binary_conditional::X 0$?%__sil_tmpSIL_materialize_temp__n$4:class binary_conditional::X a:class binary_conditional::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$0,&0$?%__sil_tmpSIL_temp_conditional___n$2,&0$?%__sil_tmpSIL_materialize_temp__n$4,&a); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit binary_conditional::X_operator_bool \n " color=yellow style=filled]
|
||||
"binary_conditional::binaryConditional1" -> "binary_conditional::binaryConditional11" ;
|
||||
"binary_conditional::X_X2" [label="2: Exit binary_conditional::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start binary_conditional::X_operator_bool\nFormals: this:class binary_conditional::X *\nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"binary_conditional::X_X1" [label="1: Start binary_conditional::X_X\nFormals: this:class binary_conditional::X * __param_0:class binary_conditional::X &\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"binary_conditional::X_X1" -> "binary_conditional::X_X2" ;
|
||||
}
|
||||
|
@ -1,255 +1,255 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
65 [label="65: Return Stmt \n n$0=_fun_div_temp_lvalue(0:int ,1:int ) [line 47]\n *&return:int =n$0 [line 47]\n " shape="box"]
|
||||
"div1_assign_conditional3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(1:int ) [line 43]\n *&return:int =(1 / n$0) [line 43]\n " shape="box"]
|
||||
|
||||
|
||||
65 -> 64 ;
|
||||
64 [label="64: Exit div1_temp_lvalue \n " color=yellow style=filled]
|
||||
"div1_assign_conditional3" -> "div1_assign_conditional2" ;
|
||||
"div1_assign_conditional2" [label="2: Exit div1_assign_conditional \n " color=yellow style=filled]
|
||||
|
||||
|
||||
63 [label="63: Start div1_temp_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 47]\n " color=yellow style=filled]
|
||||
"div1_assign_conditional1" [label="1: Start div1_assign_conditional\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 43]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
63 -> 65 ;
|
||||
62 [label="62: Return Stmt \n n$0=_fun_div_temp_lvalue(1:int ,0:int ) [line 45]\n *&return:int =n$0 [line 45]\n " shape="box"]
|
||||
"div1_assign_conditional1" -> "div1_assign_conditional3" ;
|
||||
"choose_lvalue11" [label="11: DeclStmt \n *&v1:int =0 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
62 -> 61 ;
|
||||
61 [label="61: Exit div0_temp_lvalue \n " color=yellow style=filled]
|
||||
"choose_lvalue11" -> "choose_lvalue10" ;
|
||||
"choose_lvalue10" [label="10: DeclStmt \n *&v2:int =1 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
60 [label="60: Start div0_temp_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 45]\n " color=yellow style=filled]
|
||||
"choose_lvalue10" -> "choose_lvalue5" ;
|
||||
"choose_lvalue10" -> "choose_lvalue6" ;
|
||||
"choose_lvalue9" [label="9: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int & [line 12]\n n$4=*n$3:int [line 12]\n *&v3:int =n$4 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
60 -> 62 ;
|
||||
59 [label="59: Return Stmt \n n$0=_fun_assign_conditional(1:int ) [line 43]\n *&return:int =(1 / n$0) [line 43]\n " shape="box"]
|
||||
"choose_lvalue9" -> "choose_lvalue3" ;
|
||||
"choose_lvalue8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v2 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
59 -> 58 ;
|
||||
58 [label="58: Exit div1_assign_conditional \n " color=yellow style=filled]
|
||||
"choose_lvalue8" -> "choose_lvalue4" ;
|
||||
"choose_lvalue7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v1 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
57 [label="57: Start div1_assign_conditional\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 43]\n " color=yellow style=filled]
|
||||
"choose_lvalue7" -> "choose_lvalue4" ;
|
||||
"choose_lvalue6" [label="6: Prune (false branch) \n n$2=*&a:int [line 12]\n PRUNE((n$2 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
57 -> 59 ;
|
||||
56 [label="56: Return Stmt \n n$0=_fun_assign_conditional(0:int ) [line 41]\n *&return:int =(1 / n$0) [line 41]\n " shape="box"]
|
||||
"choose_lvalue6" -> "choose_lvalue8" ;
|
||||
"choose_lvalue5" [label="5: Prune (true branch) \n n$2=*&a:int [line 12]\n PRUNE((n$2 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
|
||||
|
||||
56 -> 55 ;
|
||||
55 [label="55: Exit div0_assign_conditional \n " color=yellow style=filled]
|
||||
"choose_lvalue5" -> "choose_lvalue7" ;
|
||||
"choose_lvalue4" [label="4: + \n " ]
|
||||
|
||||
|
||||
54 [label="54: Start div0_assign_conditional\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 41]\n " color=yellow style=filled]
|
||||
"choose_lvalue4" -> "choose_lvalue9" ;
|
||||
"choose_lvalue3" [label="3: Return Stmt \n n$0=*&v3:int [line 13]\n *&return:int =n$0 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
54 -> 56 ;
|
||||
53 [label="53: Return Stmt \n n$0=_fun_choose_rvalue(0:int ) [line 39]\n *&return:int =(1 / n$0) [line 39]\n " shape="box"]
|
||||
"choose_lvalue3" -> "choose_lvalue2" ;
|
||||
"choose_lvalue2" [label="2: Exit choose_lvalue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
53 -> 52 ;
|
||||
52 [label="52: Exit div1_choose_rvalue \n " color=yellow style=filled]
|
||||
"choose_lvalue1" [label="1: Start choose_lvalue\nFormals: a:int \nLocals: v3:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int & v2:int v1:int \n DECLARE_LOCALS(&return,&v3,&0$?%__sil_tmpSIL_temp_conditional___n$1,&v2,&v1); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
51 [label="51: Start div1_choose_rvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 39]\n " color=yellow style=filled]
|
||||
"choose_lvalue1" -> "choose_lvalue11" ;
|
||||
"assign_conditional11" [label="11: DeclStmt \n *&v1:int =0 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
51 -> 53 ;
|
||||
50 [label="50: Return Stmt \n n$0=_fun_choose_rvalue(1:int ) [line 37]\n *&return:int =(1 / n$0) [line 37]\n " shape="box"]
|
||||
"assign_conditional11" -> "assign_conditional10" ;
|
||||
"assign_conditional10" [label="10: DeclStmt \n *&v2:int =0 [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
50 -> 49 ;
|
||||
49 [label="49: Exit div0_choose_rvalue \n " color=yellow style=filled]
|
||||
"assign_conditional10" -> "assign_conditional5" ;
|
||||
"assign_conditional10" -> "assign_conditional6" ;
|
||||
"assign_conditional9" [label="9: BinaryOperatorStmt: Assign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int & [line 24]\n *n$3:int =1 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
48 [label="48: Start div0_choose_rvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 37]\n " color=yellow style=filled]
|
||||
"assign_conditional9" -> "assign_conditional3" ;
|
||||
"assign_conditional8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v2 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
48 -> 50 ;
|
||||
47 [label="47: Return Stmt \n n$0=_fun_choose_lvalue(0:int ) [line 35]\n *&return:int =(1 / n$0) [line 35]\n " shape="box"]
|
||||
"assign_conditional8" -> "assign_conditional4" ;
|
||||
"assign_conditional7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v1 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
47 -> 46 ;
|
||||
46 [label="46: Exit div1_choose_lvalue \n " color=yellow style=filled]
|
||||
"assign_conditional7" -> "assign_conditional4" ;
|
||||
"assign_conditional6" [label="6: Prune (false branch) \n n$2=*&a:int [line 24]\n PRUNE((n$2 == 0), false); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
45 [label="45: Start div1_choose_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 35]\n " color=yellow style=filled]
|
||||
"assign_conditional6" -> "assign_conditional8" ;
|
||||
"assign_conditional5" [label="5: Prune (true branch) \n n$2=*&a:int [line 24]\n PRUNE((n$2 != 0), true); [line 24]\n " shape="invhouse"]
|
||||
|
||||
|
||||
45 -> 47 ;
|
||||
44 [label="44: Return Stmt \n n$0=_fun_choose_lvalue(1:int ) [line 33]\n *&return:int =(1 / n$0) [line 33]\n " shape="box"]
|
||||
"assign_conditional5" -> "assign_conditional7" ;
|
||||
"assign_conditional4" [label="4: + \n " ]
|
||||
|
||||
|
||||
44 -> 43 ;
|
||||
43 [label="43: Exit div0_choose_lvalue \n " color=yellow style=filled]
|
||||
"assign_conditional4" -> "assign_conditional9" ;
|
||||
"assign_conditional3" [label="3: Return Stmt \n n$0=*&v1:int [line 25]\n *&return:int =n$0 [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
42 [label="42: Start div0_choose_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 33]\n " color=yellow style=filled]
|
||||
"assign_conditional3" -> "assign_conditional2" ;
|
||||
"assign_conditional2" [label="2: Exit assign_conditional \n " color=yellow style=filled]
|
||||
|
||||
|
||||
42 -> 44 ;
|
||||
41 [label="41: DeclStmt \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int =n$6 [line 29]\n *&r:int &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 29]\n " shape="box"]
|
||||
"assign_conditional1" [label="1: Start assign_conditional\nFormals: a:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int & v2:int v1:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$1,&v2,&v1); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
41 -> 35 ;
|
||||
40 [label="40: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 29]\n " shape="box"]
|
||||
"assign_conditional1" -> "assign_conditional11" ;
|
||||
"div1_temp_lvalue3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(0:int ,1:int ) [line 47]\n *&return:int =n$0 [line 47]\n " shape="box"]
|
||||
|
||||
|
||||
40 -> 36 ;
|
||||
39 [label="39: ConditinalStmt Branch \n n$5=*&b:int [line 29]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =n$5 [line 29]\n " shape="box"]
|
||||
"div1_temp_lvalue3" -> "div1_temp_lvalue2" ;
|
||||
"div1_temp_lvalue2" [label="2: Exit div1_temp_lvalue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
39 -> 36 ;
|
||||
38 [label="38: Prune (false branch) \n n$4=*&a:int [line 29]\n PRUNE((n$4 == 0), false); [line 29]\n " shape="invhouse"]
|
||||
"div1_temp_lvalue1" [label="1: Start div1_temp_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 47]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
38 -> 40 ;
|
||||
37 [label="37: Prune (true branch) \n n$4=*&a:int [line 29]\n PRUNE((n$4 != 0), true); [line 29]\n " shape="invhouse"]
|
||||
"div1_temp_lvalue1" -> "div1_temp_lvalue3" ;
|
||||
"div0_assign_conditional3" [label="3: Return Stmt \n n$0=_fun_assign_conditional(0:int ) [line 41]\n *&return:int =(1 / n$0) [line 41]\n " shape="box"]
|
||||
|
||||
|
||||
37 -> 39 ;
|
||||
36 [label="36: + \n " ]
|
||||
"div0_assign_conditional3" -> "div0_assign_conditional2" ;
|
||||
"div0_assign_conditional2" [label="2: Exit div0_assign_conditional \n " color=yellow style=filled]
|
||||
|
||||
|
||||
36 -> 41 ;
|
||||
35 [label="35: Return Stmt \n n$0=*&r:int & [line 30]\n n$1=*n$0:int [line 30]\n *&return:int =(1 / n$1) [line 30]\n " shape="box"]
|
||||
"div0_assign_conditional1" [label="1: Start div0_assign_conditional\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 41]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
35 -> 34 ;
|
||||
34 [label="34: Exit div_temp_lvalue \n " color=yellow style=filled]
|
||||
"div0_assign_conditional1" -> "div0_assign_conditional3" ;
|
||||
"div0_choose_rvalue3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(1:int ) [line 37]\n *&return:int =(1 / n$0) [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
33 [label="33: Start div_temp_lvalue\nFormals: a:int b:int \nLocals: r:int & 0$?%__sil_tmpSIL_materialize_temp__n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int \n DECLARE_LOCALS(&return,&r,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_temp_conditional___n$3); [line 28]\n " color=yellow style=filled]
|
||||
"div0_choose_rvalue3" -> "div0_choose_rvalue2" ;
|
||||
"div0_choose_rvalue2" [label="2: Exit div0_choose_rvalue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
33 -> 37 ;
|
||||
33 -> 38 ;
|
||||
32 [label="32: DeclStmt \n *&v1:int =0 [line 23]\n " shape="box"]
|
||||
"div0_choose_rvalue1" [label="1: Start div0_choose_rvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 37]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
32 -> 31 ;
|
||||
31 [label="31: DeclStmt \n *&v2:int =0 [line 23]\n " shape="box"]
|
||||
"div0_choose_rvalue1" -> "div0_choose_rvalue3" ;
|
||||
"div1_choose_lvalue3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(0:int ) [line 35]\n *&return:int =(1 / n$0) [line 35]\n " shape="box"]
|
||||
|
||||
|
||||
31 -> 26 ;
|
||||
31 -> 27 ;
|
||||
30 [label="30: BinaryOperatorStmt: Assign \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int & [line 24]\n *n$3:int =1 [line 24]\n " shape="box"]
|
||||
"div1_choose_lvalue3" -> "div1_choose_lvalue2" ;
|
||||
"div1_choose_lvalue2" [label="2: Exit div1_choose_lvalue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
30 -> 24 ;
|
||||
29 [label="29: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v2 [line 24]\n " shape="box"]
|
||||
"div1_choose_lvalue1" [label="1: Start div1_choose_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 35]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
29 -> 25 ;
|
||||
28 [label="28: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v1 [line 24]\n " shape="box"]
|
||||
"div1_choose_lvalue1" -> "div1_choose_lvalue3" ;
|
||||
"div_temp_lvalue9" [label="9: DeclStmt \n n$6=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 29]\n *&0$?%__sil_tmpSIL_materialize_temp__n$2:int =n$6 [line 29]\n *&r:int &=&0$?%__sil_tmpSIL_materialize_temp__n$2 [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
28 -> 25 ;
|
||||
27 [label="27: Prune (false branch) \n n$2=*&a:int [line 24]\n PRUNE((n$2 == 0), false); [line 24]\n " shape="invhouse"]
|
||||
"div_temp_lvalue9" -> "div_temp_lvalue3" ;
|
||||
"div_temp_lvalue8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =1 [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
27 -> 29 ;
|
||||
26 [label="26: Prune (true branch) \n n$2=*&a:int [line 24]\n PRUNE((n$2 != 0), true); [line 24]\n " shape="invhouse"]
|
||||
"div_temp_lvalue8" -> "div_temp_lvalue4" ;
|
||||
"div_temp_lvalue7" [label="7: ConditinalStmt Branch \n n$5=*&b:int [line 29]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =n$5 [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
26 -> 28 ;
|
||||
25 [label="25: + \n " ]
|
||||
"div_temp_lvalue7" -> "div_temp_lvalue4" ;
|
||||
"div_temp_lvalue6" [label="6: Prune (false branch) \n n$4=*&a:int [line 29]\n PRUNE((n$4 == 0), false); [line 29]\n " shape="invhouse"]
|
||||
|
||||
|
||||
25 -> 30 ;
|
||||
24 [label="24: Return Stmt \n n$0=*&v1:int [line 25]\n *&return:int =n$0 [line 25]\n " shape="box"]
|
||||
"div_temp_lvalue6" -> "div_temp_lvalue8" ;
|
||||
"div_temp_lvalue5" [label="5: Prune (true branch) \n n$4=*&a:int [line 29]\n PRUNE((n$4 != 0), true); [line 29]\n " shape="invhouse"]
|
||||
|
||||
|
||||
24 -> 23 ;
|
||||
23 [label="23: Exit assign_conditional \n " color=yellow style=filled]
|
||||
"div_temp_lvalue5" -> "div_temp_lvalue7" ;
|
||||
"div_temp_lvalue4" [label="4: + \n " ]
|
||||
|
||||
|
||||
22 [label="22: Start assign_conditional\nFormals: a:int \nLocals: 0$?%__sil_tmpSIL_temp_conditional___n$1:int & v2:int v1:int \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_temp_conditional___n$1,&v2,&v1); [line 22]\n " color=yellow style=filled]
|
||||
"div_temp_lvalue4" -> "div_temp_lvalue9" ;
|
||||
"div_temp_lvalue3" [label="3: Return Stmt \n n$0=*&r:int & [line 30]\n n$1=*n$0:int [line 30]\n *&return:int =(1 / n$1) [line 30]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 32 ;
|
||||
21 [label="21: DeclStmt \n *&v1:int =0 [line 17]\n " shape="box"]
|
||||
"div_temp_lvalue3" -> "div_temp_lvalue2" ;
|
||||
"div_temp_lvalue2" [label="2: Exit div_temp_lvalue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
21 -> 16 ;
|
||||
21 -> 17 ;
|
||||
20 [label="20: DeclStmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 18]\n *&v3:int =n$4 [line 18]\n " shape="box"]
|
||||
"div_temp_lvalue1" [label="1: Start div_temp_lvalue\nFormals: a:int b:int \nLocals: r:int & 0$?%__sil_tmpSIL_materialize_temp__n$2:int 0$?%__sil_tmpSIL_temp_conditional___n$3:int \n DECLARE_LOCALS(&return,&r,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_temp_conditional___n$3); [line 28]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
20 -> 14 ;
|
||||
19 [label="19: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 18]\n " shape="box"]
|
||||
"div_temp_lvalue1" -> "div_temp_lvalue5" ;
|
||||
"div_temp_lvalue1" -> "div_temp_lvalue6" ;
|
||||
"div0_temp_lvalue3" [label="3: Return Stmt \n n$0=_fun_div_temp_lvalue(1:int ,0:int ) [line 45]\n *&return:int =n$0 [line 45]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 15 ;
|
||||
18 [label="18: ConditinalStmt Branch \n n$3=*&v1:int [line 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$3 [line 18]\n " shape="box"]
|
||||
"div0_temp_lvalue3" -> "div0_temp_lvalue2" ;
|
||||
"div0_temp_lvalue2" [label="2: Exit div0_temp_lvalue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
18 -> 15 ;
|
||||
17 [label="17: Prune (false branch) \n n$2=*&a:int [line 18]\n PRUNE((n$2 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
"div0_temp_lvalue1" [label="1: Start div0_temp_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 45]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 -> 19 ;
|
||||
16 [label="16: Prune (true branch) \n n$2=*&a:int [line 18]\n PRUNE((n$2 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
"div0_temp_lvalue1" -> "div0_temp_lvalue3" ;
|
||||
"div0_choose_lvalue3" [label="3: Return Stmt \n n$0=_fun_choose_lvalue(1:int ) [line 33]\n *&return:int =(1 / n$0) [line 33]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: + \n " ]
|
||||
"div0_choose_lvalue3" -> "div0_choose_lvalue2" ;
|
||||
"div0_choose_lvalue2" [label="2: Exit div0_choose_lvalue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 -> 20 ;
|
||||
14 [label="14: Return Stmt \n n$0=*&v3:int [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"]
|
||||
"div0_choose_lvalue1" [label="1: Start div0_choose_lvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 33]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: Exit choose_rvalue \n " color=yellow style=filled]
|
||||
"div0_choose_lvalue1" -> "div0_choose_lvalue3" ;
|
||||
"div1_choose_rvalue3" [label="3: Return Stmt \n n$0=_fun_choose_rvalue(0:int ) [line 39]\n *&return:int =(1 / n$0) [line 39]\n " shape="box"]
|
||||
|
||||
|
||||
12 [label="12: Start choose_rvalue\nFormals: a:int \nLocals: v3:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int v1:int \n DECLARE_LOCALS(&return,&v3,&0$?%__sil_tmpSIL_temp_conditional___n$1,&v1); [line 16]\n " color=yellow style=filled]
|
||||
"div1_choose_rvalue3" -> "div1_choose_rvalue2" ;
|
||||
"div1_choose_rvalue2" [label="2: Exit div1_choose_rvalue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
12 -> 21 ;
|
||||
11 [label="11: DeclStmt \n *&v1:int =0 [line 11]\n " shape="box"]
|
||||
"div1_choose_rvalue1" [label="1: Start div1_choose_rvalue\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 39]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: DeclStmt \n *&v2:int =1 [line 11]\n " shape="box"]
|
||||
"div1_choose_rvalue1" -> "div1_choose_rvalue3" ;
|
||||
"choose_rvalue10" [label="10: DeclStmt \n *&v1:int =0 [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 5 ;
|
||||
10 -> 6 ;
|
||||
9 [label="9: DeclStmt \n n$3=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int & [line 12]\n n$4=*n$3:int [line 12]\n *&v3:int =n$4 [line 12]\n " shape="box"]
|
||||
"choose_rvalue10" -> "choose_rvalue5" ;
|
||||
"choose_rvalue10" -> "choose_rvalue6" ;
|
||||
"choose_rvalue9" [label="9: DeclStmt \n n$4=*&0$?%__sil_tmpSIL_temp_conditional___n$1:int [line 18]\n *&v3:int =n$4 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 3 ;
|
||||
8 [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v2 [line 12]\n " shape="box"]
|
||||
"choose_rvalue9" -> "choose_rvalue3" ;
|
||||
"choose_rvalue8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =1 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 4 ;
|
||||
7 [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int &=&v1 [line 12]\n " shape="box"]
|
||||
"choose_rvalue8" -> "choose_rvalue4" ;
|
||||
"choose_rvalue7" [label="7: ConditinalStmt Branch \n n$3=*&v1:int [line 18]\n *&0$?%__sil_tmpSIL_temp_conditional___n$1:int =n$3 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 4 ;
|
||||
6 [label="6: Prune (false branch) \n n$2=*&a:int [line 12]\n PRUNE((n$2 == 0), false); [line 12]\n " shape="invhouse"]
|
||||
"choose_rvalue7" -> "choose_rvalue4" ;
|
||||
"choose_rvalue6" [label="6: Prune (false branch) \n n$2=*&a:int [line 18]\n PRUNE((n$2 == 0), false); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: Prune (true branch) \n n$2=*&a:int [line 12]\n PRUNE((n$2 != 0), true); [line 12]\n " shape="invhouse"]
|
||||
"choose_rvalue6" -> "choose_rvalue8" ;
|
||||
"choose_rvalue5" [label="5: Prune (true branch) \n n$2=*&a:int [line 18]\n PRUNE((n$2 != 0), true); [line 18]\n " shape="invhouse"]
|
||||
|
||||
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"choose_rvalue5" -> "choose_rvalue7" ;
|
||||
"choose_rvalue4" [label="4: + \n " ]
|
||||
|
||||
|
||||
4 -> 9 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&v3:int [line 13]\n *&return:int =n$0 [line 13]\n " shape="box"]
|
||||
"choose_rvalue4" -> "choose_rvalue9" ;
|
||||
"choose_rvalue3" [label="3: Return Stmt \n n$0=*&v3:int [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit choose_lvalue \n " color=yellow style=filled]
|
||||
"choose_rvalue3" -> "choose_rvalue2" ;
|
||||
"choose_rvalue2" [label="2: Exit choose_rvalue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start choose_lvalue\nFormals: a:int \nLocals: v3:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int & v2:int v1:int \n DECLARE_LOCALS(&return,&v3,&0$?%__sil_tmpSIL_temp_conditional___n$1,&v2,&v1); [line 10]\n " color=yellow style=filled]
|
||||
"choose_rvalue1" [label="1: Start choose_rvalue\nFormals: a:int \nLocals: v3:int 0$?%__sil_tmpSIL_temp_conditional___n$1:int v1:int \n DECLARE_LOCALS(&return,&v3,&0$?%__sil_tmpSIL_temp_conditional___n$1,&v1); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 11 ;
|
||||
"choose_rvalue1" -> "choose_rvalue10" ;
|
||||
}
|
||||
|
@ -1,118 +1,118 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
31 [label="31: DeclStmt \n _fun_Z_Z(&old:class Z *) [line 40]\n " shape="box"]
|
||||
"Z_Z2" [label="2: Exit Z_Z \n " color=yellow style=filled]
|
||||
|
||||
|
||||
31 -> 30 ;
|
||||
30 [label="30: DeclStmt \n _fun_Z_Z(&z[1]:class Z *,&old:class Z &) [line 41]\n " shape="box"]
|
||||
"Z_Z1" [label="1: Start Z_Z\nFormals: this:class Z *\nLocals: \n DECLARE_LOCALS(&return); [line 27]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
30 -> 29 ;
|
||||
29 [label="29: DeclStmt \n _fun_Z_Z(&z2:class Z *) [line 42]\n " shape="box"]
|
||||
"Z_Z1" -> "Z_Z2" ;
|
||||
"array_of_person4" [label="4: DeclStmt \n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:class Person *) [line 18]\n _fun_Person_Person(&arr[0]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$3:class Person &) [line 18]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:class Person *) [line 18]\n _fun_Person_Person(&arr[1]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$2:class Person &) [line 18]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:class Person *) [line 18]\n _fun_Person_Person(&arr[2]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class Person &) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
29 -> 28 ;
|
||||
28 [label="28: Exit initialization_mixed_styles_not_handled_correctly \n " color=yellow style=filled]
|
||||
"array_of_person4" -> "array_of_person3" ;
|
||||
"array_of_person3" [label="3: Return Stmt \n n$0=*&arr[0].x:int [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
27 [label="27: Start initialization_mixed_styles_not_handled_correctly\nFormals: \nLocals: z2:class Z z:class Z [2] old:class Z \n DECLARE_LOCALS(&return,&z2,&z,&old); [line 39]\n " color=yellow style=filled]
|
||||
"array_of_person3" -> "array_of_person2" ;
|
||||
"array_of_person2" [label="2: Exit array_of_person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
27 -> 31 ;
|
||||
26 [label="26: DeclStmt \n *&z[0].a:int =1 [line 33]\n *&z[0].b:int =2 [line 33]\n *&z[1].a:int =2 [line 33]\n *&z[1].b:int =3 [line 33]\n " shape="box"]
|
||||
"array_of_person1" [label="1: Start array_of_person\nFormals: \nLocals: arr:class Person [10] 0$?%__sil_tmpSIL_materialize_temp__n$1:class Person 0$?%__sil_tmpSIL_materialize_temp__n$2:class Person 0$?%__sil_tmpSIL_materialize_temp__n$3:class Person \n DECLARE_LOCALS(&return,&arr,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
26 -> 25 ;
|
||||
25 [label="25: DeclStmt \n _fun_Z_Z(&z2:class Z *) [line 34]\n " shape="box"]
|
||||
"array_of_person1" -> "array_of_person4" ;
|
||||
"Person_Person2" [label="2: Exit Person_Person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
25 -> 24 ;
|
||||
24 [label="24: Exit initialization_c_style \n " color=yellow style=filled]
|
||||
"Person_Person1" [label="1: Start Person_Person\nFormals: this:class Person *\nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
23 [label="23: Start initialization_c_style\nFormals: \nLocals: z2:class Z z:class Z [2] \n DECLARE_LOCALS(&return,&z2,&z); [line 32]\n " color=yellow style=filled]
|
||||
"Person_Person1" -> "Person_Person2" ;
|
||||
"matrix_of_person4" [label="4: DeclStmt \n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:class Person *) [line 23]\n _fun_Person_Person(&arr[0][0]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$4:class Person &) [line 23]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:class Person *) [line 23]\n _fun_Person_Person(&arr[0][1]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$3:class Person &) [line 23]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:class Person *) [line 23]\n _fun_Person_Person(&arr[1][0]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$2:class Person &) [line 23]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:class Person *) [line 23]\n _fun_Person_Person(&arr[1][1]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class Person &) [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 26 ;
|
||||
22 [label="22: Constructor Init \n n$3=*&this:class Z * [line 27]\n n$4=*&__param_0:class Z & [line 27]\n n$5=*n$4.a:int [line 27]\n *n$3.a:int =n$5 [line 27]\n " shape="box"]
|
||||
"matrix_of_person4" -> "matrix_of_person3" ;
|
||||
"matrix_of_person3" [label="3: Return Stmt \n n$0=*&arr[0][1].x:int [line 24]\n *&return:int =n$0 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 21 ;
|
||||
21 [label="21: Constructor Init \n n$0=*&this:class Z * [line 27]\n n$1=*&__param_0:class Z & [line 27]\n n$2=*n$1.b:int [line 27]\n *n$0.b:int =n$2 [line 27]\n " shape="box"]
|
||||
"matrix_of_person3" -> "matrix_of_person2" ;
|
||||
"matrix_of_person2" [label="2: Exit matrix_of_person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
21 -> 20 ;
|
||||
20 [label="20: Exit Z_Z \n " color=yellow style=filled]
|
||||
"matrix_of_person1" [label="1: Start matrix_of_person\nFormals: \nLocals: arr:class Person [2][2] 0$?%__sil_tmpSIL_materialize_temp__n$1:class Person 0$?%__sil_tmpSIL_materialize_temp__n$2:class Person 0$?%__sil_tmpSIL_materialize_temp__n$3:class Person 0$?%__sil_tmpSIL_materialize_temp__n$4:class Person \n DECLARE_LOCALS(&return,&arr,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_materialize_temp__n$3,&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
19 [label="19: Start Z_Z\nFormals: this:class Z * __param_0:class Z &\nLocals: \n DECLARE_LOCALS(&return); [line 27]\n " color=yellow style=filled]
|
||||
"matrix_of_person1" -> "matrix_of_person4" ;
|
||||
"Person_Person3" [label="3: Constructor Init \n n$0=*&this:class Person * [line 10]\n n$1=*&__param_0:class Person & [line 10]\n n$2=*n$1.x:int [line 10]\n *n$0.x:int =n$2 [line 10]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 22 ;
|
||||
18 [label="18: Exit Z_Z \n " color=yellow style=filled]
|
||||
"Person_Person3" -> "Person_Person2" ;
|
||||
"Person_Person2" [label="2: Exit Person_Person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 [label="17: Start Z_Z\nFormals: this:class Z *\nLocals: \n DECLARE_LOCALS(&return); [line 27]\n " color=yellow style=filled]
|
||||
"Person_Person1" [label="1: Start Person_Person\nFormals: this:class Person * __param_0:class Person &\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 -> 18 ;
|
||||
16 [label="16: DeclStmt \n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$4:class Person *) [line 23]\n _fun_Person_Person(&arr[0][0]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$4:class Person &) [line 23]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:class Person *) [line 23]\n _fun_Person_Person(&arr[0][1]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$3:class Person &) [line 23]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:class Person *) [line 23]\n _fun_Person_Person(&arr[1][0]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$2:class Person &) [line 23]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:class Person *) [line 23]\n _fun_Person_Person(&arr[1][1]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class Person &) [line 23]\n " shape="box"]
|
||||
"Person_Person1" -> "Person_Person3" ;
|
||||
"Person_Person3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 12]\n n$1=*&i:int [line 12]\n *n$0.x:int =n$1 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
16 -> 15 ;
|
||||
15 [label="15: Return Stmt \n n$0=*&arr[0][1].x:int [line 24]\n *&return:int =n$0 [line 24]\n " shape="box"]
|
||||
"Person_Person3" -> "Person_Person2" ;
|
||||
"Person_Person2" [label="2: Exit Person_Person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: Exit matrix_of_person \n " color=yellow style=filled]
|
||||
"Person_Person1" [label="1: Start Person_Person\nFormals: this:class Person * i:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 [label="13: Start matrix_of_person\nFormals: \nLocals: arr:class Person [2][2] 0$?%__sil_tmpSIL_materialize_temp__n$1:class Person 0$?%__sil_tmpSIL_materialize_temp__n$2:class Person 0$?%__sil_tmpSIL_materialize_temp__n$3:class Person 0$?%__sil_tmpSIL_materialize_temp__n$4:class Person \n DECLARE_LOCALS(&return,&arr,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_materialize_temp__n$3,&0$?%__sil_tmpSIL_materialize_temp__n$4); [line 22]\n " color=yellow style=filled]
|
||||
"Person_Person1" -> "Person_Person3" ;
|
||||
"Z_Z4" [label="4: Constructor Init \n n$3=*&this:class Z * [line 27]\n n$4=*&__param_0:class Z & [line 27]\n n$5=*n$4.a:int [line 27]\n *n$3.a:int =n$5 [line 27]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 16 ;
|
||||
12 [label="12: DeclStmt \n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$3:class Person *) [line 18]\n _fun_Person_Person(&arr[0]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$3:class Person &) [line 18]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$2:class Person *) [line 18]\n _fun_Person_Person(&arr[1]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$2:class Person &) [line 18]\n _fun_Person_Person(&0$?%__sil_tmpSIL_materialize_temp__n$1:class Person *) [line 18]\n _fun_Person_Person(&arr[2]:class Person *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class Person &) [line 18]\n " shape="box"]
|
||||
"Z_Z4" -> "Z_Z3" ;
|
||||
"Z_Z3" [label="3: Constructor Init \n n$0=*&this:class Z * [line 27]\n n$1=*&__param_0:class Z & [line 27]\n n$2=*n$1.b:int [line 27]\n *n$0.b:int =n$2 [line 27]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: Return Stmt \n n$0=*&arr[0].x:int [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"]
|
||||
"Z_Z3" -> "Z_Z2" ;
|
||||
"Z_Z2" [label="2: Exit Z_Z \n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: Exit array_of_person \n " color=yellow style=filled]
|
||||
"Z_Z1" [label="1: Start Z_Z\nFormals: this:class Z * __param_0:class Z &\nLocals: \n DECLARE_LOCALS(&return); [line 27]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 [label="9: Start array_of_person\nFormals: \nLocals: arr:class Person [10] 0$?%__sil_tmpSIL_materialize_temp__n$1:class Person 0$?%__sil_tmpSIL_materialize_temp__n$2:class Person 0$?%__sil_tmpSIL_materialize_temp__n$3:class Person \n DECLARE_LOCALS(&return,&arr,&0$?%__sil_tmpSIL_materialize_temp__n$1,&0$?%__sil_tmpSIL_materialize_temp__n$2,&0$?%__sil_tmpSIL_materialize_temp__n$3); [line 17]\n " color=yellow style=filled]
|
||||
"Z_Z1" -> "Z_Z4" ;
|
||||
"initialization_c_style4" [label="4: DeclStmt \n *&z[0].a:int =1 [line 33]\n *&z[0].b:int =2 [line 33]\n *&z[1].a:int =2 [line 33]\n *&z[1].b:int =3 [line 33]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 12 ;
|
||||
8 [label="8: Constructor Init \n n$0=*&this:class Person * [line 10]\n n$1=*&__param_0:class Person & [line 10]\n n$2=*n$1.x:int [line 10]\n *n$0.x:int =n$2 [line 10]\n " shape="box"]
|
||||
"initialization_c_style4" -> "initialization_c_style3" ;
|
||||
"initialization_c_style3" [label="3: DeclStmt \n _fun_Z_Z(&z2:class Z *) [line 34]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: Exit Person_Person \n " color=yellow style=filled]
|
||||
"initialization_c_style3" -> "initialization_c_style2" ;
|
||||
"initialization_c_style2" [label="2: Exit initialization_c_style \n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 [label="6: Start Person_Person\nFormals: this:class Person * __param_0:class Person &\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"initialization_c_style1" [label="1: Start initialization_c_style\nFormals: \nLocals: z2:class Z z:class Z [2] \n DECLARE_LOCALS(&return,&z2,&z); [line 32]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: Exit Person_Person \n " color=yellow style=filled]
|
||||
"initialization_c_style1" -> "initialization_c_style4" ;
|
||||
"initialization_mixed_styles_not_handled_correctly5" [label="5: DeclStmt \n _fun_Z_Z(&old:class Z *) [line 40]\n " shape="box"]
|
||||
|
||||
|
||||
4 [label="4: Start Person_Person\nFormals: this:class Person *\nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"initialization_mixed_styles_not_handled_correctly5" -> "initialization_mixed_styles_not_handled_correctly4" ;
|
||||
"initialization_mixed_styles_not_handled_correctly4" [label="4: DeclStmt \n _fun_Z_Z(&z[1]:class Z *,&old:class Z &) [line 41]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 5 ;
|
||||
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class Person * [line 12]\n n$1=*&i:int [line 12]\n *n$0.x:int =n$1 [line 12]\n " shape="box"]
|
||||
"initialization_mixed_styles_not_handled_correctly4" -> "initialization_mixed_styles_not_handled_correctly3" ;
|
||||
"initialization_mixed_styles_not_handled_correctly3" [label="3: DeclStmt \n _fun_Z_Z(&z2:class Z *) [line 42]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit Person_Person \n " color=yellow style=filled]
|
||||
"initialization_mixed_styles_not_handled_correctly3" -> "initialization_mixed_styles_not_handled_correctly2" ;
|
||||
"initialization_mixed_styles_not_handled_correctly2" [label="2: Exit initialization_mixed_styles_not_handled_correctly \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start Person_Person\nFormals: this:class Person * i:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"initialization_mixed_styles_not_handled_correctly1" [label="1: Start initialization_mixed_styles_not_handled_correctly\nFormals: \nLocals: z2:class Z z:class Z [2] old:class Z \n DECLARE_LOCALS(&return,&z2,&z,&old); [line 39]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"initialization_mixed_styles_not_handled_correctly1" -> "initialization_mixed_styles_not_handled_correctly5" ;
|
||||
}
|
||||
|
@ -1,44 +1,44 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
11 [label="11: DeclStmt \n _fun_X_X(&x1:class X *,0:int ,0:int ) [line 21]\n " shape="box"]
|
||||
"X_div3" [label="3: Return Stmt \n n$0=*&this:class X * [line 15]\n n$1=*n$0.f:int [line 15]\n *&return:int =(1 / n$1) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: DeclStmt \n _fun_X_X(&x2:class X *,1:int ,0:int ) [line 22]\n " shape="box"]
|
||||
"X_div3" -> "X_div2" ;
|
||||
"X_div2" [label="2: Exit X_div \n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: DeclStmt \n _fun_X_X(&x3:class X *,0:int ,1:int ) [line 23]\n " shape="box"]
|
||||
"X_div1" [label="1: Start X_div\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Exit test \n " color=yellow style=filled]
|
||||
"X_div1" -> "X_div3" ;
|
||||
"test5" [label="5: DeclStmt \n _fun_X_X(&x1:class X *,0:int ,0:int ) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
7 [label="7: Start test\nFormals: \nLocals: x3:class X x2:class X x1:class X \n DECLARE_LOCALS(&return,&x3,&x2,&x1); [line 20]\n " color=yellow style=filled]
|
||||
"test5" -> "test4" ;
|
||||
"test4" [label="4: DeclStmt \n _fun_X_X(&x2:class X *,1:int ,0:int ) [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 11 ;
|
||||
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 18]\n n$1=*&a:int [line 18]\n n$2=*&b:int [line 18]\n *n$0.f:int =(n$1 + n$2) [line 18]\n " shape="box"]
|
||||
"test4" -> "test3" ;
|
||||
"test3" [label="3: DeclStmt \n _fun_X_X(&x3:class X *,0:int ,1:int ) [line 23]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit X_X \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start X_X\nFormals: this:class X * a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: x3:class X x2:class X x1:class X \n DECLARE_LOCALS(&return,&x3,&x2,&x1); [line 20]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&this:class X * [line 15]\n n$1=*n$0.f:int [line 15]\n *&return:int =(1 / n$1) [line 15]\n " shape="box"]
|
||||
"test1" -> "test5" ;
|
||||
"X_X3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class X * [line 18]\n n$1=*&a:int [line 18]\n n$2=*&b:int [line 18]\n *n$0.f:int =(n$1 + n$2) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit X_div \n " color=yellow style=filled]
|
||||
"X_X3" -> "X_X2" ;
|
||||
"X_X2" [label="2: Exit X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start X_div\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"X_X1" [label="1: Start X_X\nFormals: this:class X * a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"X_X1" -> "X_X3" ;
|
||||
}
|
||||
|
@ -1,169 +1,169 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
44 [label="44: DeclStmt \n _fun_B_B(&b:class B *,1:int ) [line 55]\n " shape="box"]
|
||||
"f_div04" [label="4: DeclStmt \n _fun_B_B(&b:class B *,0:int ) [line 33]\n " shape="box"]
|
||||
|
||||
|
||||
44 -> 43 ;
|
||||
43 [label="43: DeclStmt \n n$4=*&b.f:int [line 56]\n *&v:int =(1 / n$4) [line 56]\n " shape="box"]
|
||||
"f_div04" -> "f_div03" ;
|
||||
"f_div03" [label="3: Return Stmt \n n$0=*&b.f:int [line 34]\n *&return:int =(1 / n$0) [line 34]\n " shape="box"]
|
||||
|
||||
|
||||
43 -> 42 ;
|
||||
42 [label="42: DeclStmt \n n$3=*&b.f2:int [line 57]\n *&v2:int =(1 / n$3) [line 57]\n " shape="box"]
|
||||
"f_div03" -> "f_div02" ;
|
||||
"f_div02" [label="2: Exit f_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
42 -> 41 ;
|
||||
41 [label="41: DeclStmt \n n$2=*&b.t.v:int [line 58]\n *&v3:int =(1 / n$2) [line 58]\n " shape="box"]
|
||||
"f_div01" [label="1: Start f_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 32]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
41 -> 40 ;
|
||||
40 [label="40: Return Stmt \n n$0=*&v:int [line 59]\n n$1=*&v2:int [line 59]\n *&return:int =(n$0 + n$1) [line 59]\n " shape="box"]
|
||||
"f_div01" -> "f_div04" ;
|
||||
"delegate_constr_f2_div05" [label="5: DeclStmt \n _fun_B_B(&b:class B *,-1:int ,0:int ) [line 49]\n " shape="box"]
|
||||
|
||||
|
||||
40 -> 39 ;
|
||||
39 [label="39: Exit f_f2_div1 \n " color=yellow style=filled]
|
||||
"delegate_constr_f2_div05" -> "delegate_constr_f2_div04" ;
|
||||
"delegate_constr_f2_div04" [label="4: DeclStmt \n n$1=*&b.f:int [line 50]\n *&v:int =(1 / n$1) [line 50]\n " shape="box"]
|
||||
|
||||
|
||||
38 [label="38: Start f_f2_div1\nFormals: \nLocals: v3:int v2:int v:int b:class B \n DECLARE_LOCALS(&return,&v3,&v2,&v,&b); [line 54]\n " color=yellow style=filled]
|
||||
"delegate_constr_f2_div04" -> "delegate_constr_f2_div03" ;
|
||||
"delegate_constr_f2_div03" [label="3: Return Stmt \n n$0=*&b.f2:int [line 51]\n *&return:int =(1 / n$0) [line 51]\n " shape="box"]
|
||||
|
||||
|
||||
38 -> 44 ;
|
||||
37 [label="37: DeclStmt \n _fun_B_B(&b:class B *,-1:int ,0:int ) [line 49]\n " shape="box"]
|
||||
"delegate_constr_f2_div03" -> "delegate_constr_f2_div02" ;
|
||||
"delegate_constr_f2_div02" [label="2: Exit delegate_constr_f2_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
37 -> 36 ;
|
||||
36 [label="36: DeclStmt \n n$1=*&b.f:int [line 50]\n *&v:int =(1 / n$1) [line 50]\n " shape="box"]
|
||||
"delegate_constr_f2_div01" [label="1: Start delegate_constr_f2_div0\nFormals: \nLocals: v:int b:class B \n DECLARE_LOCALS(&return,&v,&b); [line 48]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
36 -> 35 ;
|
||||
35 [label="35: Return Stmt \n n$0=*&b.f2:int [line 51]\n *&return:int =(1 / n$0) [line 51]\n " shape="box"]
|
||||
"delegate_constr_f2_div01" -> "delegate_constr_f2_div05" ;
|
||||
"B_B4" [label="4: Constructor Init \n n$2=*&this:class B * [line 24]\n n$3=*&a:int [line 24]\n n$4=*&b:int [line 24]\n _fun_B_B(n$2:class B *,(n$3 + n$4):int ) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
35 -> 34 ;
|
||||
34 [label="34: Exit delegate_constr_f2_div0 \n " color=yellow style=filled]
|
||||
"B_B4" -> "B_B3" ;
|
||||
"B_B3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class B * [line 24]\n n$1=*&b:int [line 24]\n *n$0.f2:int =n$1 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
33 [label="33: Start delegate_constr_f2_div0\nFormals: \nLocals: v:int b:class B \n DECLARE_LOCALS(&return,&v,&b); [line 48]\n " color=yellow style=filled]
|
||||
"B_B3" -> "B_B2" ;
|
||||
"B_B2" [label="2: Exit B_B \n " color=yellow style=filled]
|
||||
|
||||
|
||||
33 -> 37 ;
|
||||
32 [label="32: DeclStmt \n _fun_B_B(&b:class B *,-1:int ,1:int ) [line 43]\n " shape="box"]
|
||||
"B_B1" [label="1: Start B_B\nFormals: this:class B * a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
32 -> 31 ;
|
||||
31 [label="31: DeclStmt \n n$1=*&b.f2:int [line 44]\n *&v:int =(1 / n$1) [line 44]\n " shape="box"]
|
||||
"B_B1" -> "B_B4" ;
|
||||
"A_A3" [label="3: Constructor Init \n n$0=*&this:class A * [line 12]\n n$1=*&f:int [line 12]\n *n$0.f:int =n$1 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
31 -> 30 ;
|
||||
30 [label="30: Return Stmt \n n$0=*&b.f:int [line 45]\n *&return:int =(1 / n$0) [line 45]\n " shape="box"]
|
||||
"A_A3" -> "A_A2" ;
|
||||
"A_A2" [label="2: Exit A_A \n " color=yellow style=filled]
|
||||
|
||||
|
||||
30 -> 29 ;
|
||||
29 [label="29: Exit delegate_constr_f_div0 \n " color=yellow style=filled]
|
||||
"A_A1" [label="1: Start A_A\nFormals: this:class A * f:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
28 [label="28: Start delegate_constr_f_div0\nFormals: \nLocals: v:int b:class B \n DECLARE_LOCALS(&return,&v,&b); [line 42]\n " color=yellow style=filled]
|
||||
"A_A1" -> "A_A3" ;
|
||||
"f_f2_div17" [label="7: DeclStmt \n _fun_B_B(&b:class B *,1:int ) [line 55]\n " shape="box"]
|
||||
|
||||
|
||||
28 -> 32 ;
|
||||
27 [label="27: DeclStmt \n _fun_B_B(&b:class B *,0:int ) [line 38]\n " shape="box"]
|
||||
"f_f2_div17" -> "f_f2_div16" ;
|
||||
"f_f2_div16" [label="6: DeclStmt \n n$4=*&b.f:int [line 56]\n *&v:int =(1 / n$4) [line 56]\n " shape="box"]
|
||||
|
||||
|
||||
27 -> 26 ;
|
||||
26 [label="26: Return Stmt \n n$0=*&b.t.v:int [line 39]\n *&return:int =(1 / n$0) [line 39]\n " shape="box"]
|
||||
"f_f2_div16" -> "f_f2_div15" ;
|
||||
"f_f2_div15" [label="5: DeclStmt \n n$3=*&b.f2:int [line 57]\n *&v2:int =(1 / n$3) [line 57]\n " shape="box"]
|
||||
|
||||
|
||||
26 -> 25 ;
|
||||
25 [label="25: Exit t_div0 \n " color=yellow style=filled]
|
||||
"f_f2_div15" -> "f_f2_div14" ;
|
||||
"f_f2_div14" [label="4: DeclStmt \n n$2=*&b.t.v:int [line 58]\n *&v3:int =(1 / n$2) [line 58]\n " shape="box"]
|
||||
|
||||
|
||||
24 [label="24: Start t_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 37]\n " color=yellow style=filled]
|
||||
"f_f2_div14" -> "f_f2_div13" ;
|
||||
"f_f2_div13" [label="3: Return Stmt \n n$0=*&v:int [line 59]\n n$1=*&v2:int [line 59]\n *&return:int =(n$0 + n$1) [line 59]\n " shape="box"]
|
||||
|
||||
|
||||
24 -> 27 ;
|
||||
23 [label="23: DeclStmt \n _fun_B_B(&b:class B *,0:int ) [line 33]\n " shape="box"]
|
||||
"f_f2_div13" -> "f_f2_div12" ;
|
||||
"f_f2_div12" [label="2: Exit f_f2_div1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
23 -> 22 ;
|
||||
22 [label="22: Return Stmt \n n$0=*&b.f:int [line 34]\n *&return:int =(1 / n$0) [line 34]\n " shape="box"]
|
||||
"f_f2_div11" [label="1: Start f_f2_div1\nFormals: \nLocals: v3:int v2:int v:int b:class B \n DECLARE_LOCALS(&return,&v3,&v2,&v,&b); [line 54]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
22 -> 21 ;
|
||||
21 [label="21: Exit f_div0 \n " color=yellow style=filled]
|
||||
"f_f2_div11" -> "f_f2_div17" ;
|
||||
"t_div04" [label="4: DeclStmt \n _fun_B_B(&b:class B *,0:int ) [line 38]\n " shape="box"]
|
||||
|
||||
|
||||
20 [label="20: Start f_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 32]\n " color=yellow style=filled]
|
||||
"t_div04" -> "t_div03" ;
|
||||
"t_div03" [label="3: Return Stmt \n n$0=*&b.t.v:int [line 39]\n *&return:int =(1 / n$0) [line 39]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 23 ;
|
||||
19 [label="19: DeclStmt \n _fun_B_B(&b:class B *,0:int ) [line 28]\n " shape="box"]
|
||||
"t_div03" -> "t_div02" ;
|
||||
"t_div02" [label="2: Exit t_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
19 -> 18 ;
|
||||
18 [label="18: Return Stmt \n n$0=*&b.f2:int [line 29]\n *&return:int =(1 / n$0) [line 29]\n " shape="box"]
|
||||
"t_div01" [label="1: Start t_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 37]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: Exit f2_div0 \n " color=yellow style=filled]
|
||||
"t_div01" -> "t_div04" ;
|
||||
"B::T_T3" [label="3: Constructor Init \n n$0=*&this:class B::T * [line 18]\n n$1=*&v:int [line 18]\n *n$0.v:int =n$1 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
16 [label="16: Start f2_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 27]\n " color=yellow style=filled]
|
||||
"B::T_T3" -> "B::T_T2" ;
|
||||
"B::T_T2" [label="2: Exit B::T_T \n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 -> 19 ;
|
||||
15 [label="15: Constructor Init \n n$2=*&this:class B * [line 24]\n n$3=*&a:int [line 24]\n n$4=*&b:int [line 24]\n _fun_B_B(n$2:class B *,(n$3 + n$4):int ) [line 24]\n " shape="box"]
|
||||
"B::T_T1" [label="1: Start B::T_T\nFormals: this:class B::T * v:int \nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: BinaryOperatorStmt: Assign \n n$0=*&this:class B * [line 24]\n n$1=*&b:int [line 24]\n *n$0.f2:int =n$1 [line 24]\n " shape="box"]
|
||||
"B::T_T1" -> "B::T_T3" ;
|
||||
"f2_div04" [label="4: DeclStmt \n _fun_B_B(&b:class B *,0:int ) [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: Exit B_B \n " color=yellow style=filled]
|
||||
"f2_div04" -> "f2_div03" ;
|
||||
"f2_div03" [label="3: Return Stmt \n n$0=*&b.f2:int [line 29]\n *&return:int =(1 / n$0) [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
12 [label="12: Start B_B\nFormals: this:class B * a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled]
|
||||
"f2_div03" -> "f2_div02" ;
|
||||
"f2_div02" [label="2: Exit f2_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
12 -> 15 ;
|
||||
11 [label="11: Constructor Init \n n$4=*&this:class B * [line 22]\n n$5=*&a:int [line 22]\n _fun_A_A(n$4:class B *,n$5:int ) [line 22]\n " shape="box"]
|
||||
"f2_div01" [label="1: Start f2_div0\nFormals: \nLocals: b:class B \n DECLARE_LOCALS(&return,&b); [line 27]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: Constructor Init \n n$2=*&this:class B * [line 22]\n n$3=*&a:int [line 22]\n *n$2.f2:int =n$3 [line 22]\n " shape="box"]
|
||||
"f2_div01" -> "f2_div04" ;
|
||||
"delegate_constr_f_div05" [label="5: DeclStmt \n _fun_B_B(&b:class B *,-1:int ,1:int ) [line 43]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: Constructor Init \n n$0=*&this:class B * [line 22]\n n$1=*&a:int [line 22]\n _fun_B::T_T(n$0.t:class B::T *,n$1:int ) [line 22]\n " shape="box"]
|
||||
"delegate_constr_f_div05" -> "delegate_constr_f_div04" ;
|
||||
"delegate_constr_f_div04" [label="4: DeclStmt \n n$1=*&b.f2:int [line 44]\n *&v:int =(1 / n$1) [line 44]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Exit B_B \n " color=yellow style=filled]
|
||||
"delegate_constr_f_div04" -> "delegate_constr_f_div03" ;
|
||||
"delegate_constr_f_div03" [label="3: Return Stmt \n n$0=*&b.f:int [line 45]\n *&return:int =(1 / n$0) [line 45]\n " shape="box"]
|
||||
|
||||
|
||||
7 [label="7: Start B_B\nFormals: this:class B * a:int \nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled]
|
||||
"delegate_constr_f_div03" -> "delegate_constr_f_div02" ;
|
||||
"delegate_constr_f_div02" [label="2: Exit delegate_constr_f_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 -> 11 ;
|
||||
6 [label="6: Constructor Init \n n$0=*&this:class B::T * [line 18]\n n$1=*&v:int [line 18]\n *n$0.v:int =n$1 [line 18]\n " shape="box"]
|
||||
"delegate_constr_f_div01" [label="1: Start delegate_constr_f_div0\nFormals: \nLocals: v:int b:class B \n DECLARE_LOCALS(&return,&v,&b); [line 42]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit B::T_T \n " color=yellow style=filled]
|
||||
"delegate_constr_f_div01" -> "delegate_constr_f_div05" ;
|
||||
"B_B5" [label="5: Constructor Init \n n$4=*&this:class B * [line 22]\n n$5=*&a:int [line 22]\n _fun_A_A(n$4:class B *,n$5:int ) [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
4 [label="4: Start B::T_T\nFormals: this:class B::T * v:int \nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled]
|
||||
"B_B5" -> "B_B4" ;
|
||||
"B_B4" [label="4: Constructor Init \n n$2=*&this:class B * [line 22]\n n$3=*&a:int [line 22]\n *n$2.f2:int =n$3 [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Constructor Init \n n$0=*&this:class A * [line 12]\n n$1=*&f:int [line 12]\n *n$0.f:int =n$1 [line 12]\n " shape="box"]
|
||||
"B_B4" -> "B_B3" ;
|
||||
"B_B3" [label="3: Constructor Init \n n$0=*&this:class B * [line 22]\n n$1=*&a:int [line 22]\n _fun_B::T_T(n$0.t:class B::T *,n$1:int ) [line 22]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit A_A \n " color=yellow style=filled]
|
||||
"B_B3" -> "B_B2" ;
|
||||
"B_B2" [label="2: Exit B_B \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start A_A\nFormals: this:class A * f:int \nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled]
|
||||
"B_B1" [label="1: Start B_B\nFormals: this:class B * a:int \nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"B_B1" -> "B_B5" ;
|
||||
}
|
||||
|
@ -1,377 +1,377 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
97 [label="97: DeclStmt \n n$2=_fun___new_array((sizeof(class constructor_new::Person *) * 10):unsigned long ) [line 99]\n *&tarray:class constructor_new::Person **=n$2 [line 99]\n " shape="box"]
|
||||
"constructor_new::Person_Person5" [label="5: BinaryOperatorStmt: Assign \n n$4=*&this:class constructor_new::Person * [line 18]\n n$5=*&i:int [line 18]\n *n$4.x:int =n$5 [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
97 -> 96 ;
|
||||
96 [label="96: BinaryOperatorStmt: Assign \n n$0=*&tarray:class constructor_new::Person ** [line 100]\n n$1=_fun___new_array((sizeof(class constructor_new::Person ) * 10):unsigned long ) [line 100]\n _fun_constructor_new::Person_Person(n$1[0]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[1]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[2]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[3]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[4]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[5]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[6]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[7]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[8]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[9]:class constructor_new::Person *) [line 100]\n *n$0[0]:class constructor_new::Person *=n$1 [line 100]\n " shape="box"]
|
||||
"constructor_new::Person_Person5" -> "constructor_new::Person_Person4" ;
|
||||
"constructor_new::Person_Person4" [label="4: BinaryOperatorStmt: Assign \n n$2=*&this:class constructor_new::Person * [line 19]\n n$3=*&j:int [line 19]\n *n$2.y:int =n$3 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
96 -> 95 ;
|
||||
95 [label="95: Exit constructor_new::matrix_of_person \n " color=yellow style=filled]
|
||||
"constructor_new::Person_Person4" -> "constructor_new::Person_Person3" ;
|
||||
"constructor_new::Person_Person3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_new::Person * [line 20]\n n$1=*&k:int [line 20]\n *n$0.z:int =n$1 [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
94 [label="94: Start constructor_new::matrix_of_person\nFormals: \nLocals: tarray:class constructor_new::Person ** \n DECLARE_LOCALS(&return,&tarray); [line 98]\n " color=yellow style=filled]
|
||||
"constructor_new::Person_Person3" -> "constructor_new::Person_Person2" ;
|
||||
"constructor_new::Person_Person2" [label="2: Exit constructor_new::Person_Person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
94 -> 97 ;
|
||||
93 [label="93: DeclStmt \n n$0=_fun___new_array((sizeof(class constructor_new::Person ) * 10):unsigned long ) [line 95]\n _fun_constructor_new::Person_Person(n$0[0]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[1]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[2]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[3]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[4]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[5]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[6]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[7]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[8]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[9]:class constructor_new::Person *) [line 95]\n *&tarray:class constructor_new::Person *=n$0 [line 95]\n " shape="box"]
|
||||
"constructor_new::Person_Person1" [label="1: Start constructor_new::Person_Person\nFormals: this:class constructor_new::Person * i:int j:int k:int \nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
93 -> 92 ;
|
||||
92 [label="92: Exit constructor_new::array_of_person_with_constant_size \n " color=yellow style=filled]
|
||||
"constructor_new::Person_Person1" -> "constructor_new::Person_Person5" ;
|
||||
"constructor_new::int_init_number4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 40]\n *n$2:int =5 [line 40]\n *&x1:int *=n$2 [line 40]\n " shape="box"]
|
||||
|
||||
|
||||
91 [label="91: Start constructor_new::array_of_person_with_constant_size\nFormals: \nLocals: tarray:class constructor_new::Person * \n DECLARE_LOCALS(&return,&tarray); [line 95]\n " color=yellow style=filled]
|
||||
"constructor_new::int_init_number4" -> "constructor_new::int_init_number3" ;
|
||||
"constructor_new::int_init_number3" [label="3: Return Stmt \n n$0=*&x1:int * [line 41]\n n$1=*n$0:int [line 41]\n *&return:int =(1 / (n$1 - 5)) [line 41]\n " shape="box"]
|
||||
|
||||
|
||||
91 -> 93 ;
|
||||
90 [label="90: DeclStmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 91]\n n$3=_fun___new_array((sizeof(class constructor_new::Person ) * n$2):unsigned long ) [line 91]\n *&tarray:class constructor_new::Person *=n$3 [line 91]\n " shape="box"]
|
||||
"constructor_new::int_init_number3" -> "constructor_new::int_init_number2" ;
|
||||
"constructor_new::int_init_number2" [label="2: Exit constructor_new::int_init_number \n " color=yellow style=filled]
|
||||
|
||||
|
||||
90 -> 83 ;
|
||||
89 [label="89: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =3 [line 91]\n " shape="box"]
|
||||
"constructor_new::int_init_number1" [label="1: Start constructor_new::int_init_number\nFormals: \nLocals: x1:int * \n DECLARE_LOCALS(&return,&x1); [line 39]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
89 -> 84 ;
|
||||
88 [label="88: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =5 [line 91]\n " shape="box"]
|
||||
"constructor_new::int_init_number1" -> "constructor_new::int_init_number4" ;
|
||||
"constructor_new::constructor_1_arg_new_div04" [label="4: DeclStmt \n n$2=_fun___new(sizeof(class constructor_new::Person ):unsigned long ) [line 30]\n _fun_constructor_new::Person_Person(n$2:class constructor_new::Person *,5:int ) [line 30]\n *&p:class constructor_new::Person *=n$2 [line 30]\n " shape="box"]
|
||||
|
||||
|
||||
88 -> 84 ;
|
||||
87 [label="87: Prune (false branch) \n PRUNE(((n$1 == 5) == 0), false); [line 91]\n " shape="invhouse"]
|
||||
"constructor_new::constructor_1_arg_new_div04" -> "constructor_new::constructor_1_arg_new_div03" ;
|
||||
"constructor_new::constructor_1_arg_new_div03" [label="3: Return Stmt \n n$0=*&p:class constructor_new::Person * [line 31]\n n$1=*n$0.x:int [line 31]\n *&return:int =(1 / (n$1 - 5)) [line 31]\n " shape="box"]
|
||||
|
||||
|
||||
87 -> 89 ;
|
||||
86 [label="86: Prune (true branch) \n PRUNE(((n$1 == 5) != 0), true); [line 91]\n " shape="invhouse"]
|
||||
"constructor_new::constructor_1_arg_new_div03" -> "constructor_new::constructor_1_arg_new_div02" ;
|
||||
"constructor_new::constructor_1_arg_new_div02" [label="2: Exit constructor_new::constructor_1_arg_new_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
86 -> 88 ;
|
||||
85 [label="85: BinaryOperatorStmt: EQ \n n$1=_fun_constructor_new::getValue(5:int ) [line 91]\n " shape="box"]
|
||||
"constructor_new::constructor_1_arg_new_div01" [label="1: Start constructor_new::constructor_1_arg_new_div0\nFormals: \nLocals: p:class constructor_new::Person * \n DECLARE_LOCALS(&return,&p); [line 29]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
85 -> 86 ;
|
||||
85 -> 87 ;
|
||||
84 [label="84: + \n " ]
|
||||
"constructor_new::constructor_1_arg_new_div01" -> "constructor_new::constructor_1_arg_new_div04" ;
|
||||
"constructor_new::int_init_nodes12" [label="12: DeclStmt \n *&z:int =6 [line 65]\n " shape="box"]
|
||||
|
||||
|
||||
84 -> 90 ;
|
||||
83 [label="83: Exit constructor_new::array_of_class_with_not_constant_size \n " color=yellow style=filled]
|
||||
"constructor_new::int_init_nodes12" -> "constructor_new::int_init_nodes11" ;
|
||||
"constructor_new::int_init_nodes11" [label="11: DeclStmt \n n$9=_fun___new(sizeof(int ):unsigned long ) [line 66]\n n$10=_fun_constructor_new::getValue(4:int ) [line 66]\n *n$9:int =n$10 [line 66]\n *&y:int *=n$9 [line 66]\n " shape="box"]
|
||||
|
||||
|
||||
82 [label="82: Start constructor_new::array_of_class_with_not_constant_size\nFormals: \nLocals: tarray:class constructor_new::Person * 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&tarray,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 90]\n " color=yellow style=filled]
|
||||
"constructor_new::int_init_nodes11" -> "constructor_new::int_init_nodes5" ;
|
||||
"constructor_new::int_init_nodes10" [label="10: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 67]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 67]\n *n$2:int =n$8 [line 67]\n *&x:int *=n$2 [line 67]\n " shape="box"]
|
||||
|
||||
|
||||
82 -> 85 ;
|
||||
81 [label="81: DeclStmt \n n$10=_fun___new_array((sizeof(int ) * 100):unsigned long ) [line 85]\n *n$10[0]:int =1 [line 85]\n *n$10[1]:int =2 [line 85]\n *n$10[2]:int =3 [line 85]\n *n$10[3]:int =4 [line 85]\n *n$10[4]:int =5 [line 85]\n *n$10[5]:int =6 [line 85]\n *n$10[6]:int =7 [line 85]\n *n$10[7]:int =8 [line 85]\n *n$10[8]:int =9 [line 85]\n *n$10[9]:int =10 [line 85]\n *&arr:int *=n$10 [line 85]\n " shape="box"]
|
||||
"constructor_new::int_init_nodes10" -> "constructor_new::int_init_nodes3" ;
|
||||
"constructor_new::int_init_nodes9" [label="9: ConditinalStmt Branch \n n$6=*&y:int * [line 67]\n n$7=*n$6:int [line 67]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =(1 + n$7) [line 67]\n " shape="box"]
|
||||
|
||||
|
||||
81 -> 80 ;
|
||||
80 [label="80: Return Stmt \n n$0=*&arr:int * [line 86]\n n$1=*n$0[0]:int [line 86]\n n$2=*&arr:int * [line 86]\n n$3=*n$2[1]:int [line 86]\n n$4=*&arr:int * [line 86]\n n$5=*n$4[2]:int [line 86]\n n$6=*&arr:int * [line 86]\n n$7=*n$6[3]:int [line 86]\n n$8=*&arr:int * [line 86]\n n$9=*n$8[4]:int [line 86]\n *&return:int =(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 86]\n " shape="box"]
|
||||
"constructor_new::int_init_nodes9" -> "constructor_new::int_init_nodes4" ;
|
||||
"constructor_new::int_init_nodes8" [label="8: ConditinalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int ) [line 67]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =n$5 [line 67]\n " shape="box"]
|
||||
|
||||
|
||||
80 -> 79 ;
|
||||
79 [label="79: Exit constructor_new::int_array_init \n " color=yellow style=filled]
|
||||
"constructor_new::int_init_nodes8" -> "constructor_new::int_init_nodes4" ;
|
||||
"constructor_new::int_init_nodes7" [label="7: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 67]\n " shape="invhouse"]
|
||||
|
||||
|
||||
78 [label="78: Start constructor_new::int_array_init\nFormals: \nLocals: arr:int * \n DECLARE_LOCALS(&return,&arr); [line 84]\n " color=yellow style=filled]
|
||||
"constructor_new::int_init_nodes7" -> "constructor_new::int_init_nodes9" ;
|
||||
"constructor_new::int_init_nodes6" [label="6: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 67]\n " shape="invhouse"]
|
||||
|
||||
|
||||
78 -> 81 ;
|
||||
77 [label="77: DeclStmt \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 78]\n n$10=_fun___new_array((sizeof(int ) * n$9):unsigned long ) [line 78]\n *&x2:int *=n$10 [line 78]\n " shape="box"]
|
||||
"constructor_new::int_init_nodes6" -> "constructor_new::int_init_nodes8" ;
|
||||
"constructor_new::int_init_nodes5" [label="5: Call _fun_constructor_new::getValue \n n$4=_fun_constructor_new::getValue(0:int ) [line 67]\n " shape="box"]
|
||||
|
||||
|
||||
77 -> 70 ;
|
||||
76 [label="76: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =3 [line 78]\n " shape="box"]
|
||||
"constructor_new::int_init_nodes5" -> "constructor_new::int_init_nodes6" ;
|
||||
"constructor_new::int_init_nodes5" -> "constructor_new::int_init_nodes7" ;
|
||||
"constructor_new::int_init_nodes4" [label="4: + \n " ]
|
||||
|
||||
|
||||
76 -> 71 ;
|
||||
75 [label="75: ConditinalStmt Branch \n n$8=_fun_constructor_new::getValue(5:int ) [line 78]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =n$8 [line 78]\n " shape="box"]
|
||||
"constructor_new::int_init_nodes4" -> "constructor_new::int_init_nodes10" ;
|
||||
"constructor_new::int_init_nodes3" [label="3: Return Stmt \n n$0=*&x:int * [line 68]\n n$1=*n$0:int [line 68]\n *&return:int =(1 / (n$1 - 5)) [line 68]\n " shape="box"]
|
||||
|
||||
|
||||
75 -> 71 ;
|
||||
74 [label="74: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 78]\n " shape="invhouse"]
|
||||
"constructor_new::int_init_nodes3" -> "constructor_new::int_init_nodes2" ;
|
||||
"constructor_new::int_init_nodes2" [label="2: Exit constructor_new::int_init_nodes \n " color=yellow style=filled]
|
||||
|
||||
|
||||
74 -> 76 ;
|
||||
73 [label="73: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 78]\n " shape="invhouse"]
|
||||
"constructor_new::int_init_nodes1" [label="1: Start constructor_new::int_init_nodes\nFormals: \nLocals: x:int * 0$?%__sil_tmpSIL_temp_conditional___n$3:int y:int * z:int \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$3,&y,&z); [line 64]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
73 -> 75 ;
|
||||
72 [label="72: Call _fun_constructor_new::getValue \n n$7=_fun_constructor_new::getValue(5:int ) [line 78]\n " shape="box"]
|
||||
"constructor_new::int_init_nodes1" -> "constructor_new::int_init_nodes12" ;
|
||||
"constructor_new::float_init_number4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(float ):unsigned long ) [line 45]\n *n$2:float =5.400000 [line 45]\n *&x1:float *=n$2 [line 45]\n " shape="box"]
|
||||
|
||||
|
||||
72 -> 73 ;
|
||||
72 -> 74 ;
|
||||
71 [label="71: + \n " ]
|
||||
"constructor_new::float_init_number4" -> "constructor_new::float_init_number3" ;
|
||||
"constructor_new::float_init_number3" [label="3: Return Stmt \n n$0=*&x1:float * [line 46]\n n$1=*n$0:float [line 46]\n *&return:float =(1 / (n$1 - 5.400000)) [line 46]\n " shape="box"]
|
||||
|
||||
|
||||
71 -> 77 ;
|
||||
70 [label="70: BinaryOperatorStmt: Assign \n n$5=*&x2:int * [line 79]\n *n$5[0]:int =1 [line 79]\n " shape="box"]
|
||||
"constructor_new::float_init_number3" -> "constructor_new::float_init_number2" ;
|
||||
"constructor_new::float_init_number2" [label="2: Exit constructor_new::float_init_number \n " color=yellow style=filled]
|
||||
|
||||
|
||||
70 -> 69 ;
|
||||
69 [label="69: BinaryOperatorStmt: Assign \n n$4=*&x2:int * [line 80]\n *n$4[1]:int =2 [line 80]\n " shape="box"]
|
||||
"constructor_new::float_init_number1" [label="1: Start constructor_new::float_init_number\nFormals: \nLocals: x1:float * \n DECLARE_LOCALS(&return,&x1); [line 44]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
69 -> 68 ;
|
||||
68 [label="68: Return Stmt \n n$0=*&x2:int * [line 81]\n n$1=*n$0[0]:int [line 81]\n n$2=*&x2:int * [line 81]\n n$3=*n$2[1]:int [line 81]\n *&return:int =(1 / ((n$1 + n$3) - 3)) [line 81]\n " shape="box"]
|
||||
"constructor_new::float_init_number1" -> "constructor_new::float_init_number4" ;
|
||||
"constructor_new::int_init_empty_list4" [label="4: DeclStmt \n *&x1:int =0 [line 55]\n " shape="box"]
|
||||
|
||||
|
||||
68 -> 67 ;
|
||||
67 [label="67: Exit constructor_new::int_array \n " color=yellow style=filled]
|
||||
"constructor_new::int_init_empty_list4" -> "constructor_new::int_init_empty_list3" ;
|
||||
"constructor_new::int_init_empty_list3" [label="3: Return Stmt \n n$0=*&x1:int [line 56]\n *&return:int =(1 / n$0) [line 56]\n " shape="box"]
|
||||
|
||||
|
||||
66 [label="66: Start constructor_new::int_array\nFormals: \nLocals: x2:int * 0$?%__sil_tmpSIL_temp_conditional___n$6:int \n DECLARE_LOCALS(&return,&x2,&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 77]\n " color=yellow style=filled]
|
||||
"constructor_new::int_init_empty_list3" -> "constructor_new::int_init_empty_list2" ;
|
||||
"constructor_new::int_init_empty_list2" [label="2: Exit constructor_new::int_init_empty_list \n " color=yellow style=filled]
|
||||
|
||||
|
||||
66 -> 72 ;
|
||||
65 [label="65: DeclStmt \n *&z:int =6 [line 72]\n " shape="box"]
|
||||
"constructor_new::int_init_empty_list1" [label="1: Start constructor_new::int_init_empty_list\nFormals: \nLocals: x1:int \n DECLARE_LOCALS(&return,&x1); [line 54]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
65 -> 59 ;
|
||||
64 [label="64: DeclStmt \n n$2=_fun___new(sizeof(class constructor_new::Person ):unsigned long ) [line 73]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 73]\n _fun_constructor_new::Person_Person(n$2:class constructor_new::Person *,n$7:int ) [line 73]\n *&p:class constructor_new::Person *=n$2 [line 73]\n " shape="box"]
|
||||
"constructor_new::int_init_empty_list1" -> "constructor_new::int_init_empty_list4" ;
|
||||
"constructor_new::Person_Person3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_new::Person * [line 14]\n *n$0.x:int =0 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
64 -> 57 ;
|
||||
63 [label="63: ConditinalStmt Branch \n n$6=*&z:int [line 73]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =(1 + n$6) [line 73]\n " shape="box"]
|
||||
"constructor_new::Person_Person3" -> "constructor_new::Person_Person2" ;
|
||||
"constructor_new::Person_Person2" [label="2: Exit constructor_new::Person_Person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
63 -> 58 ;
|
||||
62 [label="62: ConditinalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int ) [line 73]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =n$5 [line 73]\n " shape="box"]
|
||||
"constructor_new::Person_Person1" [label="1: Start constructor_new::Person_Person\nFormals: this:class constructor_new::Person *\nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
62 -> 58 ;
|
||||
61 [label="61: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 73]\n " shape="invhouse"]
|
||||
"constructor_new::Person_Person1" -> "constructor_new::Person_Person3" ;
|
||||
"constructor_new::array_of_class_with_not_constant_size9" [label="9: DeclStmt \n n$2=*&0$?%__sil_tmpSIL_temp_conditional___n$0:int [line 91]\n n$3=_fun___new_array((sizeof(class constructor_new::Person ) * n$2):unsigned long ) [line 91]\n *&tarray:class constructor_new::Person *=n$3 [line 91]\n " shape="box"]
|
||||
|
||||
|
||||
61 -> 63 ;
|
||||
60 [label="60: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 73]\n " shape="invhouse"]
|
||||
"constructor_new::array_of_class_with_not_constant_size9" -> "constructor_new::array_of_class_with_not_constant_size2" ;
|
||||
"constructor_new::array_of_class_with_not_constant_size8" [label="8: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =3 [line 91]\n " shape="box"]
|
||||
|
||||
|
||||
60 -> 62 ;
|
||||
59 [label="59: Call _fun_constructor_new::getValue \n n$4=_fun_constructor_new::getValue(0:int ) [line 73]\n " shape="box"]
|
||||
"constructor_new::array_of_class_with_not_constant_size8" -> "constructor_new::array_of_class_with_not_constant_size3" ;
|
||||
"constructor_new::array_of_class_with_not_constant_size7" [label="7: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$0:int =5 [line 91]\n " shape="box"]
|
||||
|
||||
|
||||
59 -> 60 ;
|
||||
59 -> 61 ;
|
||||
58 [label="58: + \n " ]
|
||||
"constructor_new::array_of_class_with_not_constant_size7" -> "constructor_new::array_of_class_with_not_constant_size3" ;
|
||||
"constructor_new::array_of_class_with_not_constant_size6" [label="6: Prune (false branch) \n PRUNE(((n$1 == 5) == 0), false); [line 91]\n " shape="invhouse"]
|
||||
|
||||
|
||||
58 -> 64 ;
|
||||
57 [label="57: Return Stmt \n n$0=*&p:class constructor_new::Person * [line 74]\n n$1=*n$0.x:int [line 74]\n *&return:int =(1 / (n$1 - 7)) [line 74]\n " shape="box"]
|
||||
"constructor_new::array_of_class_with_not_constant_size6" -> "constructor_new::array_of_class_with_not_constant_size8" ;
|
||||
"constructor_new::array_of_class_with_not_constant_size5" [label="5: Prune (true branch) \n PRUNE(((n$1 == 5) != 0), true); [line 91]\n " shape="invhouse"]
|
||||
|
||||
|
||||
57 -> 56 ;
|
||||
56 [label="56: Exit constructor_new::constructor_nodes \n " color=yellow style=filled]
|
||||
"constructor_new::array_of_class_with_not_constant_size5" -> "constructor_new::array_of_class_with_not_constant_size7" ;
|
||||
"constructor_new::array_of_class_with_not_constant_size4" [label="4: BinaryOperatorStmt: EQ \n n$1=_fun_constructor_new::getValue(5:int ) [line 91]\n " shape="box"]
|
||||
|
||||
|
||||
55 [label="55: Start constructor_new::constructor_nodes\nFormals: \nLocals: p:class constructor_new::Person * 0$?%__sil_tmpSIL_temp_conditional___n$3:int z:int \n DECLARE_LOCALS(&return,&p,&0$?%__sil_tmpSIL_temp_conditional___n$3,&z); [line 71]\n " color=yellow style=filled]
|
||||
"constructor_new::array_of_class_with_not_constant_size4" -> "constructor_new::array_of_class_with_not_constant_size5" ;
|
||||
"constructor_new::array_of_class_with_not_constant_size4" -> "constructor_new::array_of_class_with_not_constant_size6" ;
|
||||
"constructor_new::array_of_class_with_not_constant_size3" [label="3: + \n " ]
|
||||
|
||||
|
||||
55 -> 65 ;
|
||||
54 [label="54: DeclStmt \n *&z:int =6 [line 65]\n " shape="box"]
|
||||
"constructor_new::array_of_class_with_not_constant_size3" -> "constructor_new::array_of_class_with_not_constant_size9" ;
|
||||
"constructor_new::array_of_class_with_not_constant_size2" [label="2: Exit constructor_new::array_of_class_with_not_constant_size \n " color=yellow style=filled]
|
||||
|
||||
|
||||
54 -> 53 ;
|
||||
53 [label="53: DeclStmt \n n$9=_fun___new(sizeof(int ):unsigned long ) [line 66]\n n$10=_fun_constructor_new::getValue(4:int ) [line 66]\n *n$9:int =n$10 [line 66]\n *&y:int *=n$9 [line 66]\n " shape="box"]
|
||||
"constructor_new::array_of_class_with_not_constant_size1" [label="1: Start constructor_new::array_of_class_with_not_constant_size\nFormals: \nLocals: tarray:class constructor_new::Person * 0$?%__sil_tmpSIL_temp_conditional___n$0:int \n DECLARE_LOCALS(&return,&tarray,&0$?%__sil_tmpSIL_temp_conditional___n$0); [line 90]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
53 -> 47 ;
|
||||
52 [label="52: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 67]\n n$8=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 67]\n *n$2:int =n$8 [line 67]\n *&x:int *=n$2 [line 67]\n " shape="box"]
|
||||
"constructor_new::array_of_class_with_not_constant_size1" -> "constructor_new::array_of_class_with_not_constant_size4" ;
|
||||
"constructor_new::constructor_nodes11" [label="11: DeclStmt \n *&z:int =6 [line 72]\n " shape="box"]
|
||||
|
||||
|
||||
52 -> 45 ;
|
||||
51 [label="51: ConditinalStmt Branch \n n$6=*&y:int * [line 67]\n n$7=*n$6:int [line 67]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =(1 + n$7) [line 67]\n " shape="box"]
|
||||
"constructor_new::constructor_nodes11" -> "constructor_new::constructor_nodes5" ;
|
||||
"constructor_new::constructor_nodes10" [label="10: DeclStmt \n n$2=_fun___new(sizeof(class constructor_new::Person ):unsigned long ) [line 73]\n n$7=*&0$?%__sil_tmpSIL_temp_conditional___n$3:int [line 73]\n _fun_constructor_new::Person_Person(n$2:class constructor_new::Person *,n$7:int ) [line 73]\n *&p:class constructor_new::Person *=n$2 [line 73]\n " shape="box"]
|
||||
|
||||
|
||||
51 -> 46 ;
|
||||
50 [label="50: ConditinalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int ) [line 67]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =n$5 [line 67]\n " shape="box"]
|
||||
"constructor_new::constructor_nodes10" -> "constructor_new::constructor_nodes3" ;
|
||||
"constructor_new::constructor_nodes9" [label="9: ConditinalStmt Branch \n n$6=*&z:int [line 73]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =(1 + n$6) [line 73]\n " shape="box"]
|
||||
|
||||
|
||||
50 -> 46 ;
|
||||
49 [label="49: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 67]\n " shape="invhouse"]
|
||||
"constructor_new::constructor_nodes9" -> "constructor_new::constructor_nodes4" ;
|
||||
"constructor_new::constructor_nodes8" [label="8: ConditinalStmt Branch \n n$5=_fun_constructor_new::getValue(1:int ) [line 73]\n *&0$?%__sil_tmpSIL_temp_conditional___n$3:int =n$5 [line 73]\n " shape="box"]
|
||||
|
||||
|
||||
49 -> 51 ;
|
||||
48 [label="48: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 67]\n " shape="invhouse"]
|
||||
"constructor_new::constructor_nodes8" -> "constructor_new::constructor_nodes4" ;
|
||||
"constructor_new::constructor_nodes7" [label="7: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 73]\n " shape="invhouse"]
|
||||
|
||||
|
||||
48 -> 50 ;
|
||||
47 [label="47: Call _fun_constructor_new::getValue \n n$4=_fun_constructor_new::getValue(0:int ) [line 67]\n " shape="box"]
|
||||
"constructor_new::constructor_nodes7" -> "constructor_new::constructor_nodes9" ;
|
||||
"constructor_new::constructor_nodes6" [label="6: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 73]\n " shape="invhouse"]
|
||||
|
||||
|
||||
47 -> 48 ;
|
||||
47 -> 49 ;
|
||||
46 [label="46: + \n " ]
|
||||
"constructor_new::constructor_nodes6" -> "constructor_new::constructor_nodes8" ;
|
||||
"constructor_new::constructor_nodes5" [label="5: Call _fun_constructor_new::getValue \n n$4=_fun_constructor_new::getValue(0:int ) [line 73]\n " shape="box"]
|
||||
|
||||
|
||||
46 -> 52 ;
|
||||
45 [label="45: Return Stmt \n n$0=*&x:int * [line 68]\n n$1=*n$0:int [line 68]\n *&return:int =(1 / (n$1 - 5)) [line 68]\n " shape="box"]
|
||||
"constructor_new::constructor_nodes5" -> "constructor_new::constructor_nodes6" ;
|
||||
"constructor_new::constructor_nodes5" -> "constructor_new::constructor_nodes7" ;
|
||||
"constructor_new::constructor_nodes4" [label="4: + \n " ]
|
||||
|
||||
|
||||
45 -> 44 ;
|
||||
44 [label="44: Exit constructor_new::int_init_nodes \n " color=yellow style=filled]
|
||||
"constructor_new::constructor_nodes4" -> "constructor_new::constructor_nodes10" ;
|
||||
"constructor_new::constructor_nodes3" [label="3: Return Stmt \n n$0=*&p:class constructor_new::Person * [line 74]\n n$1=*n$0.x:int [line 74]\n *&return:int =(1 / (n$1 - 7)) [line 74]\n " shape="box"]
|
||||
|
||||
|
||||
43 [label="43: Start constructor_new::int_init_nodes\nFormals: \nLocals: x:int * 0$?%__sil_tmpSIL_temp_conditional___n$3:int y:int * z:int \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_temp_conditional___n$3,&y,&z); [line 64]\n " color=yellow style=filled]
|
||||
"constructor_new::constructor_nodes3" -> "constructor_new::constructor_nodes2" ;
|
||||
"constructor_new::constructor_nodes2" [label="2: Exit constructor_new::constructor_nodes \n " color=yellow style=filled]
|
||||
|
||||
|
||||
43 -> 54 ;
|
||||
42 [label="42: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 60]\n *n$2:int =0 [line 60]\n *&x1:int *=n$2 [line 60]\n " shape="box"]
|
||||
"constructor_new::constructor_nodes1" [label="1: Start constructor_new::constructor_nodes\nFormals: \nLocals: p:class constructor_new::Person * 0$?%__sil_tmpSIL_temp_conditional___n$3:int z:int \n DECLARE_LOCALS(&return,&p,&0$?%__sil_tmpSIL_temp_conditional___n$3,&z); [line 71]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
42 -> 41 ;
|
||||
41 [label="41: Return Stmt \n n$0=*&x1:int * [line 61]\n n$1=*n$0:int [line 61]\n *&return:int =(1 / n$1) [line 61]\n " shape="box"]
|
||||
"constructor_new::constructor_nodes1" -> "constructor_new::constructor_nodes11" ;
|
||||
"constructor_new::int_init_empty_list_new4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 60]\n *n$2:int =0 [line 60]\n *&x1:int *=n$2 [line 60]\n " shape="box"]
|
||||
|
||||
|
||||
41 -> 40 ;
|
||||
40 [label="40: Exit constructor_new::int_init_empty_list_new \n " color=yellow style=filled]
|
||||
"constructor_new::int_init_empty_list_new4" -> "constructor_new::int_init_empty_list_new3" ;
|
||||
"constructor_new::int_init_empty_list_new3" [label="3: Return Stmt \n n$0=*&x1:int * [line 61]\n n$1=*n$0:int [line 61]\n *&return:int =(1 / n$1) [line 61]\n " shape="box"]
|
||||
|
||||
|
||||
39 [label="39: Start constructor_new::int_init_empty_list_new\nFormals: \nLocals: x1:int * \n DECLARE_LOCALS(&return,&x1); [line 59]\n " color=yellow style=filled]
|
||||
"constructor_new::int_init_empty_list_new3" -> "constructor_new::int_init_empty_list_new2" ;
|
||||
"constructor_new::int_init_empty_list_new2" [label="2: Exit constructor_new::int_init_empty_list_new \n " color=yellow style=filled]
|
||||
|
||||
|
||||
39 -> 42 ;
|
||||
38 [label="38: DeclStmt \n *&x1:int =0 [line 55]\n " shape="box"]
|
||||
"constructor_new::int_init_empty_list_new1" [label="1: Start constructor_new::int_init_empty_list_new\nFormals: \nLocals: x1:int * \n DECLARE_LOCALS(&return,&x1); [line 59]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
38 -> 37 ;
|
||||
37 [label="37: Return Stmt \n n$0=*&x1:int [line 56]\n *&return:int =(1 / n$0) [line 56]\n " shape="box"]
|
||||
"constructor_new::int_init_empty_list_new1" -> "constructor_new::int_init_empty_list_new4" ;
|
||||
"constructor_new::int_init_empty4" [label="4: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 50]\n *n$2:int =0 [line 50]\n *&x1:int *=n$2 [line 50]\n " shape="box"]
|
||||
|
||||
|
||||
37 -> 36 ;
|
||||
36 [label="36: Exit constructor_new::int_init_empty_list \n " color=yellow style=filled]
|
||||
"constructor_new::int_init_empty4" -> "constructor_new::int_init_empty3" ;
|
||||
"constructor_new::int_init_empty3" [label="3: Return Stmt \n n$0=*&x1:int * [line 51]\n n$1=*n$0:int [line 51]\n *&return:int =(1 / n$1) [line 51]\n " shape="box"]
|
||||
|
||||
|
||||
35 [label="35: Start constructor_new::int_init_empty_list\nFormals: \nLocals: x1:int \n DECLARE_LOCALS(&return,&x1); [line 54]\n " color=yellow style=filled]
|
||||
"constructor_new::int_init_empty3" -> "constructor_new::int_init_empty2" ;
|
||||
"constructor_new::int_init_empty2" [label="2: Exit constructor_new::int_init_empty \n " color=yellow style=filled]
|
||||
|
||||
|
||||
35 -> 38 ;
|
||||
34 [label="34: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 50]\n *n$2:int =0 [line 50]\n *&x1:int *=n$2 [line 50]\n " shape="box"]
|
||||
"constructor_new::int_init_empty1" [label="1: Start constructor_new::int_init_empty\nFormals: \nLocals: x1:int * \n DECLARE_LOCALS(&return,&x1); [line 49]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
34 -> 33 ;
|
||||
33 [label="33: Return Stmt \n n$0=*&x1:int * [line 51]\n n$1=*n$0:int [line 51]\n *&return:int =(1 / n$1) [line 51]\n " shape="box"]
|
||||
"constructor_new::int_init_empty1" -> "constructor_new::int_init_empty4" ;
|
||||
"constructor_new::getValue3" [label="3: Return Stmt \n n$0=*&x:int [line 27]\n *&return:int =n$0 [line 27]\n " shape="box"]
|
||||
|
||||
|
||||
33 -> 32 ;
|
||||
32 [label="32: Exit constructor_new::int_init_empty \n " color=yellow style=filled]
|
||||
"constructor_new::getValue3" -> "constructor_new::getValue2" ;
|
||||
"constructor_new::getValue2" [label="2: Exit constructor_new::getValue \n " color=yellow style=filled]
|
||||
|
||||
|
||||
31 [label="31: Start constructor_new::int_init_empty\nFormals: \nLocals: x1:int * \n DECLARE_LOCALS(&return,&x1); [line 49]\n " color=yellow style=filled]
|
||||
"constructor_new::getValue1" [label="1: Start constructor_new::getValue\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 27]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
31 -> 34 ;
|
||||
30 [label="30: DeclStmt \n n$2=_fun___new(sizeof(float ):unsigned long ) [line 45]\n *n$2:float =5.400000 [line 45]\n *&x1:float *=n$2 [line 45]\n " shape="box"]
|
||||
"constructor_new::getValue1" -> "constructor_new::getValue3" ;
|
||||
"constructor_new::Person_Person3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_new::Person * [line 15]\n n$1=*&i:int [line 15]\n *n$0.x:int =n$1 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
30 -> 29 ;
|
||||
29 [label="29: Return Stmt \n n$0=*&x1:float * [line 46]\n n$1=*n$0:float [line 46]\n *&return:float =(1 / (n$1 - 5.400000)) [line 46]\n " shape="box"]
|
||||
"constructor_new::Person_Person3" -> "constructor_new::Person_Person2" ;
|
||||
"constructor_new::Person_Person2" [label="2: Exit constructor_new::Person_Person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
29 -> 28 ;
|
||||
28 [label="28: Exit constructor_new::float_init_number \n " color=yellow style=filled]
|
||||
"constructor_new::Person_Person1" [label="1: Start constructor_new::Person_Person\nFormals: this:class constructor_new::Person * i:int \nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
27 [label="27: Start constructor_new::float_init_number\nFormals: \nLocals: x1:float * \n DECLARE_LOCALS(&return,&x1); [line 44]\n " color=yellow style=filled]
|
||||
"constructor_new::Person_Person1" -> "constructor_new::Person_Person3" ;
|
||||
"constructor_new::int_array12" [label="12: DeclStmt \n n$9=*&0$?%__sil_tmpSIL_temp_conditional___n$6:int [line 78]\n n$10=_fun___new_array((sizeof(int ) * n$9):unsigned long ) [line 78]\n *&x2:int *=n$10 [line 78]\n " shape="box"]
|
||||
|
||||
|
||||
27 -> 30 ;
|
||||
26 [label="26: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 40]\n *n$2:int =5 [line 40]\n *&x1:int *=n$2 [line 40]\n " shape="box"]
|
||||
"constructor_new::int_array12" -> "constructor_new::int_array5" ;
|
||||
"constructor_new::int_array11" [label="11: ConditinalStmt Branch \n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =3 [line 78]\n " shape="box"]
|
||||
|
||||
|
||||
26 -> 25 ;
|
||||
25 [label="25: Return Stmt \n n$0=*&x1:int * [line 41]\n n$1=*n$0:int [line 41]\n *&return:int =(1 / (n$1 - 5)) [line 41]\n " shape="box"]
|
||||
"constructor_new::int_array11" -> "constructor_new::int_array6" ;
|
||||
"constructor_new::int_array10" [label="10: ConditinalStmt Branch \n n$8=_fun_constructor_new::getValue(5:int ) [line 78]\n *&0$?%__sil_tmpSIL_temp_conditional___n$6:int =n$8 [line 78]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 24 ;
|
||||
24 [label="24: Exit constructor_new::int_init_number \n " color=yellow style=filled]
|
||||
"constructor_new::int_array10" -> "constructor_new::int_array6" ;
|
||||
"constructor_new::int_array9" [label="9: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 78]\n " shape="invhouse"]
|
||||
|
||||
|
||||
23 [label="23: Start constructor_new::int_init_number\nFormals: \nLocals: x1:int * \n DECLARE_LOCALS(&return,&x1); [line 39]\n " color=yellow style=filled]
|
||||
"constructor_new::int_array9" -> "constructor_new::int_array11" ;
|
||||
"constructor_new::int_array8" [label="8: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 78]\n " shape="invhouse"]
|
||||
|
||||
|
||||
23 -> 26 ;
|
||||
22 [label="22: DeclStmt \n n$2=_fun___new(sizeof(class constructor_new::Person ):unsigned long ) [line 35]\n _fun_constructor_new::Person_Person(n$2:class constructor_new::Person *,5:int ,6:int ,7:int ) [line 35]\n *&p:class constructor_new::Person *=n$2 [line 35]\n " shape="box"]
|
||||
"constructor_new::int_array8" -> "constructor_new::int_array10" ;
|
||||
"constructor_new::int_array7" [label="7: Call _fun_constructor_new::getValue \n n$7=_fun_constructor_new::getValue(5:int ) [line 78]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 21 ;
|
||||
21 [label="21: Return Stmt \n n$0=*&p:class constructor_new::Person * [line 36]\n n$1=*n$0.z:int [line 36]\n *&return:int =(1 / (n$1 - 7)) [line 36]\n " shape="box"]
|
||||
"constructor_new::int_array7" -> "constructor_new::int_array8" ;
|
||||
"constructor_new::int_array7" -> "constructor_new::int_array9" ;
|
||||
"constructor_new::int_array6" [label="6: + \n " ]
|
||||
|
||||
|
||||
21 -> 20 ;
|
||||
20 [label="20: Exit constructor_new::constructor_3_args_new_div0 \n " color=yellow style=filled]
|
||||
"constructor_new::int_array6" -> "constructor_new::int_array12" ;
|
||||
"constructor_new::int_array5" [label="5: BinaryOperatorStmt: Assign \n n$5=*&x2:int * [line 79]\n *n$5[0]:int =1 [line 79]\n " shape="box"]
|
||||
|
||||
|
||||
19 [label="19: Start constructor_new::constructor_3_args_new_div0\nFormals: \nLocals: p:class constructor_new::Person * \n DECLARE_LOCALS(&return,&p); [line 34]\n " color=yellow style=filled]
|
||||
"constructor_new::int_array5" -> "constructor_new::int_array4" ;
|
||||
"constructor_new::int_array4" [label="4: BinaryOperatorStmt: Assign \n n$4=*&x2:int * [line 80]\n *n$4[1]:int =2 [line 80]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 22 ;
|
||||
18 [label="18: DeclStmt \n n$2=_fun___new(sizeof(class constructor_new::Person ):unsigned long ) [line 30]\n _fun_constructor_new::Person_Person(n$2:class constructor_new::Person *,5:int ) [line 30]\n *&p:class constructor_new::Person *=n$2 [line 30]\n " shape="box"]
|
||||
"constructor_new::int_array4" -> "constructor_new::int_array3" ;
|
||||
"constructor_new::int_array3" [label="3: Return Stmt \n n$0=*&x2:int * [line 81]\n n$1=*n$0[0]:int [line 81]\n n$2=*&x2:int * [line 81]\n n$3=*n$2[1]:int [line 81]\n *&return:int =(1 / ((n$1 + n$3) - 3)) [line 81]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: Return Stmt \n n$0=*&p:class constructor_new::Person * [line 31]\n n$1=*n$0.x:int [line 31]\n *&return:int =(1 / (n$1 - 5)) [line 31]\n " shape="box"]
|
||||
"constructor_new::int_array3" -> "constructor_new::int_array2" ;
|
||||
"constructor_new::int_array2" [label="2: Exit constructor_new::int_array \n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 -> 16 ;
|
||||
16 [label="16: Exit constructor_new::constructor_1_arg_new_div0 \n " color=yellow style=filled]
|
||||
"constructor_new::int_array1" [label="1: Start constructor_new::int_array\nFormals: \nLocals: x2:int * 0$?%__sil_tmpSIL_temp_conditional___n$6:int \n DECLARE_LOCALS(&return,&x2,&0$?%__sil_tmpSIL_temp_conditional___n$6); [line 77]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 [label="15: Start constructor_new::constructor_1_arg_new_div0\nFormals: \nLocals: p:class constructor_new::Person * \n DECLARE_LOCALS(&return,&p); [line 29]\n " color=yellow style=filled]
|
||||
"constructor_new::int_array1" -> "constructor_new::int_array7" ;
|
||||
"constructor_new::matrix_of_person4" [label="4: DeclStmt \n n$2=_fun___new_array((sizeof(class constructor_new::Person *) * 10):unsigned long ) [line 99]\n *&tarray:class constructor_new::Person **=n$2 [line 99]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 18 ;
|
||||
14 [label="14: Return Stmt \n n$0=*&x:int [line 27]\n *&return:int =n$0 [line 27]\n " shape="box"]
|
||||
"constructor_new::matrix_of_person4" -> "constructor_new::matrix_of_person3" ;
|
||||
"constructor_new::matrix_of_person3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&tarray:class constructor_new::Person ** [line 100]\n n$1=_fun___new_array((sizeof(class constructor_new::Person ) * 10):unsigned long ) [line 100]\n _fun_constructor_new::Person_Person(n$1[0]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[1]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[2]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[3]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[4]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[5]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[6]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[7]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[8]:class constructor_new::Person *) [line 100]\n _fun_constructor_new::Person_Person(n$1[9]:class constructor_new::Person *) [line 100]\n *n$0[0]:class constructor_new::Person *=n$1 [line 100]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: Exit constructor_new::getValue \n " color=yellow style=filled]
|
||||
"constructor_new::matrix_of_person3" -> "constructor_new::matrix_of_person2" ;
|
||||
"constructor_new::matrix_of_person2" [label="2: Exit constructor_new::matrix_of_person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
12 [label="12: Start constructor_new::getValue\nFormals: x:int \nLocals: \n DECLARE_LOCALS(&return); [line 27]\n " color=yellow style=filled]
|
||||
"constructor_new::matrix_of_person1" [label="1: Start constructor_new::matrix_of_person\nFormals: \nLocals: tarray:class constructor_new::Person ** \n DECLARE_LOCALS(&return,&tarray); [line 98]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
12 -> 14 ;
|
||||
11 [label="11: BinaryOperatorStmt: Assign \n n$4=*&this:class constructor_new::Person * [line 18]\n n$5=*&i:int [line 18]\n *n$4.x:int =n$5 [line 18]\n " shape="box"]
|
||||
"constructor_new::matrix_of_person1" -> "constructor_new::matrix_of_person4" ;
|
||||
"constructor_new::array_of_person_with_constant_size3" [label="3: DeclStmt \n n$0=_fun___new_array((sizeof(class constructor_new::Person ) * 10):unsigned long ) [line 95]\n _fun_constructor_new::Person_Person(n$0[0]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[1]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[2]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[3]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[4]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[5]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[6]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[7]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[8]:class constructor_new::Person *) [line 95]\n _fun_constructor_new::Person_Person(n$0[9]:class constructor_new::Person *) [line 95]\n *&tarray:class constructor_new::Person *=n$0 [line 95]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: BinaryOperatorStmt: Assign \n n$2=*&this:class constructor_new::Person * [line 19]\n n$3=*&j:int [line 19]\n *n$2.y:int =n$3 [line 19]\n " shape="box"]
|
||||
"constructor_new::array_of_person_with_constant_size3" -> "constructor_new::array_of_person_with_constant_size2" ;
|
||||
"constructor_new::array_of_person_with_constant_size2" [label="2: Exit constructor_new::array_of_person_with_constant_size \n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_new::Person * [line 20]\n n$1=*&k:int [line 20]\n *n$0.z:int =n$1 [line 20]\n " shape="box"]
|
||||
"constructor_new::array_of_person_with_constant_size1" [label="1: Start constructor_new::array_of_person_with_constant_size\nFormals: \nLocals: tarray:class constructor_new::Person * \n DECLARE_LOCALS(&return,&tarray); [line 95]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Exit constructor_new::Person_Person \n " color=yellow style=filled]
|
||||
"constructor_new::array_of_person_with_constant_size1" -> "constructor_new::array_of_person_with_constant_size3" ;
|
||||
"constructor_new::int_array_init4" [label="4: DeclStmt \n n$10=_fun___new_array((sizeof(int ) * 100):unsigned long ) [line 85]\n *n$10[0]:int =1 [line 85]\n *n$10[1]:int =2 [line 85]\n *n$10[2]:int =3 [line 85]\n *n$10[3]:int =4 [line 85]\n *n$10[4]:int =5 [line 85]\n *n$10[5]:int =6 [line 85]\n *n$10[6]:int =7 [line 85]\n *n$10[7]:int =8 [line 85]\n *n$10[8]:int =9 [line 85]\n *n$10[9]:int =10 [line 85]\n *&arr:int *=n$10 [line 85]\n " shape="box"]
|
||||
|
||||
|
||||
7 [label="7: Start constructor_new::Person_Person\nFormals: this:class constructor_new::Person * i:int j:int k:int \nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
"constructor_new::int_array_init4" -> "constructor_new::int_array_init3" ;
|
||||
"constructor_new::int_array_init3" [label="3: Return Stmt \n n$0=*&arr:int * [line 86]\n n$1=*n$0[0]:int [line 86]\n n$2=*&arr:int * [line 86]\n n$3=*n$2[1]:int [line 86]\n n$4=*&arr:int * [line 86]\n n$5=*n$4[2]:int [line 86]\n n$6=*&arr:int * [line 86]\n n$7=*n$6[3]:int [line 86]\n n$8=*&arr:int * [line 86]\n n$9=*n$8[4]:int [line 86]\n *&return:int =(1 / (((((n$1 + n$3) + n$5) + n$7) + n$9) - 15)) [line 86]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 11 ;
|
||||
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_new::Person * [line 15]\n n$1=*&i:int [line 15]\n *n$0.x:int =n$1 [line 15]\n " shape="box"]
|
||||
"constructor_new::int_array_init3" -> "constructor_new::int_array_init2" ;
|
||||
"constructor_new::int_array_init2" [label="2: Exit constructor_new::int_array_init \n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit constructor_new::Person_Person \n " color=yellow style=filled]
|
||||
"constructor_new::int_array_init1" [label="1: Start constructor_new::int_array_init\nFormals: \nLocals: arr:int * \n DECLARE_LOCALS(&return,&arr); [line 84]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start constructor_new::Person_Person\nFormals: this:class constructor_new::Person * i:int \nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"constructor_new::int_array_init1" -> "constructor_new::int_array_init4" ;
|
||||
"constructor_new::constructor_3_args_new_div04" [label="4: DeclStmt \n n$2=_fun___new(sizeof(class constructor_new::Person ):unsigned long ) [line 35]\n _fun_constructor_new::Person_Person(n$2:class constructor_new::Person *,5:int ,6:int ,7:int ) [line 35]\n *&p:class constructor_new::Person *=n$2 [line 35]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_new::Person * [line 14]\n *n$0.x:int =0 [line 14]\n " shape="box"]
|
||||
"constructor_new::constructor_3_args_new_div04" -> "constructor_new::constructor_3_args_new_div03" ;
|
||||
"constructor_new::constructor_3_args_new_div03" [label="3: Return Stmt \n n$0=*&p:class constructor_new::Person * [line 36]\n n$1=*n$0.z:int [line 36]\n *&return:int =(1 / (n$1 - 7)) [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit constructor_new::Person_Person \n " color=yellow style=filled]
|
||||
"constructor_new::constructor_3_args_new_div03" -> "constructor_new::constructor_3_args_new_div02" ;
|
||||
"constructor_new::constructor_3_args_new_div02" [label="2: Exit constructor_new::constructor_3_args_new_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start constructor_new::Person_Person\nFormals: this:class constructor_new::Person *\nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
"constructor_new::constructor_3_args_new_div01" [label="1: Start constructor_new::constructor_3_args_new_div0\nFormals: \nLocals: p:class constructor_new::Person * \n DECLARE_LOCALS(&return,&p); [line 34]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"constructor_new::constructor_3_args_new_div01" -> "constructor_new::constructor_3_args_new_div04" ;
|
||||
}
|
||||
|
@ -1,25 +1,25 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
6 [label="6: DeclStmt \n *&0$?%__sil_tmpSIL_init_list__n$0.top:int =0 [line 17]\n *&0$?%__sil_tmpSIL_init_list__n$0.left:int =0 [line 17]\n *&0$?%__sil_tmpSIL_init_list__n$0.bottom:int =0 [line 17]\n *&0$?%__sil_tmpSIL_init_list__n$0.right:int =0 [line 17]\n _fun_Person_Person(&p:class Person *,&0$?%__sil_tmpSIL_init_list__n$0:class Insets ) [line 17]\n " shape="box"]
|
||||
"test3" [label="3: DeclStmt \n *&0$?%__sil_tmpSIL_init_list__n$0.top:int =0 [line 17]\n *&0$?%__sil_tmpSIL_init_list__n$0.left:int =0 [line 17]\n *&0$?%__sil_tmpSIL_init_list__n$0.bottom:int =0 [line 17]\n *&0$?%__sil_tmpSIL_init_list__n$0.right:int =0 [line 17]\n _fun_Person_Person(&p:class Person *,&0$?%__sil_tmpSIL_init_list__n$0:class Insets ) [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit test \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start test\nFormals: \nLocals: p:class Person 0$?%__sil_tmpSIL_init_list__n$0:class Insets \n DECLARE_LOCALS(&return,&p,&0$?%__sil_tmpSIL_init_list__n$0); [line 17]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: p:class Person 0$?%__sil_tmpSIL_init_list__n$0:class Insets \n DECLARE_LOCALS(&return,&p,&0$?%__sil_tmpSIL_init_list__n$0); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Constructor Init \n n$0=*&this:class Person * [line 14]\n n$1=*&l:class Insets & [line 14]\n n$2=*n$1.top:int [line 14]\n *n$0.age:int =n$2 [line 14]\n " shape="box"]
|
||||
"test1" -> "test3" ;
|
||||
"Person_Person3" [label="3: Constructor Init \n n$0=*&this:class Person * [line 14]\n n$1=*&l:class Insets & [line 14]\n n$2=*n$1.top:int [line 14]\n *n$0.age:int =n$2 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit Person_Person \n " color=yellow style=filled]
|
||||
"Person_Person3" -> "Person_Person2" ;
|
||||
"Person_Person2" [label="2: Exit Person_Person \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start Person_Person\nFormals: this:class Person * l:class Insets &\nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
"Person_Person1" [label="1: Start Person_Person\nFormals: this:class Person * l:class Insets &\nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"Person_Person1" -> "Person_Person3" ;
|
||||
}
|
||||
|
@ -1,100 +1,100 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
26 [label="26: DeclStmt \n _fun_constructor_with_body::X_X(&x:class constructor_with_body::X *,0:int ,1:int ) [line 41]\n " shape="box"]
|
||||
"constructor_with_body::X_init3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_with_body::X * [line 14]\n *n$0.f:int =0 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
26 -> 25 ;
|
||||
25 [label="25: Call _fun_constructor_with_body::X_div \n _=*&x:class constructor_with_body::X [line 42]\n n$1=_fun_constructor_with_body::X_div(&x:class constructor_with_body::X &) [line 42]\n " shape="box"]
|
||||
"constructor_with_body::X_init3" -> "constructor_with_body::X_init2" ;
|
||||
"constructor_with_body::X_init2" [label="2: Exit constructor_with_body::X_init \n " color=yellow style=filled]
|
||||
|
||||
|
||||
25 -> 24 ;
|
||||
24 [label="24: Exit constructor_with_body::test_div1 \n " color=yellow style=filled]
|
||||
"constructor_with_body::X_init1" [label="1: Start constructor_with_body::X_init\nFormals: this:class constructor_with_body::X *\nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
23 [label="23: Start constructor_with_body::test_div1\nFormals: \nLocals: x:class constructor_with_body::X \n DECLARE_LOCALS(&return,&x); [line 40]\n " color=yellow style=filled]
|
||||
"constructor_with_body::X_init1" -> "constructor_with_body::X_init3" ;
|
||||
"constructor_with_body::X_div3" [label="3: Return Stmt \n n$0=*&this:class constructor_with_body::X * [line 21]\n n$1=*n$0.f:int [line 21]\n *&return:int =(1 / n$1) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
23 -> 26 ;
|
||||
22 [label="22: DeclStmt \n _fun_constructor_with_body::X_X(&x:class constructor_with_body::X *) [line 36]\n " shape="box"]
|
||||
"constructor_with_body::X_div3" -> "constructor_with_body::X_div2" ;
|
||||
"constructor_with_body::X_div2" [label="2: Exit constructor_with_body::X_div \n " color=yellow style=filled]
|
||||
|
||||
|
||||
22 -> 21 ;
|
||||
21 [label="21: Call _fun_constructor_with_body::X_div \n _=*&x:class constructor_with_body::X [line 37]\n n$1=_fun_constructor_with_body::X_div(&x:class constructor_with_body::X &) [line 37]\n " shape="box"]
|
||||
"constructor_with_body::X_div1" [label="1: Start constructor_with_body::X_div\nFormals: this:class constructor_with_body::X *\nLocals: \n DECLARE_LOCALS(&return); [line 21]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
21 -> 20 ;
|
||||
20 [label="20: Exit constructor_with_body::test_div0_default_constructor \n " color=yellow style=filled]
|
||||
"constructor_with_body::X_div1" -> "constructor_with_body::X_div3" ;
|
||||
"constructor_with_body::test_div14" [label="4: DeclStmt \n _fun_constructor_with_body::X_X(&x:class constructor_with_body::X *,0:int ,1:int ) [line 41]\n " shape="box"]
|
||||
|
||||
|
||||
19 [label="19: Start constructor_with_body::test_div0_default_constructor\nFormals: \nLocals: x:class constructor_with_body::X \n DECLARE_LOCALS(&return,&x); [line 35]\n " color=yellow style=filled]
|
||||
"constructor_with_body::test_div14" -> "constructor_with_body::test_div13" ;
|
||||
"constructor_with_body::test_div13" [label="3: Call _fun_constructor_with_body::X_div \n _=*&x:class constructor_with_body::X [line 42]\n n$1=_fun_constructor_with_body::X_div(&x:class constructor_with_body::X &) [line 42]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 22 ;
|
||||
18 [label="18: DeclStmt \n _fun_constructor_with_body::X_X(&x:class constructor_with_body::X *,-2:int ,2:int ) [line 31]\n " shape="box"]
|
||||
"constructor_with_body::test_div13" -> "constructor_with_body::test_div12" ;
|
||||
"constructor_with_body::test_div12" [label="2: Exit constructor_with_body::test_div1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: Call _fun_constructor_with_body::X_div \n _=*&x:class constructor_with_body::X [line 32]\n n$1=_fun_constructor_with_body::X_div(&x:class constructor_with_body::X &) [line 32]\n " shape="box"]
|
||||
"constructor_with_body::test_div11" [label="1: Start constructor_with_body::test_div1\nFormals: \nLocals: x:class constructor_with_body::X \n DECLARE_LOCALS(&return,&x); [line 40]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 -> 16 ;
|
||||
16 [label="16: Exit constructor_with_body::test_div0 \n " color=yellow style=filled]
|
||||
"constructor_with_body::test_div11" -> "constructor_with_body::test_div14" ;
|
||||
"constructor_with_body::X_X5" [label="5: DeclStmt \n n$4=*&a:int [line 25]\n n$5=*&b:int [line 25]\n *&c:int =(n$4 + n$5) [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
15 [label="15: Start constructor_with_body::test_div0\nFormals: \nLocals: x:class constructor_with_body::X \n DECLARE_LOCALS(&return,&x); [line 30]\n " color=yellow style=filled]
|
||||
"constructor_with_body::X_X5" -> "constructor_with_body::X_X4" ;
|
||||
"constructor_with_body::X_X4" [label="4: Call _fun_constructor_with_body::X_init \n n$2=*&this:class constructor_with_body::X * [line 26]\n _=*n$2:class constructor_with_body::X [line 26]\n _fun_constructor_with_body::X_init(n$2:class constructor_with_body::X *) [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 18 ;
|
||||
14 [label="14: DeclStmt \n n$4=*&a:int [line 25]\n n$5=*&b:int [line 25]\n *&c:int =(n$4 + n$5) [line 25]\n " shape="box"]
|
||||
"constructor_with_body::X_X4" -> "constructor_with_body::X_X3" ;
|
||||
"constructor_with_body::X_X3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_with_body::X * [line 27]\n n$1=*&c:int [line 27]\n *n$0.f:int =n$1 [line 27]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: Call _fun_constructor_with_body::X_init \n n$2=*&this:class constructor_with_body::X * [line 26]\n _=*n$2:class constructor_with_body::X [line 26]\n _fun_constructor_with_body::X_init(n$2:class constructor_with_body::X *) [line 26]\n " shape="box"]
|
||||
"constructor_with_body::X_X3" -> "constructor_with_body::X_X2" ;
|
||||
"constructor_with_body::X_X2" [label="2: Exit constructor_with_body::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 -> 12 ;
|
||||
12 [label="12: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_with_body::X * [line 27]\n n$1=*&c:int [line 27]\n *n$0.f:int =n$1 [line 27]\n " shape="box"]
|
||||
"constructor_with_body::X_X1" [label="1: Start constructor_with_body::X_X\nFormals: this:class constructor_with_body::X * a:int b:int \nLocals: c:int \n DECLARE_LOCALS(&return,&c); [line 24]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: Exit constructor_with_body::X_X \n " color=yellow style=filled]
|
||||
"constructor_with_body::X_X1" -> "constructor_with_body::X_X5" ;
|
||||
"constructor_with_body::X_X3" [label="3: Call _fun_constructor_with_body::X_init \n n$0=*&this:class constructor_with_body::X * [line 17]\n _=*n$0:class constructor_with_body::X [line 17]\n _fun_constructor_with_body::X_init(n$0:class constructor_with_body::X *) [line 17]\n " shape="box"]
|
||||
|
||||
|
||||
10 [label="10: Start constructor_with_body::X_X\nFormals: this:class constructor_with_body::X * a:int b:int \nLocals: c:int \n DECLARE_LOCALS(&return,&c); [line 24]\n " color=yellow style=filled]
|
||||
"constructor_with_body::X_X3" -> "constructor_with_body::X_X2" ;
|
||||
"constructor_with_body::X_X2" [label="2: Exit constructor_with_body::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 14 ;
|
||||
9 [label="9: Return Stmt \n n$0=*&this:class constructor_with_body::X * [line 21]\n n$1=*n$0.f:int [line 21]\n *&return:int =(1 / n$1) [line 21]\n " shape="box"]
|
||||
"constructor_with_body::X_X1" [label="1: Start constructor_with_body::X_X\nFormals: this:class constructor_with_body::X *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Exit constructor_with_body::X_div \n " color=yellow style=filled]
|
||||
"constructor_with_body::X_X1" -> "constructor_with_body::X_X3" ;
|
||||
"constructor_with_body::test_div0_default_constructor4" [label="4: DeclStmt \n _fun_constructor_with_body::X_X(&x:class constructor_with_body::X *) [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
7 [label="7: Start constructor_with_body::X_div\nFormals: this:class constructor_with_body::X *\nLocals: \n DECLARE_LOCALS(&return); [line 21]\n " color=yellow style=filled]
|
||||
"constructor_with_body::test_div0_default_constructor4" -> "constructor_with_body::test_div0_default_constructor3" ;
|
||||
"constructor_with_body::test_div0_default_constructor3" [label="3: Call _fun_constructor_with_body::X_div \n _=*&x:class constructor_with_body::X [line 37]\n n$1=_fun_constructor_with_body::X_div(&x:class constructor_with_body::X &) [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
7 -> 9 ;
|
||||
6 [label="6: Call _fun_constructor_with_body::X_init \n n$0=*&this:class constructor_with_body::X * [line 17]\n _=*n$0:class constructor_with_body::X [line 17]\n _fun_constructor_with_body::X_init(n$0:class constructor_with_body::X *) [line 17]\n " shape="box"]
|
||||
"constructor_with_body::test_div0_default_constructor3" -> "constructor_with_body::test_div0_default_constructor2" ;
|
||||
"constructor_with_body::test_div0_default_constructor2" [label="2: Exit constructor_with_body::test_div0_default_constructor \n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit constructor_with_body::X_X \n " color=yellow style=filled]
|
||||
"constructor_with_body::test_div0_default_constructor1" [label="1: Start constructor_with_body::test_div0_default_constructor\nFormals: \nLocals: x:class constructor_with_body::X \n DECLARE_LOCALS(&return,&x); [line 35]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start constructor_with_body::X_X\nFormals: this:class constructor_with_body::X *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
"constructor_with_body::test_div0_default_constructor1" -> "constructor_with_body::test_div0_default_constructor4" ;
|
||||
"constructor_with_body::test_div04" [label="4: DeclStmt \n _fun_constructor_with_body::X_X(&x:class constructor_with_body::X *,-2:int ,2:int ) [line 31]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class constructor_with_body::X * [line 14]\n *n$0.f:int =0 [line 14]\n " shape="box"]
|
||||
"constructor_with_body::test_div04" -> "constructor_with_body::test_div03" ;
|
||||
"constructor_with_body::test_div03" [label="3: Call _fun_constructor_with_body::X_div \n _=*&x:class constructor_with_body::X [line 32]\n n$1=_fun_constructor_with_body::X_div(&x:class constructor_with_body::X &) [line 32]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit constructor_with_body::X_init \n " color=yellow style=filled]
|
||||
"constructor_with_body::test_div03" -> "constructor_with_body::test_div02" ;
|
||||
"constructor_with_body::test_div02" [label="2: Exit constructor_with_body::test_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start constructor_with_body::X_init\nFormals: this:class constructor_with_body::X *\nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
"constructor_with_body::test_div01" [label="1: Start constructor_with_body::test_div0\nFormals: \nLocals: x:class constructor_with_body::X \n DECLARE_LOCALS(&return,&x); [line 30]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"constructor_with_body::test_div01" -> "constructor_with_body::test_div04" ;
|
||||
}
|
||||
|
@ -1,248 +1,248 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
65 [label="65: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y1:class copy_move_constructor::Y *) [line 75]\n " shape="box"]
|
||||
"copy_move_constructor::getX5" [label="5: DeclStmt \n _fun_copy_move_constructor::X_X(&x:class copy_move_constructor::X *) [line 30]\n " shape="box"]
|
||||
|
||||
|
||||
65 -> 64 ;
|
||||
64 [label="64: BinaryOperatorStmt: Assign \n *&y1.f:int =1 [line 76]\n " shape="box"]
|
||||
"copy_move_constructor::getX5" -> "copy_move_constructor::getX4" ;
|
||||
"copy_move_constructor::getX4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&f:int [line 31]\n *&x.f:int =n$1 [line 31]\n " shape="box"]
|
||||
|
||||
|
||||
64 -> 63 ;
|
||||
63 [label="63: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y2:class copy_move_constructor::Y *,&y1:class copy_move_constructor::Y &) [line 77]\n " shape="box"]
|
||||
"copy_move_constructor::getX4" -> "copy_move_constructor::getX3" ;
|
||||
"copy_move_constructor::getX3" [label="3: Return Stmt \n n$0=*&__return_param:class copy_move_constructor::X * [line 32]\n _fun_copy_move_constructor::X_X(n$0:class copy_move_constructor::X *,&x:class copy_move_constructor::X &) [line 32]\n " shape="box"]
|
||||
|
||||
|
||||
63 -> 62 ;
|
||||
62 [label="62: DeclStmt \n n$5=*&y2.f:int [line 78]\n *&d1:int =(1 / n$5) [line 78]\n " shape="box"]
|
||||
"copy_move_constructor::getX3" -> "copy_move_constructor::getX2" ;
|
||||
"copy_move_constructor::getX2" [label="2: Exit copy_move_constructor::getX \n " color=yellow style=filled]
|
||||
|
||||
|
||||
62 -> 61 ;
|
||||
61 [label="61: DeclStmt \n _fun_copy_move_constructor::getY(2:int ,&0$?%__sil_tmp__temp_return_n$3:class copy_move_constructor::Y *) [line 79]\n n$4=*&0$?%__sil_tmp__temp_return_n$3.f:int [line 79]\n *&d2:int =(1 / n$4) [line 79]\n " shape="box"]
|
||||
"copy_move_constructor::getX1" [label="1: Start copy_move_constructor::getX\nFormals: f:int __return_param:class copy_move_constructor::X *\nLocals: x:class copy_move_constructor::X \n DECLARE_LOCALS(&return,&x); [line 29]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
61 -> 60 ;
|
||||
60 [label="60: Return Stmt \n n$0=*&d1:int [line 80]\n n$1=*&d2:int [line 80]\n *&return:int =(n$0 + n$1) [line 80]\n " shape="box"]
|
||||
"copy_move_constructor::getX1" -> "copy_move_constructor::getX5" ;
|
||||
"copy_move_constructor::moveY_div03" [label="3: Return Stmt \n _fun_copy_move_constructor::getY(1:int ,&0$?%__sil_tmp__temp_return_n$1:class copy_move_constructor::Y *) [line 57]\n n$2=*&0$?%__sil_tmp__temp_return_n$1.f:int [line 57]\n *&return:int =(1 / n$2) [line 57]\n " shape="box"]
|
||||
|
||||
|
||||
60 -> 59 ;
|
||||
59 [label="59: Exit copy_move_constructor::copyY_moveY_div1 \n " color=yellow style=filled]
|
||||
"copy_move_constructor::moveY_div03" -> "copy_move_constructor::moveY_div02" ;
|
||||
"copy_move_constructor::moveY_div02" [label="2: Exit copy_move_constructor::moveY_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
58 [label="58: Start copy_move_constructor::copyY_moveY_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmp__temp_return_n$3:class copy_move_constructor::Y d1:int y2:class copy_move_constructor::Y y1:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&d2,&0$?%__sil_tmp__temp_return_n$3,&d1,&y2,&y1); [line 74]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::moveY_div01" [label="1: Start copy_move_constructor::moveY_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 57]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
58 -> 65 ;
|
||||
57 [label="57: DeclStmt \n _fun_copy_move_constructor::X_X(&x1:class copy_move_constructor::X *) [line 66]\n " shape="box"]
|
||||
"copy_move_constructor::moveY_div01" -> "copy_move_constructor::moveY_div03" ;
|
||||
"copy_move_constructor::moveX_div03" [label="3: Return Stmt \n _fun_copy_move_constructor::getX(0:int ,&0$?%__sil_tmp__temp_return_n$1:class copy_move_constructor::X *) [line 48]\n n$2=*&0$?%__sil_tmp__temp_return_n$1.f:int [line 48]\n *&return:int =(1 / n$2) [line 48]\n " shape="box"]
|
||||
|
||||
|
||||
57 -> 56 ;
|
||||
56 [label="56: BinaryOperatorStmt: Assign \n *&x1.f:int =1 [line 67]\n " shape="box"]
|
||||
"copy_move_constructor::moveX_div03" -> "copy_move_constructor::moveX_div02" ;
|
||||
"copy_move_constructor::moveX_div02" [label="2: Exit copy_move_constructor::moveX_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
56 -> 55 ;
|
||||
55 [label="55: DeclStmt \n _fun_copy_move_constructor::X_X(&x2:class copy_move_constructor::X *,&x1:class copy_move_constructor::X &) [line 68]\n " shape="box"]
|
||||
"copy_move_constructor::moveX_div01" [label="1: Start copy_move_constructor::moveX_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class copy_move_constructor::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 48]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
55 -> 54 ;
|
||||
54 [label="54: DeclStmt \n n$5=*&x2.f:int [line 69]\n *&d1:int =(1 / n$5) [line 69]\n " shape="box"]
|
||||
"copy_move_constructor::moveX_div01" -> "copy_move_constructor::moveX_div03" ;
|
||||
"copy_move_constructor::Y_Y2" [label="2: Exit copy_move_constructor::Y_Y \n " color=yellow style=filled]
|
||||
|
||||
|
||||
54 -> 53 ;
|
||||
53 [label="53: DeclStmt \n _fun_copy_move_constructor::getX(1:int ,&0$?%__sil_tmp__temp_return_n$3:class copy_move_constructor::X *) [line 70]\n n$4=*&0$?%__sil_tmp__temp_return_n$3.f:int [line 70]\n *&d2:int =(1 / n$4) [line 70]\n " shape="box"]
|
||||
"copy_move_constructor::Y_Y1" [label="1: Start copy_move_constructor::Y_Y\nFormals: this:class copy_move_constructor::Y *\nLocals: \n DECLARE_LOCALS(&return); [line 23]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
53 -> 52 ;
|
||||
52 [label="52: Return Stmt \n n$0=*&d1:int [line 71]\n n$1=*&d2:int [line 71]\n *&return:int =(n$0 + n$1) [line 71]\n " shape="box"]
|
||||
"copy_move_constructor::Y_Y1" -> "copy_move_constructor::Y_Y2" ;
|
||||
"copy_move_constructor::copyX_moveX_div18" [label="8: DeclStmt \n _fun_copy_move_constructor::X_X(&x1:class copy_move_constructor::X *) [line 66]\n " shape="box"]
|
||||
|
||||
|
||||
52 -> 51 ;
|
||||
51 [label="51: Exit copy_move_constructor::copyX_moveX_div1 \n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyX_moveX_div18" -> "copy_move_constructor::copyX_moveX_div17" ;
|
||||
"copy_move_constructor::copyX_moveX_div17" [label="7: BinaryOperatorStmt: Assign \n *&x1.f:int =1 [line 67]\n " shape="box"]
|
||||
|
||||
|
||||
50 [label="50: Start copy_move_constructor::copyX_moveX_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmp__temp_return_n$3:class copy_move_constructor::X d1:int x2:class copy_move_constructor::X x1:class copy_move_constructor::X \n DECLARE_LOCALS(&return,&d2,&0$?%__sil_tmp__temp_return_n$3,&d1,&x2,&x1); [line 65]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyX_moveX_div17" -> "copy_move_constructor::copyX_moveX_div16" ;
|
||||
"copy_move_constructor::copyX_moveX_div16" [label="6: DeclStmt \n _fun_copy_move_constructor::X_X(&x2:class copy_move_constructor::X *,&x1:class copy_move_constructor::X &) [line 68]\n " shape="box"]
|
||||
|
||||
|
||||
50 -> 57 ;
|
||||
49 [label="49: DeclStmt \n _fun_copy_move_constructor::getY(2:int ,&0$?%__sil_tmpSIL_materialize_temp__n$1:class copy_move_constructor::Y *) [line 60]\n _fun_copy_move_constructor::Y_Y(&y1:class copy_move_constructor::Y *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class copy_move_constructor::Y &) [line 60]\n " shape="box"]
|
||||
"copy_move_constructor::copyX_moveX_div16" -> "copy_move_constructor::copyX_moveX_div15" ;
|
||||
"copy_move_constructor::copyX_moveX_div15" [label="5: DeclStmt \n n$5=*&x2.f:int [line 69]\n *&d1:int =(1 / n$5) [line 69]\n " shape="box"]
|
||||
|
||||
|
||||
49 -> 48 ;
|
||||
48 [label="48: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y2:class copy_move_constructor::Y *,&y1:class copy_move_constructor::Y &) [line 61]\n " shape="box"]
|
||||
"copy_move_constructor::copyX_moveX_div15" -> "copy_move_constructor::copyX_moveX_div14" ;
|
||||
"copy_move_constructor::copyX_moveX_div14" [label="4: DeclStmt \n _fun_copy_move_constructor::getX(1:int ,&0$?%__sil_tmp__temp_return_n$3:class copy_move_constructor::X *) [line 70]\n n$4=*&0$?%__sil_tmp__temp_return_n$3.f:int [line 70]\n *&d2:int =(1 / n$4) [line 70]\n " shape="box"]
|
||||
|
||||
|
||||
48 -> 47 ;
|
||||
47 [label="47: Return Stmt \n n$0=*&y2.f:int [line 62]\n *&return:int =(1 / n$0) [line 62]\n " shape="box"]
|
||||
"copy_move_constructor::copyX_moveX_div14" -> "copy_move_constructor::copyX_moveX_div13" ;
|
||||
"copy_move_constructor::copyX_moveX_div13" [label="3: Return Stmt \n n$0=*&d1:int [line 71]\n n$1=*&d2:int [line 71]\n *&return:int =(n$0 + n$1) [line 71]\n " shape="box"]
|
||||
|
||||
|
||||
47 -> 46 ;
|
||||
46 [label="46: Exit copy_move_constructor::moveY_moveY_copyY_div0 \n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyX_moveX_div13" -> "copy_move_constructor::copyX_moveX_div12" ;
|
||||
"copy_move_constructor::copyX_moveX_div12" [label="2: Exit copy_move_constructor::copyX_moveX_div1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
45 [label="45: Start copy_move_constructor::moveY_moveY_copyY_div0\nFormals: \nLocals: y2:class copy_move_constructor::Y y1:class copy_move_constructor::Y 0$?%__sil_tmpSIL_materialize_temp__n$1:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&y2,&y1,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 59]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyX_moveX_div11" [label="1: Start copy_move_constructor::copyX_moveX_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmp__temp_return_n$3:class copy_move_constructor::X d1:int x2:class copy_move_constructor::X x1:class copy_move_constructor::X \n DECLARE_LOCALS(&return,&d2,&0$?%__sil_tmp__temp_return_n$3,&d1,&x2,&x1); [line 65]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
45 -> 49 ;
|
||||
44 [label="44: Return Stmt \n _fun_copy_move_constructor::getY(1:int ,&0$?%__sil_tmp__temp_return_n$1:class copy_move_constructor::Y *) [line 57]\n n$2=*&0$?%__sil_tmp__temp_return_n$1.f:int [line 57]\n *&return:int =(1 / n$2) [line 57]\n " shape="box"]
|
||||
"copy_move_constructor::copyX_moveX_div11" -> "copy_move_constructor::copyX_moveX_div18" ;
|
||||
"copy_move_constructor::Y_Y3" [label="3: Constructor Init \n n$0=*&this:class copy_move_constructor::Y * [line 24]\n n$1=*&y:class copy_move_constructor::Y & [line 24]\n n$2=*n$1.f:int [line 24]\n *n$0.f:int =n$2 [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
44 -> 43 ;
|
||||
43 [label="43: Exit copy_move_constructor::moveY_div0 \n " color=yellow style=filled]
|
||||
"copy_move_constructor::Y_Y3" -> "copy_move_constructor::Y_Y2" ;
|
||||
"copy_move_constructor::Y_Y2" [label="2: Exit copy_move_constructor::Y_Y \n " color=yellow style=filled]
|
||||
|
||||
|
||||
42 [label="42: Start copy_move_constructor::moveY_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 57]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::Y_Y1" [label="1: Start copy_move_constructor::Y_Y\nFormals: this:class copy_move_constructor::Y * y:class copy_move_constructor::Y &\nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
42 -> 44 ;
|
||||
41 [label="41: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y1:class copy_move_constructor::Y *) [line 51]\n " shape="box"]
|
||||
"copy_move_constructor::Y_Y1" -> "copy_move_constructor::Y_Y3" ;
|
||||
"copy_move_constructor::getY5" [label="5: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y:class copy_move_constructor::Y *) [line 36]\n " shape="box"]
|
||||
|
||||
|
||||
41 -> 40 ;
|
||||
40 [label="40: BinaryOperatorStmt: Assign \n *&y1.f:int =0 [line 52]\n " shape="box"]
|
||||
"copy_move_constructor::getY5" -> "copy_move_constructor::getY4" ;
|
||||
"copy_move_constructor::getY4" [label="4: BinaryOperatorStmt: Assign \n n$1=*&f:int [line 37]\n *&y.f:int =n$1 [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
40 -> 39 ;
|
||||
39 [label="39: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y2:class copy_move_constructor::Y *,&y1:class copy_move_constructor::Y &) [line 53]\n " shape="box"]
|
||||
"copy_move_constructor::getY4" -> "copy_move_constructor::getY3" ;
|
||||
"copy_move_constructor::getY3" [label="3: Return Stmt \n n$0=*&__return_param:class copy_move_constructor::Y * [line 38]\n _fun_copy_move_constructor::Y_Y(n$0:class copy_move_constructor::Y *,&y:class copy_move_constructor::Y &) [line 38]\n " shape="box"]
|
||||
|
||||
|
||||
39 -> 38 ;
|
||||
38 [label="38: Return Stmt \n n$0=*&y2.f:int [line 54]\n *&return:int =(1 / n$0) [line 54]\n " shape="box"]
|
||||
"copy_move_constructor::getY3" -> "copy_move_constructor::getY2" ;
|
||||
"copy_move_constructor::getY2" [label="2: Exit copy_move_constructor::getY \n " color=yellow style=filled]
|
||||
|
||||
|
||||
38 -> 37 ;
|
||||
37 [label="37: Exit copy_move_constructor::copyY_div0 \n " color=yellow style=filled]
|
||||
"copy_move_constructor::getY1" [label="1: Start copy_move_constructor::getY\nFormals: f:int __return_param:class copy_move_constructor::Y *\nLocals: y:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&y); [line 35]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
36 [label="36: Start copy_move_constructor::copyY_div0\nFormals: \nLocals: y2:class copy_move_constructor::Y y1:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&y2,&y1); [line 50]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::getY1" -> "copy_move_constructor::getY5" ;
|
||||
"copy_move_constructor::copyY_moveY_div18" [label="8: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y1:class copy_move_constructor::Y *) [line 75]\n " shape="box"]
|
||||
|
||||
|
||||
36 -> 41 ;
|
||||
35 [label="35: Return Stmt \n _fun_copy_move_constructor::getX(0:int ,&0$?%__sil_tmp__temp_return_n$1:class copy_move_constructor::X *) [line 48]\n n$2=*&0$?%__sil_tmp__temp_return_n$1.f:int [line 48]\n *&return:int =(1 / n$2) [line 48]\n " shape="box"]
|
||||
"copy_move_constructor::copyY_moveY_div18" -> "copy_move_constructor::copyY_moveY_div17" ;
|
||||
"copy_move_constructor::copyY_moveY_div17" [label="7: BinaryOperatorStmt: Assign \n *&y1.f:int =1 [line 76]\n " shape="box"]
|
||||
|
||||
|
||||
35 -> 34 ;
|
||||
34 [label="34: Exit copy_move_constructor::moveX_div0 \n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyY_moveY_div17" -> "copy_move_constructor::copyY_moveY_div16" ;
|
||||
"copy_move_constructor::copyY_moveY_div16" [label="6: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y2:class copy_move_constructor::Y *,&y1:class copy_move_constructor::Y &) [line 77]\n " shape="box"]
|
||||
|
||||
|
||||
33 [label="33: Start copy_move_constructor::moveX_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class copy_move_constructor::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 48]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyY_moveY_div16" -> "copy_move_constructor::copyY_moveY_div15" ;
|
||||
"copy_move_constructor::copyY_moveY_div15" [label="5: DeclStmt \n n$5=*&y2.f:int [line 78]\n *&d1:int =(1 / n$5) [line 78]\n " shape="box"]
|
||||
|
||||
|
||||
33 -> 35 ;
|
||||
32 [label="32: DeclStmt \n _fun_copy_move_constructor::X_X(&x1:class copy_move_constructor::X *) [line 42]\n " shape="box"]
|
||||
"copy_move_constructor::copyY_moveY_div15" -> "copy_move_constructor::copyY_moveY_div14" ;
|
||||
"copy_move_constructor::copyY_moveY_div14" [label="4: DeclStmt \n _fun_copy_move_constructor::getY(2:int ,&0$?%__sil_tmp__temp_return_n$3:class copy_move_constructor::Y *) [line 79]\n n$4=*&0$?%__sil_tmp__temp_return_n$3.f:int [line 79]\n *&d2:int =(1 / n$4) [line 79]\n " shape="box"]
|
||||
|
||||
|
||||
32 -> 31 ;
|
||||
31 [label="31: BinaryOperatorStmt: Assign \n *&x1.f:int =0 [line 43]\n " shape="box"]
|
||||
"copy_move_constructor::copyY_moveY_div14" -> "copy_move_constructor::copyY_moveY_div13" ;
|
||||
"copy_move_constructor::copyY_moveY_div13" [label="3: Return Stmt \n n$0=*&d1:int [line 80]\n n$1=*&d2:int [line 80]\n *&return:int =(n$0 + n$1) [line 80]\n " shape="box"]
|
||||
|
||||
|
||||
31 -> 30 ;
|
||||
30 [label="30: DeclStmt \n _fun_copy_move_constructor::X_X(&x2:class copy_move_constructor::X *,&x1:class copy_move_constructor::X &) [line 44]\n " shape="box"]
|
||||
"copy_move_constructor::copyY_moveY_div13" -> "copy_move_constructor::copyY_moveY_div12" ;
|
||||
"copy_move_constructor::copyY_moveY_div12" [label="2: Exit copy_move_constructor::copyY_moveY_div1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
30 -> 29 ;
|
||||
29 [label="29: Return Stmt \n n$0=*&x2.f:int [line 45]\n *&return:int =(1 / n$0) [line 45]\n " shape="box"]
|
||||
"copy_move_constructor::copyY_moveY_div11" [label="1: Start copy_move_constructor::copyY_moveY_div1\nFormals: \nLocals: d2:int 0$?%__sil_tmp__temp_return_n$3:class copy_move_constructor::Y d1:int y2:class copy_move_constructor::Y y1:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&d2,&0$?%__sil_tmp__temp_return_n$3,&d1,&y2,&y1); [line 74]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
29 -> 28 ;
|
||||
28 [label="28: Exit copy_move_constructor::copyX_div0 \n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyY_moveY_div11" -> "copy_move_constructor::copyY_moveY_div18" ;
|
||||
"copy_move_constructor::X_X3" [label="3: Constructor Init \n n$0=*&this:class copy_move_constructor::X * [line 15]\n n$1=*&__param_0:class copy_move_constructor::X & [line 15]\n n$2=*n$1.f:int [line 15]\n *n$0.f:int =n$2 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
27 [label="27: Start copy_move_constructor::copyX_div0\nFormals: \nLocals: x2:class copy_move_constructor::X x1:class copy_move_constructor::X \n DECLARE_LOCALS(&return,&x2,&x1); [line 41]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::X_X3" -> "copy_move_constructor::X_X2" ;
|
||||
"copy_move_constructor::X_X2" [label="2: Exit copy_move_constructor::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
27 -> 32 ;
|
||||
26 [label="26: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y:class copy_move_constructor::Y *) [line 36]\n " shape="box"]
|
||||
"copy_move_constructor::X_X1" [label="1: Start copy_move_constructor::X_X\nFormals: this:class copy_move_constructor::X * __param_0:class copy_move_constructor::X &\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
26 -> 25 ;
|
||||
25 [label="25: BinaryOperatorStmt: Assign \n n$1=*&f:int [line 37]\n *&y.f:int =n$1 [line 37]\n " shape="box"]
|
||||
"copy_move_constructor::X_X1" -> "copy_move_constructor::X_X3" ;
|
||||
"copy_move_constructor::Y_Y3" [label="3: Constructor Init \n n$0=*&this:class copy_move_constructor::Y * [line 26]\n n$1=*&y:class copy_move_constructor::Y & [line 26]\n n$2=*n$1.f:int [line 26]\n *n$0.f:int =(n$2 - 1) [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 24 ;
|
||||
24 [label="24: Return Stmt \n n$0=*&__return_param:class copy_move_constructor::Y * [line 38]\n _fun_copy_move_constructor::Y_Y(n$0:class copy_move_constructor::Y *,&y:class copy_move_constructor::Y &) [line 38]\n " shape="box"]
|
||||
"copy_move_constructor::Y_Y3" -> "copy_move_constructor::Y_Y2" ;
|
||||
"copy_move_constructor::Y_Y2" [label="2: Exit copy_move_constructor::Y_Y \n " color=yellow style=filled]
|
||||
|
||||
|
||||
24 -> 23 ;
|
||||
23 [label="23: Exit copy_move_constructor::getY \n " color=yellow style=filled]
|
||||
"copy_move_constructor::Y_Y1" [label="1: Start copy_move_constructor::Y_Y\nFormals: this:class copy_move_constructor::Y * y:class copy_move_constructor::Y &\nLocals: \n DECLARE_LOCALS(&return); [line 26]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
22 [label="22: Start copy_move_constructor::getY\nFormals: f:int __return_param:class copy_move_constructor::Y *\nLocals: y:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&y); [line 35]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::Y_Y1" -> "copy_move_constructor::Y_Y3" ;
|
||||
"copy_move_constructor::X_X2" [label="2: Exit copy_move_constructor::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
22 -> 26 ;
|
||||
21 [label="21: DeclStmt \n _fun_copy_move_constructor::X_X(&x:class copy_move_constructor::X *) [line 30]\n " shape="box"]
|
||||
"copy_move_constructor::X_X1" [label="1: Start copy_move_constructor::X_X\nFormals: this:class copy_move_constructor::X *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
21 -> 20 ;
|
||||
20 [label="20: BinaryOperatorStmt: Assign \n n$1=*&f:int [line 31]\n *&x.f:int =n$1 [line 31]\n " shape="box"]
|
||||
"copy_move_constructor::X_X1" -> "copy_move_constructor::X_X2" ;
|
||||
"copy_move_constructor::moveY_moveY_copyY_div05" [label="5: DeclStmt \n _fun_copy_move_constructor::getY(2:int ,&0$?%__sil_tmpSIL_materialize_temp__n$1:class copy_move_constructor::Y *) [line 60]\n _fun_copy_move_constructor::Y_Y(&y1:class copy_move_constructor::Y *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class copy_move_constructor::Y &) [line 60]\n " shape="box"]
|
||||
|
||||
|
||||
20 -> 19 ;
|
||||
19 [label="19: Return Stmt \n n$0=*&__return_param:class copy_move_constructor::X * [line 32]\n _fun_copy_move_constructor::X_X(n$0:class copy_move_constructor::X *,&x:class copy_move_constructor::X &) [line 32]\n " shape="box"]
|
||||
"copy_move_constructor::moveY_moveY_copyY_div05" -> "copy_move_constructor::moveY_moveY_copyY_div04" ;
|
||||
"copy_move_constructor::moveY_moveY_copyY_div04" [label="4: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y2:class copy_move_constructor::Y *,&y1:class copy_move_constructor::Y &) [line 61]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 18 ;
|
||||
18 [label="18: Exit copy_move_constructor::getX \n " color=yellow style=filled]
|
||||
"copy_move_constructor::moveY_moveY_copyY_div04" -> "copy_move_constructor::moveY_moveY_copyY_div03" ;
|
||||
"copy_move_constructor::moveY_moveY_copyY_div03" [label="3: Return Stmt \n n$0=*&y2.f:int [line 62]\n *&return:int =(1 / n$0) [line 62]\n " shape="box"]
|
||||
|
||||
|
||||
17 [label="17: Start copy_move_constructor::getX\nFormals: f:int __return_param:class copy_move_constructor::X *\nLocals: x:class copy_move_constructor::X \n DECLARE_LOCALS(&return,&x); [line 29]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::moveY_moveY_copyY_div03" -> "copy_move_constructor::moveY_moveY_copyY_div02" ;
|
||||
"copy_move_constructor::moveY_moveY_copyY_div02" [label="2: Exit copy_move_constructor::moveY_moveY_copyY_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
17 -> 21 ;
|
||||
16 [label="16: Constructor Init \n n$0=*&this:class copy_move_constructor::Y * [line 26]\n n$1=*&y:class copy_move_constructor::Y & [line 26]\n n$2=*n$1.f:int [line 26]\n *n$0.f:int =(n$2 - 1) [line 26]\n " shape="box"]
|
||||
"copy_move_constructor::moveY_moveY_copyY_div01" [label="1: Start copy_move_constructor::moveY_moveY_copyY_div0\nFormals: \nLocals: y2:class copy_move_constructor::Y y1:class copy_move_constructor::Y 0$?%__sil_tmpSIL_materialize_temp__n$1:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&y2,&y1,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 59]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 -> 15 ;
|
||||
15 [label="15: Exit copy_move_constructor::Y_Y \n " color=yellow style=filled]
|
||||
"copy_move_constructor::moveY_moveY_copyY_div01" -> "copy_move_constructor::moveY_moveY_copyY_div05" ;
|
||||
"copy_move_constructor::copyY_div06" [label="6: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y1:class copy_move_constructor::Y *) [line 51]\n " shape="box"]
|
||||
|
||||
|
||||
14 [label="14: Start copy_move_constructor::Y_Y\nFormals: this:class copy_move_constructor::Y * y:class copy_move_constructor::Y &\nLocals: \n DECLARE_LOCALS(&return); [line 26]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyY_div06" -> "copy_move_constructor::copyY_div05" ;
|
||||
"copy_move_constructor::copyY_div05" [label="5: BinaryOperatorStmt: Assign \n *&y1.f:int =0 [line 52]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 16 ;
|
||||
13 [label="13: Constructor Init \n n$0=*&this:class copy_move_constructor::Y * [line 24]\n n$1=*&y:class copy_move_constructor::Y & [line 24]\n n$2=*n$1.f:int [line 24]\n *n$0.f:int =n$2 [line 24]\n " shape="box"]
|
||||
"copy_move_constructor::copyY_div05" -> "copy_move_constructor::copyY_div04" ;
|
||||
"copy_move_constructor::copyY_div04" [label="4: DeclStmt \n _fun_copy_move_constructor::Y_Y(&y2:class copy_move_constructor::Y *,&y1:class copy_move_constructor::Y &) [line 53]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 12 ;
|
||||
12 [label="12: Exit copy_move_constructor::Y_Y \n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyY_div04" -> "copy_move_constructor::copyY_div03" ;
|
||||
"copy_move_constructor::copyY_div03" [label="3: Return Stmt \n n$0=*&y2.f:int [line 54]\n *&return:int =(1 / n$0) [line 54]\n " shape="box"]
|
||||
|
||||
|
||||
11 [label="11: Start copy_move_constructor::Y_Y\nFormals: this:class copy_move_constructor::Y * y:class copy_move_constructor::Y &\nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyY_div03" -> "copy_move_constructor::copyY_div02" ;
|
||||
"copy_move_constructor::copyY_div02" [label="2: Exit copy_move_constructor::copyY_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 -> 13 ;
|
||||
10 [label="10: Exit copy_move_constructor::Y_Y \n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyY_div01" [label="1: Start copy_move_constructor::copyY_div0\nFormals: \nLocals: y2:class copy_move_constructor::Y y1:class copy_move_constructor::Y \n DECLARE_LOCALS(&return,&y2,&y1); [line 50]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
9 [label="9: Start copy_move_constructor::Y_Y\nFormals: this:class copy_move_constructor::Y *\nLocals: \n DECLARE_LOCALS(&return); [line 23]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyY_div01" -> "copy_move_constructor::copyY_div06" ;
|
||||
"copy_move_constructor::copyX_div06" [label="6: DeclStmt \n _fun_copy_move_constructor::X_X(&x1:class copy_move_constructor::X *) [line 42]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 10 ;
|
||||
8 [label="8: Constructor Init \n n$0=*&this:class copy_move_constructor::X * [line 15]\n n$1=*&__param_0:class copy_move_constructor::X & [line 15]\n n$2=*n$1.f:int [line 15]\n *n$0.f:int =n$2 [line 15]\n " shape="box"]
|
||||
"copy_move_constructor::copyX_div06" -> "copy_move_constructor::copyX_div05" ;
|
||||
"copy_move_constructor::copyX_div05" [label="5: BinaryOperatorStmt: Assign \n *&x1.f:int =0 [line 43]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: Exit copy_move_constructor::X_X \n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyX_div05" -> "copy_move_constructor::copyX_div04" ;
|
||||
"copy_move_constructor::copyX_div04" [label="4: DeclStmt \n _fun_copy_move_constructor::X_X(&x2:class copy_move_constructor::X *,&x1:class copy_move_constructor::X &) [line 44]\n " shape="box"]
|
||||
|
||||
|
||||
6 [label="6: Start copy_move_constructor::X_X\nFormals: this:class copy_move_constructor::X * __param_0:class copy_move_constructor::X &\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyX_div04" -> "copy_move_constructor::copyX_div03" ;
|
||||
"copy_move_constructor::copyX_div03" [label="3: Return Stmt \n n$0=*&x2.f:int [line 45]\n *&return:int =(1 / n$0) [line 45]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: Constructor Init \n n$0=*&this:class copy_move_constructor::X * [line 15]\n n$1=*&__param_0:class copy_move_constructor::X & [line 15]\n n$2=*n$1.f:int [line 15]\n *n$0.f:int =n$2 [line 15]\n " shape="box"]
|
||||
"copy_move_constructor::copyX_div03" -> "copy_move_constructor::copyX_div02" ;
|
||||
"copy_move_constructor::copyX_div02" [label="2: Exit copy_move_constructor::copyX_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: Exit copy_move_constructor::X_X \n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyX_div01" [label="1: Start copy_move_constructor::copyX_div0\nFormals: \nLocals: x2:class copy_move_constructor::X x1:class copy_move_constructor::X \n DECLARE_LOCALS(&return,&x2,&x1); [line 41]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
3 [label="3: Start copy_move_constructor::X_X\nFormals: this:class copy_move_constructor::X * __param_0:class copy_move_constructor::X &\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::copyX_div01" -> "copy_move_constructor::copyX_div06" ;
|
||||
"copy_move_constructor::X_X3" [label="3: Constructor Init \n n$0=*&this:class copy_move_constructor::X * [line 15]\n n$1=*&__param_0:class copy_move_constructor::X & [line 15]\n n$2=*n$1.f:int [line 15]\n *n$0.f:int =n$2 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 5 ;
|
||||
2 [label="2: Exit copy_move_constructor::X_X \n " color=yellow style=filled]
|
||||
"copy_move_constructor::X_X3" -> "copy_move_constructor::X_X2" ;
|
||||
"copy_move_constructor::X_X2" [label="2: Exit copy_move_constructor::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start copy_move_constructor::X_X\nFormals: this:class copy_move_constructor::X *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"copy_move_constructor::X_X1" [label="1: Start copy_move_constructor::X_X\nFormals: this:class copy_move_constructor::X * __param_0:class copy_move_constructor::X &\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 2 ;
|
||||
"copy_move_constructor::X_X1" -> "copy_move_constructor::X_X3" ;
|
||||
}
|
||||
|
@ -1,71 +1,71 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
18 [label="18: DeclStmt \n _fun_Y_Y(&y:class Y *) [line 25]\n " shape="box"]
|
||||
"test3" [label="3: DeclStmt \n _fun_Y_Y(&y:class Y *) [line 25]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: Exit test \n " color=yellow style=filled]
|
||||
"test3" -> "test2" ;
|
||||
"test2" [label="2: Exit test \n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 [label="16: Start test\nFormals: \nLocals: y:class Y \n DECLARE_LOCALS(&return,&y); [line 25]\n " color=yellow style=filled]
|
||||
"test1" [label="1: Start test\nFormals: \nLocals: y:class Y \n DECLARE_LOCALS(&return,&y); [line 25]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: Constructor Init \n n$2=*&this:class Y * [line 20]\n _fun_X_X(n$2.x1:class X *,1:int ,2:int ) [line 20]\n " shape="box"]
|
||||
"test1" -> "test3" ;
|
||||
"X_X5" [label="5: Constructor Init \n n$2=*&this:class X * [line 11]\n *n$2.a:int =-1 [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: Constructor Init \n n$1=*&this:class Y * [line 21]\n _fun_X_X(n$1.x2:class X *) [line 21]\n " shape="box"]
|
||||
"X_X5" -> "X_X4" ;
|
||||
"X_X4" [label="4: Constructor Init \n n$1=*&this:class X * [line 12]\n *n$1.b:int =-2 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: Constructor Init \n n$0=*&this:class Y * [line 19]\n _fun_X_X(n$0.x3:class X *) [line 19]\n " shape="box"]
|
||||
"X_X4" -> "X_X3" ;
|
||||
"X_X3" [label="3: Constructor Init \n n$0=*&this:class X * [line 13]\n *n$0.c:int =0 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
13 -> 12 ;
|
||||
12 [label="12: Exit Y_Y \n " color=yellow style=filled]
|
||||
"X_X3" -> "X_X2" ;
|
||||
"X_X2" [label="2: Exit X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 [label="11: Start Y_Y\nFormals: this:class Y *\nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
"X_X1" [label="1: Start X_X\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
11 -> 15 ;
|
||||
10 [label="10: Constructor Init \n n$2=*&this:class X * [line 16]\n n$3=*&a:int [line 16]\n n$4=*&b:int [line 16]\n *n$2.a:int =(n$3 + n$4) [line 16]\n " shape="box"]
|
||||
"X_X1" -> "X_X5" ;
|
||||
"Y_Y5" [label="5: Constructor Init \n n$2=*&this:class Y * [line 20]\n _fun_X_X(n$2.x1:class X *,1:int ,2:int ) [line 20]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: Constructor Init \n n$1=*&this:class X * [line 12]\n *n$1.b:int =-2 [line 12]\n " shape="box"]
|
||||
"Y_Y5" -> "Y_Y4" ;
|
||||
"Y_Y4" [label="4: Constructor Init \n n$1=*&this:class Y * [line 21]\n _fun_X_X(n$1.x2:class X *) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Constructor Init \n n$0=*&this:class X * [line 13]\n *n$0.c:int =0 [line 13]\n " shape="box"]
|
||||
"Y_Y4" -> "Y_Y3" ;
|
||||
"Y_Y3" [label="3: Constructor Init \n n$0=*&this:class Y * [line 19]\n _fun_X_X(n$0.x3:class X *) [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 7 ;
|
||||
7 [label="7: Exit X_X \n " color=yellow style=filled]
|
||||
"Y_Y3" -> "Y_Y2" ;
|
||||
"Y_Y2" [label="2: Exit Y_Y \n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 [label="6: Start X_X\nFormals: this:class X * a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
"Y_Y1" [label="1: Start Y_Y\nFormals: this:class Y *\nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
6 -> 10 ;
|
||||
5 [label="5: Constructor Init \n n$2=*&this:class X * [line 11]\n *n$2.a:int =-1 [line 11]\n " shape="box"]
|
||||
"Y_Y1" -> "Y_Y5" ;
|
||||
"X_X5" [label="5: Constructor Init \n n$2=*&this:class X * [line 16]\n n$3=*&a:int [line 16]\n n$4=*&b:int [line 16]\n *n$2.a:int =(n$3 + n$4) [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
5 -> 4 ;
|
||||
4 [label="4: Constructor Init \n n$1=*&this:class X * [line 12]\n *n$1.b:int =-2 [line 12]\n " shape="box"]
|
||||
"X_X5" -> "X_X4" ;
|
||||
"X_X4" [label="4: Constructor Init \n n$1=*&this:class X * [line 12]\n *n$1.b:int =-2 [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Constructor Init \n n$0=*&this:class X * [line 13]\n *n$0.c:int =0 [line 13]\n " shape="box"]
|
||||
"X_X4" -> "X_X3" ;
|
||||
"X_X3" [label="3: Constructor Init \n n$0=*&this:class X * [line 13]\n *n$0.c:int =0 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit X_X \n " color=yellow style=filled]
|
||||
"X_X3" -> "X_X2" ;
|
||||
"X_X2" [label="2: Exit X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start X_X\nFormals: this:class X *\nLocals: \n DECLARE_LOCALS(&return); [line 15]\n " color=yellow style=filled]
|
||||
"X_X1" [label="1: Start X_X\nFormals: this:class X * a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 5 ;
|
||||
"X_X1" -> "X_X5" ;
|
||||
}
|
||||
|
@ -1,72 +1,72 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
18 [label="18: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$0[0]:int =1 [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[1]:int =2 [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[2]:int =3 [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[3]:int =4 [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[4]:int =5 [line 24]\n n$1=_fun___infer_skip_function(&0$?%__sil_tmpSIL_materialize_temp__n$0:int [5]) [line 24]\n _fun_X_X(&x:class X *,n$1:class std::initializer_list<int> ) [line 24]\n " shape="box"]
|
||||
"main3" [label="3: DeclStmt \n *&0$?%__sil_tmpSIL_materialize_temp__n$0[0]:int =1 [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[1]:int =2 [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[2]:int =3 [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[3]:int =4 [line 24]\n *&0$?%__sil_tmpSIL_materialize_temp__n$0[4]:int =5 [line 24]\n n$1=_fun___infer_skip_function(&0$?%__sil_tmpSIL_materialize_temp__n$0:int [5]) [line 24]\n _fun_X_X(&x:class X *,n$1:class std::initializer_list<int> ) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 [label="16: Start main\nFormals: \nLocals: x:class X 0$?%__sil_tmpSIL_materialize_temp__n$0:int [5] \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 24]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: x:class X 0$?%__sil_tmpSIL_materialize_temp__n$0:int [5] \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$0); [line 24]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: BinaryOperatorStmt: Assign \n n$8=*&this:class X * [line 16]\n n$9=*&this:class X * [line 16]\n n$10=*n$9.sum:int [line 16]\n n$11=*&i:int * [line 16]\n n$12=*n$11:int [line 16]\n *n$8.sum:int =(n$10 + n$12) [line 16]\n " shape="box"]
|
||||
"main1" -> "main3" ;
|
||||
"X_X9" [label="9: BinaryOperatorStmt: Assign \n n$8=*&this:class X * [line 16]\n n$9=*&this:class X * [line 16]\n n$10=*n$9.sum:int [line 16]\n n$11=*&i:int * [line 16]\n n$12=*n$11:int [line 16]\n *n$8.sum:int =(n$10 + n$12) [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 11 ;
|
||||
14 [label="14: Prune (false branch) \n PRUNE(((n$4 != n$7) == 0), false); [line 15]\n " shape="invhouse"]
|
||||
"X_X9" -> "X_X5" ;
|
||||
"X_X8" [label="8: Prune (false branch) \n PRUNE(((n$4 != n$7) == 0), false); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
14 -> 8 ;
|
||||
13 [label="13: Prune (true branch) \n PRUNE(((n$4 != n$7) != 0), true); [line 15]\n " shape="invhouse"]
|
||||
"X_X8" -> "X_X2" ;
|
||||
"X_X7" [label="7: Prune (true branch) \n PRUNE(((n$4 != n$7) != 0), true); [line 15]\n " shape="invhouse"]
|
||||
|
||||
|
||||
13 -> 15 ;
|
||||
12 [label="12: BinaryOperatorStmt: NE \n n$4=*&i:int * [line 15]\n n$5=*&list:class std::initializer_list<int> & [line 15]\n _=*n$5:class std::initializer_list<int> [line 15]\n n$7=_fun_std::initializer_list<int>_end(n$5:class std::initializer_list<int> &) [line 15]\n " shape="box"]
|
||||
"X_X7" -> "X_X9" ;
|
||||
"X_X6" [label="6: BinaryOperatorStmt: NE \n n$4=*&i:int * [line 15]\n n$5=*&list:class std::initializer_list<int> & [line 15]\n _=*n$5:class std::initializer_list<int> [line 15]\n n$7=_fun_std::initializer_list<int>_end(n$5:class std::initializer_list<int> &) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 13 ;
|
||||
12 -> 14 ;
|
||||
11 [label="11: UnaryOperator \n n$3=*&i:int * [line 15]\n *&i:int *=(n$3 + 1) [line 15]\n " shape="box"]
|
||||
"X_X6" -> "X_X7" ;
|
||||
"X_X6" -> "X_X8" ;
|
||||
"X_X5" [label="5: UnaryOperator \n n$3=*&i:int * [line 15]\n *&i:int *=(n$3 + 1) [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 9 ;
|
||||
10 [label="10: DeclStmt \n n$0=*&list:class std::initializer_list<int> & [line 15]\n _=*n$0:class std::initializer_list<int> [line 15]\n n$2=_fun_std::initializer_list<int>_begin(n$0:class std::initializer_list<int> &) [line 15]\n *&i:int *=n$2 [line 15]\n " shape="box"]
|
||||
"X_X5" -> "X_X3" ;
|
||||
"X_X4" [label="4: DeclStmt \n n$0=*&list:class std::initializer_list<int> & [line 15]\n _=*n$0:class std::initializer_list<int> [line 15]\n n$2=_fun_std::initializer_list<int>_begin(n$0:class std::initializer_list<int> &) [line 15]\n *&i:int *=n$2 [line 15]\n " shape="box"]
|
||||
|
||||
|
||||
10 -> 9 ;
|
||||
9 [label="9: + \n " ]
|
||||
"X_X4" -> "X_X3" ;
|
||||
"X_X3" [label="3: + \n " ]
|
||||
|
||||
|
||||
9 -> 12 ;
|
||||
8 [label="8: Exit X_X \n " color=yellow style=filled]
|
||||
"X_X3" -> "X_X6" ;
|
||||
"X_X2" [label="2: Exit X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 [label="7: Start X_X\nFormals: this:class X * list:class std::initializer_list<int> &\nLocals: i:int * \n DECLARE_LOCALS(&return,&i); [line 14]\n " color=yellow style=filled]
|
||||
"X_X1" [label="1: Start X_X\nFormals: this:class X * list:class std::initializer_list<int> &\nLocals: i:int * \n DECLARE_LOCALS(&return,&i); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 -> 10 ;
|
||||
6 [label="6: Return Stmt \n n$0=*&this:class std::initializer_list<int> * [line 93]\n n$1=*n$0.__begin_:int * [line 93]\n n$2=*&this:class std::initializer_list<int> * [line 93]\n n$3=*n$2.__size_:unsigned long [line 93]\n *&return:int *=(n$1 + n$3) [line 93]\n " shape="box"]
|
||||
"X_X1" -> "X_X4" ;
|
||||
"std::initializer_list<int>_end3" [label="3: Return Stmt \n n$0=*&this:class std::initializer_list<int> * [line 93]\n n$1=*n$0.__begin_:int * [line 93]\n n$2=*&this:class std::initializer_list<int> * [line 93]\n n$3=*n$2.__size_:unsigned long [line 93]\n *&return:int *=(n$1 + n$3) [line 93]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit std::initializer_list<int>_end \n " color=yellow style=filled]
|
||||
"std::initializer_list<int>_end3" -> "std::initializer_list<int>_end2" ;
|
||||
"std::initializer_list<int>_end2" [label="2: Exit std::initializer_list<int>_end \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start std::initializer_list<int>_end\nFormals: this:class std::initializer_list<int> *\nLocals: \n DECLARE_LOCALS(&return); [line 91]\n " color=yellow style=filled]
|
||||
"std::initializer_list<int>_end1" [label="1: Start std::initializer_list<int>_end\nFormals: this:class std::initializer_list<int> *\nLocals: \n DECLARE_LOCALS(&return); [line 91]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&this:class std::initializer_list<int> * [line 89]\n n$1=*n$0.__begin_:int * [line 89]\n *&return:int *=n$1 [line 89]\n " shape="box"]
|
||||
"std::initializer_list<int>_end1" -> "std::initializer_list<int>_end3" ;
|
||||
"std::initializer_list<int>_begin3" [label="3: Return Stmt \n n$0=*&this:class std::initializer_list<int> * [line 89]\n n$1=*n$0.__begin_:int * [line 89]\n *&return:int *=n$1 [line 89]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit std::initializer_list<int>_begin \n " color=yellow style=filled]
|
||||
"std::initializer_list<int>_begin3" -> "std::initializer_list<int>_begin2" ;
|
||||
"std::initializer_list<int>_begin2" [label="2: Exit std::initializer_list<int>_begin \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start std::initializer_list<int>_begin\nFormals: this:class std::initializer_list<int> *\nLocals: \n DECLARE_LOCALS(&return); [line 87]\n " color=yellow style=filled]
|
||||
"std::initializer_list<int>_begin1" [label="1: Start std::initializer_list<int>_begin\nFormals: this:class std::initializer_list<int> *\nLocals: \n DECLARE_LOCALS(&return); [line 87]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"std::initializer_list<int>_begin1" -> "std::initializer_list<int>_begin3" ;
|
||||
}
|
||||
|
@ -1,161 +1,161 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
43 [label="43: Return Stmt \n _fun_temp_object::getX(1:int ,0:int ,&0$?%__sil_tmp__temp_return_n$1:class temp_object::X *) [line 45]\n n$2=*&0$?%__sil_tmp__temp_return_n$1.f:int [line 45]\n n$3=_fun_temp_object::div(n$2:int ) [line 45]\n *&return:int =n$3 [line 45]\n " shape="box"]
|
||||
"temp_object::getX_field_div03" [label="3: Return Stmt \n _fun_temp_object::getX(0:int ,1:int ,&0$?%__sil_tmp__temp_return_n$1:class temp_object::X *) [line 39]\n n$2=*&0$?%__sil_tmp__temp_return_n$1.f:int [line 39]\n n$3=_fun_temp_object::div(n$2:int ) [line 39]\n *&return:int =n$3 [line 39]\n " shape="box"]
|
||||
|
||||
|
||||
43 -> 42 ;
|
||||
42 [label="42: Exit temp_object::getX_field_div1 \n " color=yellow style=filled]
|
||||
"temp_object::getX_field_div03" -> "temp_object::getX_field_div02" ;
|
||||
"temp_object::getX_field_div02" [label="2: Exit temp_object::getX_field_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
41 [label="41: Start temp_object::getX_field_div1\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 45]\n " color=yellow style=filled]
|
||||
"temp_object::getX_field_div01" [label="1: Start temp_object::getX_field_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 39]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
41 -> 43 ;
|
||||
40 [label="40: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X *,1:int ,0:int ) [line 43]\n n$1=*&0$?%__sil_tmp__temp_construct_n$0.f:int [line 43]\n n$2=_fun_temp_object::div(n$1:int ) [line 43]\n *&return:int =n$2 [line 43]\n " shape="box"]
|
||||
"temp_object::getX_field_div01" -> "temp_object::getX_field_div03" ;
|
||||
"temp_object::temp_field2_div03" [label="3: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X *,0:int ) [line 35]\n n$1=*&0$?%__sil_tmp__temp_construct_n$0.f:int [line 35]\n n$2=_fun_temp_object::div(n$1:int ) [line 35]\n *&return:int =n$2 [line 35]\n " shape="box"]
|
||||
|
||||
|
||||
40 -> 39 ;
|
||||
39 [label="39: Exit temp_object::temp_field_div1 \n " color=yellow style=filled]
|
||||
"temp_object::temp_field2_div03" -> "temp_object::temp_field2_div02" ;
|
||||
"temp_object::temp_field2_div02" [label="2: Exit temp_object::temp_field2_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
38 [label="38: Start temp_object::temp_field_div1\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0); [line 43]\n " color=yellow style=filled]
|
||||
"temp_object::temp_field2_div01" [label="1: Start temp_object::temp_field2_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0); [line 35]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
38 -> 40 ;
|
||||
37 [label="37: Return Stmt \n _fun_temp_object::getX(0:int ,1:int ,&0$?%__sil_tmp__temp_return_n$1:class temp_object::X *) [line 41]\n n$2=_fun_temp_object::X_div(&0$?%__sil_tmp__temp_return_n$1:class temp_object::X &) [line 41]\n *&return:int =n$2 [line 41]\n " shape="box"]
|
||||
"temp_object::temp_field2_div01" -> "temp_object::temp_field2_div03" ;
|
||||
"temp_object::getX3" [label="3: Return Stmt \n n$0=*&__return_param:class temp_object::X * [line 26]\n n$2=*&a:int [line 26]\n n$3=*&b:int [line 26]\n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:class temp_object::X *,n$2:int ,n$3:int ) [line 26]\n _fun_temp_object::X_X(n$0:class temp_object::X *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class temp_object::X &) [line 26]\n " shape="box"]
|
||||
|
||||
|
||||
37 -> 36 ;
|
||||
36 [label="36: Exit temp_object::getX_method_div0 \n " color=yellow style=filled]
|
||||
"temp_object::getX3" -> "temp_object::getX2" ;
|
||||
"temp_object::getX2" [label="2: Exit temp_object::getX \n " color=yellow style=filled]
|
||||
|
||||
|
||||
35 [label="35: Start temp_object::getX_method_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 41]\n " color=yellow style=filled]
|
||||
"temp_object::getX1" [label="1: Start temp_object::getX\nFormals: a:int b:int __return_param:class temp_object::X *\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 26]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
35 -> 37 ;
|
||||
34 [label="34: Return Stmt \n _fun_temp_object::getX(0:int ,1:int ,&0$?%__sil_tmp__temp_return_n$1:class temp_object::X *) [line 39]\n n$2=*&0$?%__sil_tmp__temp_return_n$1.f:int [line 39]\n n$3=_fun_temp_object::div(n$2:int ) [line 39]\n *&return:int =n$3 [line 39]\n " shape="box"]
|
||||
"temp_object::getX1" -> "temp_object::getX3" ;
|
||||
"temp_object::div3" [label="3: Return Stmt \n n$0=*&f:int [line 21]\n *&return:int =(1 / n$0) [line 21]\n " shape="box"]
|
||||
|
||||
|
||||
34 -> 33 ;
|
||||
33 [label="33: Exit temp_object::getX_field_div0 \n " color=yellow style=filled]
|
||||
"temp_object::div3" -> "temp_object::div2" ;
|
||||
"temp_object::div2" [label="2: Exit temp_object::div \n " color=yellow style=filled]
|
||||
|
||||
|
||||
32 [label="32: Start temp_object::getX_field_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 39]\n " color=yellow style=filled]
|
||||
"temp_object::div1" [label="1: Start temp_object::div\nFormals: f:int \nLocals: \n DECLARE_LOCALS(&return); [line 21]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
32 -> 34 ;
|
||||
31 [label="31: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X *,0:int ,1:int ) [line 37]\n n$1=_fun_temp_object::X_div(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X &) [line 37]\n *&return:int =n$1 [line 37]\n " shape="box"]
|
||||
"temp_object::div1" -> "temp_object::div3" ;
|
||||
"temp_object::X_div3" [label="3: Return Stmt \n n$0=*&this:class temp_object::X * [line 18]\n n$1=*n$0.f:int [line 18]\n *&return:int =(1 / n$1) [line 18]\n " shape="box"]
|
||||
|
||||
|
||||
31 -> 30 ;
|
||||
30 [label="30: Exit temp_object::temp_method_div0 \n " color=yellow style=filled]
|
||||
"temp_object::X_div3" -> "temp_object::X_div2" ;
|
||||
"temp_object::X_div2" [label="2: Exit temp_object::X_div \n " color=yellow style=filled]
|
||||
|
||||
|
||||
29 [label="29: Start temp_object::temp_method_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0); [line 37]\n " color=yellow style=filled]
|
||||
"temp_object::X_div1" [label="1: Start temp_object::X_div\nFormals: this:class temp_object::X *\nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
29 -> 31 ;
|
||||
28 [label="28: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X *,0:int ) [line 35]\n n$1=*&0$?%__sil_tmp__temp_construct_n$0.f:int [line 35]\n n$2=_fun_temp_object::div(n$1:int ) [line 35]\n *&return:int =n$2 [line 35]\n " shape="box"]
|
||||
"temp_object::X_div1" -> "temp_object::X_div3" ;
|
||||
"temp_object::temp_field_div03" [label="3: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X *,0:int ,1:int ) [line 33]\n n$1=*&0$?%__sil_tmp__temp_construct_n$0.f:int [line 33]\n n$2=_fun_temp_object::div(n$1:int ) [line 33]\n *&return:int =n$2 [line 33]\n " shape="box"]
|
||||
|
||||
|
||||
28 -> 27 ;
|
||||
27 [label="27: Exit temp_object::temp_field2_div0 \n " color=yellow style=filled]
|
||||
"temp_object::temp_field_div03" -> "temp_object::temp_field_div02" ;
|
||||
"temp_object::temp_field_div02" [label="2: Exit temp_object::temp_field_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
26 [label="26: Start temp_object::temp_field2_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0); [line 35]\n " color=yellow style=filled]
|
||||
"temp_object::temp_field_div01" [label="1: Start temp_object::temp_field_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0); [line 33]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
26 -> 28 ;
|
||||
25 [label="25: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X *,0:int ,1:int ) [line 33]\n n$1=*&0$?%__sil_tmp__temp_construct_n$0.f:int [line 33]\n n$2=_fun_temp_object::div(n$1:int ) [line 33]\n *&return:int =n$2 [line 33]\n " shape="box"]
|
||||
"temp_object::temp_field_div01" -> "temp_object::temp_field_div03" ;
|
||||
"temp_object::getX_field_div13" [label="3: Return Stmt \n _fun_temp_object::getX(1:int ,0:int ,&0$?%__sil_tmp__temp_return_n$1:class temp_object::X *) [line 45]\n n$2=*&0$?%__sil_tmp__temp_return_n$1.f:int [line 45]\n n$3=_fun_temp_object::div(n$2:int ) [line 45]\n *&return:int =n$3 [line 45]\n " shape="box"]
|
||||
|
||||
|
||||
25 -> 24 ;
|
||||
24 [label="24: Exit temp_object::temp_field_div0 \n " color=yellow style=filled]
|
||||
"temp_object::getX_field_div13" -> "temp_object::getX_field_div12" ;
|
||||
"temp_object::getX_field_div12" [label="2: Exit temp_object::getX_field_div1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
23 [label="23: Start temp_object::temp_field_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0); [line 33]\n " color=yellow style=filled]
|
||||
"temp_object::getX_field_div11" [label="1: Start temp_object::getX_field_div1\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 45]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
23 -> 25 ;
|
||||
22 [label="22: DeclStmt \n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:class temp_object::X *,0:int ,1:int ) [line 29]\n _fun_temp_object::X_X(&x:class temp_object::X *,&0$?%__sil_tmpSIL_materialize_temp__n$2:class temp_object::X &) [line 29]\n " shape="box"]
|
||||
"temp_object::getX_field_div11" -> "temp_object::getX_field_div13" ;
|
||||
"temp_object::temp_field_div13" [label="3: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X *,1:int ,0:int ) [line 43]\n n$1=*&0$?%__sil_tmp__temp_construct_n$0.f:int [line 43]\n n$2=_fun_temp_object::div(n$1:int ) [line 43]\n *&return:int =n$2 [line 43]\n " shape="box"]
|
||||
|
||||
|
||||
22 -> 21 ;
|
||||
21 [label="21: Return Stmt \n _=*&x:class temp_object::X [line 30]\n n$1=_fun_temp_object::X_div(&x:class temp_object::X &) [line 30]\n *&return:int =n$1 [line 30]\n " shape="box"]
|
||||
"temp_object::temp_field_div13" -> "temp_object::temp_field_div12" ;
|
||||
"temp_object::temp_field_div12" [label="2: Exit temp_object::temp_field_div1 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
21 -> 20 ;
|
||||
20 [label="20: Exit temp_object::assign_temp_div0 \n " color=yellow style=filled]
|
||||
"temp_object::temp_field_div11" [label="1: Start temp_object::temp_field_div1\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0); [line 43]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
19 [label="19: Start temp_object::assign_temp_div0\nFormals: \nLocals: x:class temp_object::X 0$?%__sil_tmpSIL_materialize_temp__n$2:class temp_object::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 28]\n " color=yellow style=filled]
|
||||
"temp_object::temp_field_div11" -> "temp_object::temp_field_div13" ;
|
||||
"temp_object::assign_temp_div04" [label="4: DeclStmt \n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$2:class temp_object::X *,0:int ,1:int ) [line 29]\n _fun_temp_object::X_X(&x:class temp_object::X *,&0$?%__sil_tmpSIL_materialize_temp__n$2:class temp_object::X &) [line 29]\n " shape="box"]
|
||||
|
||||
|
||||
19 -> 22 ;
|
||||
18 [label="18: Return Stmt \n n$0=*&__return_param:class temp_object::X * [line 26]\n n$2=*&a:int [line 26]\n n$3=*&b:int [line 26]\n _fun_temp_object::X_X(&0$?%__sil_tmpSIL_materialize_temp__n$1:class temp_object::X *,n$2:int ,n$3:int ) [line 26]\n _fun_temp_object::X_X(n$0:class temp_object::X *,&0$?%__sil_tmpSIL_materialize_temp__n$1:class temp_object::X &) [line 26]\n " shape="box"]
|
||||
"temp_object::assign_temp_div04" -> "temp_object::assign_temp_div03" ;
|
||||
"temp_object::assign_temp_div03" [label="3: Return Stmt \n _=*&x:class temp_object::X [line 30]\n n$1=_fun_temp_object::X_div(&x:class temp_object::X &) [line 30]\n *&return:int =n$1 [line 30]\n " shape="box"]
|
||||
|
||||
|
||||
18 -> 17 ;
|
||||
17 [label="17: Exit temp_object::getX \n " color=yellow style=filled]
|
||||
"temp_object::assign_temp_div03" -> "temp_object::assign_temp_div02" ;
|
||||
"temp_object::assign_temp_div02" [label="2: Exit temp_object::assign_temp_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 [label="16: Start temp_object::getX\nFormals: a:int b:int __return_param:class temp_object::X *\nLocals: 0$?%__sil_tmpSIL_materialize_temp__n$1:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmpSIL_materialize_temp__n$1); [line 26]\n " color=yellow style=filled]
|
||||
"temp_object::assign_temp_div01" [label="1: Start temp_object::assign_temp_div0\nFormals: \nLocals: x:class temp_object::X 0$?%__sil_tmpSIL_materialize_temp__n$2:class temp_object::X \n DECLARE_LOCALS(&return,&x,&0$?%__sil_tmpSIL_materialize_temp__n$2); [line 28]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
16 -> 18 ;
|
||||
15 [label="15: Return Stmt \n n$0=*&f:int [line 21]\n *&return:int =(1 / n$0) [line 21]\n " shape="box"]
|
||||
"temp_object::assign_temp_div01" -> "temp_object::assign_temp_div04" ;
|
||||
"temp_object::X_X3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class temp_object::X * [line 14]\n n$1=*&a:int [line 14]\n *n$0.f:int =n$1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
15 -> 14 ;
|
||||
14 [label="14: Exit temp_object::div \n " color=yellow style=filled]
|
||||
"temp_object::X_X3" -> "temp_object::X_X2" ;
|
||||
"temp_object::X_X2" [label="2: Exit temp_object::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 [label="13: Start temp_object::div\nFormals: f:int \nLocals: \n DECLARE_LOCALS(&return); [line 21]\n " color=yellow style=filled]
|
||||
"temp_object::X_X1" [label="1: Start temp_object::X_X\nFormals: this:class temp_object::X * a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
13 -> 15 ;
|
||||
12 [label="12: Return Stmt \n n$0=*&this:class temp_object::X * [line 18]\n n$1=*n$0.f:int [line 18]\n *&return:int =(1 / n$1) [line 18]\n " shape="box"]
|
||||
"temp_object::X_X1" -> "temp_object::X_X3" ;
|
||||
"temp_object::X_X3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class temp_object::X * [line 13]\n n$1=*&a:int [line 13]\n *n$0.f:int =n$1 [line 13]\n " shape="box"]
|
||||
|
||||
|
||||
12 -> 11 ;
|
||||
11 [label="11: Exit temp_object::X_div \n " color=yellow style=filled]
|
||||
"temp_object::X_X3" -> "temp_object::X_X2" ;
|
||||
"temp_object::X_X2" [label="2: Exit temp_object::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 [label="10: Start temp_object::X_div\nFormals: this:class temp_object::X *\nLocals: \n DECLARE_LOCALS(&return); [line 18]\n " color=yellow style=filled]
|
||||
"temp_object::X_X1" [label="1: Start temp_object::X_X\nFormals: this:class temp_object::X * a:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
10 -> 12 ;
|
||||
9 [label="9: BinaryOperatorStmt: Assign \n n$0=*&this:class temp_object::X * [line 16]\n n$1=*&x:class temp_object::X & [line 16]\n n$2=*n$1.f:int [line 16]\n *n$0.f:int =n$2 [line 16]\n " shape="box"]
|
||||
"temp_object::X_X1" -> "temp_object::X_X3" ;
|
||||
"temp_object::X_X3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class temp_object::X * [line 16]\n n$1=*&x:class temp_object::X & [line 16]\n n$2=*n$1.f:int [line 16]\n *n$0.f:int =n$2 [line 16]\n " shape="box"]
|
||||
|
||||
|
||||
9 -> 8 ;
|
||||
8 [label="8: Exit temp_object::X_X \n " color=yellow style=filled]
|
||||
"temp_object::X_X3" -> "temp_object::X_X2" ;
|
||||
"temp_object::X_X2" [label="2: Exit temp_object::X_X \n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 [label="7: Start temp_object::X_X\nFormals: this:class temp_object::X * x:class temp_object::X &\nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
"temp_object::X_X1" [label="1: Start temp_object::X_X\nFormals: this:class temp_object::X * x:class temp_object::X &\nLocals: \n DECLARE_LOCALS(&return); [line 16]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
7 -> 9 ;
|
||||
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&this:class temp_object::X * [line 14]\n n$1=*&a:int [line 14]\n *n$0.f:int =n$1 [line 14]\n " shape="box"]
|
||||
"temp_object::X_X1" -> "temp_object::X_X3" ;
|
||||
"temp_object::getX_method_div03" [label="3: Return Stmt \n _fun_temp_object::getX(0:int ,1:int ,&0$?%__sil_tmp__temp_return_n$1:class temp_object::X *) [line 41]\n n$2=_fun_temp_object::X_div(&0$?%__sil_tmp__temp_return_n$1:class temp_object::X &) [line 41]\n *&return:int =n$2 [line 41]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 5 ;
|
||||
5 [label="5: Exit temp_object::X_X \n " color=yellow style=filled]
|
||||
"temp_object::getX_method_div03" -> "temp_object::getX_method_div02" ;
|
||||
"temp_object::getX_method_div02" [label="2: Exit temp_object::getX_method_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 [label="4: Start temp_object::X_X\nFormals: this:class temp_object::X * a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 14]\n " color=yellow style=filled]
|
||||
"temp_object::getX_method_div01" [label="1: Start temp_object::getX_method_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_return_n$1:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_return_n$1); [line 41]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 6 ;
|
||||
3 [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:class temp_object::X * [line 13]\n n$1=*&a:int [line 13]\n *n$0.f:int =n$1 [line 13]\n " shape="box"]
|
||||
"temp_object::getX_method_div01" -> "temp_object::getX_method_div03" ;
|
||||
"temp_object::temp_method_div03" [label="3: Return Stmt \n _fun_temp_object::X_X(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X *,0:int ,1:int ) [line 37]\n n$1=_fun_temp_object::X_div(&0$?%__sil_tmp__temp_construct_n$0:class temp_object::X &) [line 37]\n *&return:int =n$1 [line 37]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit temp_object::X_X \n " color=yellow style=filled]
|
||||
"temp_object::temp_method_div03" -> "temp_object::temp_method_div02" ;
|
||||
"temp_object::temp_method_div02" [label="2: Exit temp_object::temp_method_div0 \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start temp_object::X_X\nFormals: this:class temp_object::X * a:int \nLocals: \n DECLARE_LOCALS(&return); [line 13]\n " color=yellow style=filled]
|
||||
"temp_object::temp_method_div01" [label="1: Start temp_object::temp_method_div0\nFormals: \nLocals: 0$?%__sil_tmp__temp_construct_n$0:class temp_object::X \n DECLARE_LOCALS(&return,&0$?%__sil_tmp__temp_construct_n$0); [line 37]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 3 ;
|
||||
"temp_object::temp_method_div01" -> "temp_object::temp_method_div03" ;
|
||||
}
|
||||
|
@ -1,68 +1,68 @@
|
||||
/* @generated */
|
||||
digraph iCFG {
|
||||
17 [label="17: Return Stmt \n n$0=_fun_deref(0:int *) [line 28]\n *&return:int =n$0 [line 28]\n " shape="box"]
|
||||
"main3" [label="3: Return Stmt \n n$0=_fun_deref(0:int *) [line 28]\n *&return:int =n$0 [line 28]\n " shape="box"]
|
||||
|
||||
|
||||
17 -> 16 ;
|
||||
16 [label="16: Exit main \n " color=yellow style=filled]
|
||||
"main3" -> "main2" ;
|
||||
"main2" [label="2: Exit main \n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 [label="15: Start main\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 26]\n " color=yellow style=filled]
|
||||
"main1" [label="1: Start main\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 26]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
15 -> 17 ;
|
||||
14 [label="14: Call _fun_deref_null \n n$0=_fun_deref_null(null:int *) [line 24]\n " shape="box"]
|
||||
"main1" -> "main3" ;
|
||||
"call_deref_with_null3" [label="3: Call _fun_deref_null \n n$0=_fun_deref_null(null:int *) [line 24]\n " shape="box"]
|
||||
|
||||
|
||||
14 -> 13 ;
|
||||
13 [label="13: Exit call_deref_with_null \n " color=yellow style=filled]
|
||||
"call_deref_with_null3" -> "call_deref_with_null2" ;
|
||||
"call_deref_with_null2" [label="2: Exit call_deref_with_null \n " color=yellow style=filled]
|
||||
|
||||
|
||||
12 [label="12: Start call_deref_with_null\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled]
|
||||
"call_deref_with_null1" [label="1: Start call_deref_with_null\nFormals: \nLocals: \n DECLARE_LOCALS(&return); [line 24]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
12 -> 14 ;
|
||||
11 [label="11: Return Stmt \n n$0=*&p:int * [line 19]\n n$1=*n$0:int [line 19]\n *&return:int =n$1 [line 19]\n " shape="box"]
|
||||
"call_deref_with_null1" -> "call_deref_with_null3" ;
|
||||
"deref8" [label="8: ObjCCPPThrow \n _fun___infer_objc_cpp_throw(\"Null pointer!\":char *) [line 12]\n " shape="box"]
|
||||
|
||||
|
||||
11 -> 10 ;
|
||||
10 [label="10: Exit deref_null \n " color=yellow style=filled]
|
||||
"deref8" -> "deref4" ;
|
||||
"deref7" [label="7: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 [label="9: Start deref_null\nFormals: p:int *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
"deref7" -> "deref4" ;
|
||||
"deref6" [label="6: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 11]\n " shape="invhouse"]
|
||||
|
||||
|
||||
9 -> 11 ;
|
||||
8 [label="8: ObjCCPPThrow \n _fun___infer_objc_cpp_throw(\"Null pointer!\":char *) [line 12]\n " shape="box"]
|
||||
"deref6" -> "deref8" ;
|
||||
"deref5" [label="5: BinaryOperatorStmt: EQ \n n$2=*&p:int * [line 11]\n " shape="box"]
|
||||
|
||||
|
||||
8 -> 4 ;
|
||||
7 [label="7: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 11]\n " shape="invhouse"]
|
||||
"deref5" -> "deref6" ;
|
||||
"deref5" -> "deref7" ;
|
||||
"deref4" [label="4: + \n " ]
|
||||
|
||||
|
||||
7 -> 4 ;
|
||||
6 [label="6: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 11]\n " shape="invhouse"]
|
||||
"deref4" -> "deref3" ;
|
||||
"deref3" [label="3: Return Stmt \n n$0=*&p:int * [line 14]\n n$1=*n$0:int [line 14]\n *&return:int =n$1 [line 14]\n " shape="box"]
|
||||
|
||||
|
||||
6 -> 8 ;
|
||||
5 [label="5: BinaryOperatorStmt: EQ \n n$2=*&p:int * [line 11]\n " shape="box"]
|
||||
"deref3" -> "deref2" ;
|
||||
"deref2" [label="2: Exit deref \n " color=yellow style=filled]
|
||||
|
||||
|
||||
5 -> 6 ;
|
||||
5 -> 7 ;
|
||||
4 [label="4: + \n " ]
|
||||
"deref1" [label="1: Start deref\nFormals: p:int *\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
4 -> 3 ;
|
||||
3 [label="3: Return Stmt \n n$0=*&p:int * [line 14]\n n$1=*n$0:int [line 14]\n *&return:int =n$1 [line 14]\n " shape="box"]
|
||||
"deref1" -> "deref5" ;
|
||||
"deref_null3" [label="3: Return Stmt \n n$0=*&p:int * [line 19]\n n$1=*n$0:int [line 19]\n *&return:int =n$1 [line 19]\n " shape="box"]
|
||||
|
||||
|
||||
3 -> 2 ;
|
||||
2 [label="2: Exit deref \n " color=yellow style=filled]
|
||||
"deref_null3" -> "deref_null2" ;
|
||||
"deref_null2" [label="2: Exit deref_null \n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 [label="1: Start deref\nFormals: p:int *\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled]
|
||||
"deref_null1" [label="1: Start deref_null\nFormals: p:int *\nLocals: \n DECLARE_LOCALS(&return); [line 17]\n " color=yellow style=filled]
|
||||
|
||||
|
||||
1 -> 5 ;
|
||||
"deref_null1" -> "deref_null3" ;
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue