mirror of
https://github.com/github/codeql.git
synced 2026-05-02 12:15:17 +02:00
C++: test changes for interproc escape analysis
This commit is contained in:
@@ -1,5 +1,44 @@
|
||||
void CallByPointer(int* p);
|
||||
void CallByReference(int& r);
|
||||
int *GetPointer();
|
||||
int &GetReference();
|
||||
|
||||
int FetchFromPointer(int *no_p) {
|
||||
return *no_p;
|
||||
}
|
||||
|
||||
int FetchFromReference(int &no_r) {
|
||||
return no_r;
|
||||
}
|
||||
|
||||
int *ReturnPointer(int *no_p) {
|
||||
return no_p;
|
||||
}
|
||||
|
||||
int &ReturnReference(int &no_r) {
|
||||
return no_r;
|
||||
}
|
||||
|
||||
void CallByPointerParamEscape(int *no_p) {
|
||||
CallByPointer(no_p);
|
||||
}
|
||||
|
||||
void CallByReferenceParamEscape(int &no_r) {
|
||||
CallByReference(no_r);
|
||||
}
|
||||
|
||||
int *MaybeReturn(int *no_p, int *no_q, bool no_b) {
|
||||
if (no_b) {
|
||||
return no_p;
|
||||
} else {
|
||||
return no_q;
|
||||
}
|
||||
}
|
||||
|
||||
int &EscapeAndReturn(int &no_r) {
|
||||
CallByReference(no_r);
|
||||
return no_r;
|
||||
}
|
||||
|
||||
struct Point {
|
||||
float x;
|
||||
@@ -95,4 +134,39 @@ void Escape()
|
||||
|
||||
int passByRef;
|
||||
CallByReference(passByRef);
|
||||
|
||||
int no_ssa_passByPtr;
|
||||
FetchFromPointer(&no_ssa_passByPtr);
|
||||
|
||||
int no_ssa_passByRef;
|
||||
FetchFromReference(no_ssa_passByRef);
|
||||
|
||||
int no_ssa_passByPtr_ret;
|
||||
FetchFromPointer(&no_ssa_passByPtr_ret);
|
||||
|
||||
int no_ssa_passByRef_ret;
|
||||
FetchFromReference(no_ssa_passByRef_ret);
|
||||
|
||||
int passByPtr2;
|
||||
CallByPointerParamEscape(&passByPtr2);
|
||||
|
||||
int passByRef2;
|
||||
CallByReferenceParamEscape(passByRef2);
|
||||
|
||||
int passByPtr3;
|
||||
CallByPointerParamEscape(ReturnPointer(&passByPtr3));
|
||||
|
||||
int passByRef3;
|
||||
CallByReferenceParamEscape(ReturnReference(passByRef3));
|
||||
|
||||
int passByPtr4;
|
||||
int passByPtr5;
|
||||
bool no_b2 = false;
|
||||
MaybeReturn(&passByPtr4, &passByPtr5, no_b2);
|
||||
|
||||
int passByRef6;
|
||||
EscapeAndReturn(passByRef6);
|
||||
|
||||
int no_ssa_passByRef7;
|
||||
ReturnReference(no_ssa_passByRef7);
|
||||
}
|
||||
|
||||
@@ -1,108 +1,168 @@
|
||||
| escape.cpp:32:9:32:17 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:33:9:33:11 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:35:5:35:7 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:36:5:36:7 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:36:11:36:13 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:37:5:37:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:37:17:37:19 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:38:5:38:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:38:19:38:21 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:40:5:40:7 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:41:6:41:8 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:42:5:42:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:42:19:42:28 | PointerAdd[4] | no_+0:0 |
|
||||
| escape.cpp:42:21:42:23 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:43:5:43:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:43:19:43:28 | PointerSub[4] | no_+0:0 |
|
||||
| escape.cpp:43:21:43:23 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:44:5:44:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:44:19:44:26 | PointerAdd[4] | no_+0:0 |
|
||||
| escape.cpp:44:24:44:26 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:45:10:45:12 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:47:13:47:15 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:50:15:50:17 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:51:10:51:12 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:51:16:51:18 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:51:22:51:24 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:54:10:54:12 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:56:13:56:15 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:59:9:59:16 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:60:5:60:12 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:61:5:61:18 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:61:11:61:18 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:61:11:61:18 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:62:5:62:12 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:62:5:62:12 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:62:5:62:15 | PointerAdd[4] | no_Array+20:0 |
|
||||
| escape.cpp:63:5:63:15 | PointerAdd[4] | no_Array+20:0 |
|
||||
| escape.cpp:63:7:63:14 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:63:7:63:14 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:64:5:64:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:64:17:64:24 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:64:17:64:24 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:64:17:64:27 | PointerAdd[4] | no_Array+20:0 |
|
||||
| escape.cpp:65:5:65:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:65:17:65:27 | PointerAdd[4] | no_Array+20:0 |
|
||||
| escape.cpp:65:19:65:26 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:65:19:65:26 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:67:11:67:18 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:67:21:67:32 | FieldAddress[x] | no_Point+0:0 |
|
||||
| escape.cpp:67:21:67:32 | FieldAddress[y] | no_Point+4:0 |
|
||||
| escape.cpp:67:21:67:32 | FieldAddress[z] | no_Point+8:0 |
|
||||
| escape.cpp:68:11:68:14 | VariableAddress[no_x] | no_x+0:0 |
|
||||
| escape.cpp:68:18:68:25 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:68:27:68:27 | FieldAddress[x] | no_Point+0:0 |
|
||||
| escape.cpp:69:5:69:12 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:69:14:69:14 | FieldAddress[y] | no_Point+4:0 |
|
||||
| escape.cpp:69:18:69:21 | VariableAddress[no_x] | no_x+0:0 |
|
||||
| escape.cpp:70:11:70:14 | VariableAddress[no_y] | no_y+0:0 |
|
||||
| escape.cpp:70:20:70:27 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:70:31:70:31 | FieldAddress[y] | no_Point+4:0 |
|
||||
| escape.cpp:71:7:71:14 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:71:18:71:18 | FieldAddress[y] | no_Point+4:0 |
|
||||
| escape.cpp:71:22:71:25 | VariableAddress[no_y] | no_y+0:0 |
|
||||
| escape.cpp:72:11:72:14 | VariableAddress[no_z] | no_z+0:0 |
|
||||
| escape.cpp:72:21:72:28 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:72:30:72:30 | FieldAddress[z] | no_Point+8:0 |
|
||||
| escape.cpp:73:8:73:15 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:73:17:73:17 | FieldAddress[z] | no_Point+8:0 |
|
||||
| escape.cpp:73:22:73:25 | VariableAddress[no_z] | no_z+0:0 |
|
||||
| escape.cpp:75:13:75:22 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:76:5:76:14 | ConvertToBase[Derived : Intermediate1] | no_Derived+0:0 |
|
||||
| escape.cpp:76:5:76:14 | ConvertToBase[Intermediate1 : Base] | no_Derived+0:0 |
|
||||
| escape.cpp:76:5:76:14 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:76:16:76:16 | FieldAddress[b] | no_Derived+0:0 |
|
||||
| escape.cpp:77:11:77:14 | VariableAddress[no_b] | no_b+0:0 |
|
||||
| escape.cpp:77:18:77:27 | ConvertToBase[Derived : Intermediate1] | no_Derived+0:0 |
|
||||
| escape.cpp:77:18:77:27 | ConvertToBase[Intermediate1 : Base] | no_Derived+0:0 |
|
||||
| escape.cpp:77:18:77:27 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:77:29:77:29 | FieldAddress[b] | no_Derived+0:0 |
|
||||
| escape.cpp:78:5:78:14 | ConvertToBase[Derived : Intermediate2] | no_Derived+12:0 |
|
||||
| escape.cpp:78:5:78:14 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:78:16:78:17 | FieldAddress[i2] | no_Derived+16:0 |
|
||||
| escape.cpp:79:11:79:15 | VariableAddress[no_i2] | no_i2+0:0 |
|
||||
| escape.cpp:79:19:79:28 | ConvertToBase[Derived : Intermediate2] | no_Derived+12:0 |
|
||||
| escape.cpp:79:19:79:28 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:79:30:79:31 | FieldAddress[i2] | no_Derived+16:0 |
|
||||
| escape.cpp:81:9:81:21 | VariableAddress[no_ssa_addrOf] | no_ssa_addrOf+0:0 |
|
||||
| escape.cpp:82:10:82:13 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:82:17:82:30 | Store | no_ssa_addrOf+0:0 |
|
||||
| escape.cpp:82:18:82:30 | VariableAddress[no_ssa_addrOf] | no_ssa_addrOf+0:0 |
|
||||
| escape.cpp:84:9:84:20 | VariableAddress[no_ssa_refTo] | no_ssa_refTo+0:0 |
|
||||
| escape.cpp:85:10:85:13 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:85:17:85:28 | Store | no_ssa_refTo+0:0 |
|
||||
| escape.cpp:85:17:85:28 | VariableAddress[no_ssa_refTo] | no_ssa_refTo+0:0 |
|
||||
| escape.cpp:87:9:87:32 | VariableAddress[no_ssa_refToArrayElement] | no_ssa_refToArrayElement+0:0 |
|
||||
| escape.cpp:88:10:88:15 | VariableAddress[no_rae] | no_rae+0:0 |
|
||||
| escape.cpp:88:19:88:42 | Convert | no_ssa_refToArrayElement+0:0 |
|
||||
| escape.cpp:88:19:88:42 | VariableAddress[no_ssa_refToArrayElement] | no_ssa_refToArrayElement+0:0 |
|
||||
| escape.cpp:88:19:88:45 | PointerAdd[4] | no_ssa_refToArrayElement+20:0 |
|
||||
| escape.cpp:88:19:88:45 | Store | no_ssa_refToArrayElement+20:0 |
|
||||
| escape.cpp:90:9:90:25 | VariableAddress[no_ssa_refToArray] | no_ssa_refToArray+0:0 |
|
||||
| escape.cpp:91:11:91:15 | VariableAddress[no_ra] | no_ra+0:0 |
|
||||
| escape.cpp:91:24:91:40 | Store | no_ssa_refToArray+0:0 |
|
||||
| escape.cpp:91:24:91:40 | VariableAddress[no_ssa_refToArray] | no_ssa_refToArray+0:0 |
|
||||
| escape.cpp:93:9:93:17 | VariableAddress[passByPtr] | passByPtr+0:0 |
|
||||
| escape.cpp:94:20:94:28 | VariableAddress[passByPtr] | passByPtr+0:0 |
|
||||
| escape.cpp:96:9:96:17 | VariableAddress[passByRef] | passByRef+0:0 |
|
||||
| escape.cpp:97:21:97:29 | VariableAddress[passByRef] | passByRef+0:0 |
|
||||
| escape.cpp:6:5:6:20 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:6:27:6:30 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:7:3:7:15 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:7:11:7:14 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:10:5:10:22 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:10:29:10:32 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:11:3:11:14 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:11:10:11:13 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:14:6:14:18 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:14:25:14:28 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:15:3:15:14 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:15:10:15:13 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:18:6:18:20 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:18:27:18:30 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:19:3:19:14 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:19:10:19:13 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:22:36:22:39 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:23:17:23:20 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:26:38:26:41 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:27:19:27:22 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:30:6:30:16 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:30:23:30:26 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:30:34:30:37 | VariableAddress[no_q] | no_q+0:0 |
|
||||
| escape.cpp:30:45:30:48 | VariableAddress[no_b] | no_b+0:0 |
|
||||
| escape.cpp:31:7:31:10 | VariableAddress[no_b] | no_b+0:0 |
|
||||
| escape.cpp:32:5:32:16 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:32:12:32:15 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:34:5:34:16 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:34:12:34:15 | VariableAddress[no_q] | no_q+0:0 |
|
||||
| escape.cpp:38:6:38:20 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:38:27:38:30 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:39:19:39:22 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:40:3:40:14 | VariableAddress[#return] | #return+0:0 |
|
||||
| escape.cpp:40:10:40:13 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:71:9:71:17 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:72:9:72:11 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:74:5:74:7 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:75:5:75:7 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:75:11:75:13 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:76:5:76:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:76:17:76:19 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:77:5:77:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:77:19:77:21 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:79:5:79:7 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:80:6:80:8 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:81:5:81:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:81:19:81:28 | PointerAdd[4] | no_+0:0 |
|
||||
| escape.cpp:81:21:81:23 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:82:5:82:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:82:19:82:28 | PointerSub[4] | no_+0:0 |
|
||||
| escape.cpp:82:21:82:23 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:83:5:83:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:83:19:83:26 | PointerAdd[4] | no_+0:0 |
|
||||
| escape.cpp:83:24:83:26 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:84:10:84:12 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:86:13:86:15 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:89:15:89:17 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:90:10:90:12 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:90:16:90:18 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:90:22:90:24 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:93:10:93:12 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:95:13:95:15 | VariableAddress[no_] | no_+0:0 |
|
||||
| escape.cpp:98:9:98:16 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:99:5:99:12 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:100:5:100:18 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:100:11:100:18 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:100:11:100:18 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:101:5:101:12 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:101:5:101:12 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:101:5:101:15 | PointerAdd[4] | no_Array+20:0 |
|
||||
| escape.cpp:102:5:102:15 | PointerAdd[4] | no_Array+20:0 |
|
||||
| escape.cpp:102:7:102:14 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:102:7:102:14 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:103:5:103:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:103:17:103:24 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:103:17:103:24 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:103:17:103:27 | PointerAdd[4] | no_Array+20:0 |
|
||||
| escape.cpp:104:5:104:13 | VariableAddress[no_result] | no_result+0:0 |
|
||||
| escape.cpp:104:17:104:27 | PointerAdd[4] | no_Array+20:0 |
|
||||
| escape.cpp:104:19:104:26 | Convert | no_Array+0:0 |
|
||||
| escape.cpp:104:19:104:26 | VariableAddress[no_Array] | no_Array+0:0 |
|
||||
| escape.cpp:106:11:106:18 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:106:21:106:32 | FieldAddress[x] | no_Point+0:0 |
|
||||
| escape.cpp:106:21:106:32 | FieldAddress[y] | no_Point+4:0 |
|
||||
| escape.cpp:106:21:106:32 | FieldAddress[z] | no_Point+8:0 |
|
||||
| escape.cpp:107:11:107:14 | VariableAddress[no_x] | no_x+0:0 |
|
||||
| escape.cpp:107:18:107:25 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:107:27:107:27 | FieldAddress[x] | no_Point+0:0 |
|
||||
| escape.cpp:108:5:108:12 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:108:14:108:14 | FieldAddress[y] | no_Point+4:0 |
|
||||
| escape.cpp:108:18:108:21 | VariableAddress[no_x] | no_x+0:0 |
|
||||
| escape.cpp:109:11:109:14 | VariableAddress[no_y] | no_y+0:0 |
|
||||
| escape.cpp:109:20:109:27 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:109:31:109:31 | FieldAddress[y] | no_Point+4:0 |
|
||||
| escape.cpp:110:7:110:14 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:110:18:110:18 | FieldAddress[y] | no_Point+4:0 |
|
||||
| escape.cpp:110:22:110:25 | VariableAddress[no_y] | no_y+0:0 |
|
||||
| escape.cpp:111:11:111:14 | VariableAddress[no_z] | no_z+0:0 |
|
||||
| escape.cpp:111:21:111:28 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:111:30:111:30 | FieldAddress[z] | no_Point+8:0 |
|
||||
| escape.cpp:112:8:112:15 | VariableAddress[no_Point] | no_Point+0:0 |
|
||||
| escape.cpp:112:17:112:17 | FieldAddress[z] | no_Point+8:0 |
|
||||
| escape.cpp:112:22:112:25 | VariableAddress[no_z] | no_z+0:0 |
|
||||
| escape.cpp:114:13:114:22 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:115:5:115:14 | ConvertToBase[Derived : Intermediate1] | no_Derived+0:0 |
|
||||
| escape.cpp:115:5:115:14 | ConvertToBase[Intermediate1 : Base] | no_Derived+0:0 |
|
||||
| escape.cpp:115:5:115:14 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:115:16:115:16 | FieldAddress[b] | no_Derived+0:0 |
|
||||
| escape.cpp:116:11:116:14 | VariableAddress[no_b] | no_b+0:0 |
|
||||
| escape.cpp:116:18:116:27 | ConvertToBase[Derived : Intermediate1] | no_Derived+0:0 |
|
||||
| escape.cpp:116:18:116:27 | ConvertToBase[Intermediate1 : Base] | no_Derived+0:0 |
|
||||
| escape.cpp:116:18:116:27 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:116:29:116:29 | FieldAddress[b] | no_Derived+0:0 |
|
||||
| escape.cpp:117:5:117:14 | ConvertToBase[Derived : Intermediate2] | no_Derived+12:0 |
|
||||
| escape.cpp:117:5:117:14 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:117:16:117:17 | FieldAddress[i2] | no_Derived+16:0 |
|
||||
| escape.cpp:118:11:118:15 | VariableAddress[no_i2] | no_i2+0:0 |
|
||||
| escape.cpp:118:19:118:28 | ConvertToBase[Derived : Intermediate2] | no_Derived+12:0 |
|
||||
| escape.cpp:118:19:118:28 | VariableAddress[no_Derived] | no_Derived+0:0 |
|
||||
| escape.cpp:118:30:118:31 | FieldAddress[i2] | no_Derived+16:0 |
|
||||
| escape.cpp:120:9:120:21 | VariableAddress[no_ssa_addrOf] | no_ssa_addrOf+0:0 |
|
||||
| escape.cpp:121:10:121:13 | VariableAddress[no_p] | no_p+0:0 |
|
||||
| escape.cpp:121:17:121:30 | Store | no_ssa_addrOf+0:0 |
|
||||
| escape.cpp:121:18:121:30 | VariableAddress[no_ssa_addrOf] | no_ssa_addrOf+0:0 |
|
||||
| escape.cpp:123:9:123:20 | VariableAddress[no_ssa_refTo] | no_ssa_refTo+0:0 |
|
||||
| escape.cpp:124:10:124:13 | VariableAddress[no_r] | no_r+0:0 |
|
||||
| escape.cpp:124:17:124:28 | Store | no_ssa_refTo+0:0 |
|
||||
| escape.cpp:124:17:124:28 | VariableAddress[no_ssa_refTo] | no_ssa_refTo+0:0 |
|
||||
| escape.cpp:126:9:126:32 | VariableAddress[no_ssa_refToArrayElement] | no_ssa_refToArrayElement+0:0 |
|
||||
| escape.cpp:127:10:127:15 | VariableAddress[no_rae] | no_rae+0:0 |
|
||||
| escape.cpp:127:19:127:42 | Convert | no_ssa_refToArrayElement+0:0 |
|
||||
| escape.cpp:127:19:127:42 | VariableAddress[no_ssa_refToArrayElement] | no_ssa_refToArrayElement+0:0 |
|
||||
| escape.cpp:127:19:127:45 | PointerAdd[4] | no_ssa_refToArrayElement+20:0 |
|
||||
| escape.cpp:127:19:127:45 | Store | no_ssa_refToArrayElement+20:0 |
|
||||
| escape.cpp:129:9:129:25 | VariableAddress[no_ssa_refToArray] | no_ssa_refToArray+0:0 |
|
||||
| escape.cpp:130:11:130:15 | VariableAddress[no_ra] | no_ra+0:0 |
|
||||
| escape.cpp:130:24:130:40 | Store | no_ssa_refToArray+0:0 |
|
||||
| escape.cpp:130:24:130:40 | VariableAddress[no_ssa_refToArray] | no_ssa_refToArray+0:0 |
|
||||
| escape.cpp:132:9:132:17 | VariableAddress[passByPtr] | passByPtr+0:0 |
|
||||
| escape.cpp:133:20:133:28 | VariableAddress[passByPtr] | passByPtr+0:0 |
|
||||
| escape.cpp:135:9:135:17 | VariableAddress[passByRef] | passByRef+0:0 |
|
||||
| escape.cpp:136:21:136:29 | VariableAddress[passByRef] | passByRef+0:0 |
|
||||
| escape.cpp:138:9:138:24 | VariableAddress[no_ssa_passByPtr] | no_ssa_passByPtr+0:0 |
|
||||
| escape.cpp:139:23:139:38 | VariableAddress[no_ssa_passByPtr] | no_ssa_passByPtr+0:0 |
|
||||
| escape.cpp:141:9:141:24 | VariableAddress[no_ssa_passByRef] | no_ssa_passByRef+0:0 |
|
||||
| escape.cpp:142:24:142:39 | VariableAddress[no_ssa_passByRef] | no_ssa_passByRef+0:0 |
|
||||
| escape.cpp:144:9:144:28 | VariableAddress[no_ssa_passByPtr_ret] | no_ssa_passByPtr_ret+0:0 |
|
||||
| escape.cpp:145:23:145:42 | VariableAddress[no_ssa_passByPtr_ret] | no_ssa_passByPtr_ret+0:0 |
|
||||
| escape.cpp:147:9:147:28 | VariableAddress[no_ssa_passByRef_ret] | no_ssa_passByRef_ret+0:0 |
|
||||
| escape.cpp:148:24:148:43 | VariableAddress[no_ssa_passByRef_ret] | no_ssa_passByRef_ret+0:0 |
|
||||
| escape.cpp:150:9:150:18 | VariableAddress[passByPtr2] | passByPtr2+0:0 |
|
||||
| escape.cpp:151:31:151:40 | VariableAddress[passByPtr2] | passByPtr2+0:0 |
|
||||
| escape.cpp:153:9:153:18 | VariableAddress[passByRef2] | passByRef2+0:0 |
|
||||
| escape.cpp:154:32:154:41 | VariableAddress[passByRef2] | passByRef2+0:0 |
|
||||
| escape.cpp:156:9:156:18 | VariableAddress[passByPtr3] | passByPtr3+0:0 |
|
||||
| escape.cpp:157:45:157:54 | VariableAddress[passByPtr3] | passByPtr3+0:0 |
|
||||
| escape.cpp:159:9:159:18 | VariableAddress[passByRef3] | passByRef3+0:0 |
|
||||
| escape.cpp:160:48:160:57 | VariableAddress[passByRef3] | passByRef3+0:0 |
|
||||
| escape.cpp:162:9:162:18 | VariableAddress[passByPtr4] | passByPtr4+0:0 |
|
||||
| escape.cpp:163:9:163:18 | VariableAddress[passByPtr5] | passByPtr5+0:0 |
|
||||
| escape.cpp:164:10:164:14 | VariableAddress[no_b2] | no_b2+0:0 |
|
||||
| escape.cpp:165:18:165:27 | VariableAddress[passByPtr4] | passByPtr4+0:0 |
|
||||
| escape.cpp:165:31:165:40 | VariableAddress[passByPtr5] | passByPtr5+0:0 |
|
||||
| escape.cpp:165:43:165:47 | VariableAddress[no_b2] | no_b2+0:0 |
|
||||
| escape.cpp:167:9:167:18 | VariableAddress[passByRef6] | passByRef6+0:0 |
|
||||
| escape.cpp:168:21:168:30 | VariableAddress[passByRef6] | passByRef6+0:0 |
|
||||
| escape.cpp:170:9:170:25 | VariableAddress[no_ssa_passByRef7] | no_ssa_passByRef7+0:0 |
|
||||
| escape.cpp:171:21:171:37 | VariableAddress[no_ssa_passByRef7] | no_ssa_passByRef7+0:0 |
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
| escape.cpp:138:9:138:24 | no_ssa_passByPtr |
|
||||
| escape.cpp:141:9:141:24 | no_ssa_passByRef |
|
||||
| escape.cpp:144:9:144:28 | no_ssa_passByPtr_ret |
|
||||
| escape.cpp:147:9:147:28 | no_ssa_passByRef_ret |
|
||||
| escape.cpp:170:9:170:25 | no_ssa_passByRef7 |
|
||||
|
||||
Reference in New Issue
Block a user