diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-07-23 17:03:41 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-07-23 17:03:41 +0300 |
commit | 555abab2c686a3d2387e078af2ad67f5d96b3f34 (patch) | |
tree | f544b55c0f0f9a75d4cf4fec7bc115a0d7c1fc75 | |
parent | 1758b24586ca856479ebc33b6c77955744e96034 (diff) | |
download | paranucker-555abab2c686a3d2387e078af2ad67f5d96b3f34.tar.gz paranucker-555abab2c686a3d2387e078af2ad67f5d96b3f34.tar.bz2 paranucker-555abab2c686a3d2387e078af2ad67f5d96b3f34.tar.xz paranucker-555abab2c686a3d2387e078af2ad67f5d96b3f34.zip |
Update test results.
-rw-r--r-- | test/test12-03.txt | 18 | ||||
-rw-r--r-- | test/test12-04.txt | 18 | ||||
-rw-r--r-- | test/test23-03.txt | 4 | ||||
-rw-r--r-- | test/test23-04.txt | 4 | ||||
-rw-r--r-- | test/test23-05.txt | 4 | ||||
-rw-r--r-- | test/test24-03.txt | 324 | ||||
-rw-r--r-- | test/test24-04.txt | 4 | ||||
-rw-r--r-- | test/test24-05.txt | 4 | ||||
-rw-r--r-- | test/test26-03.txt | 688 | ||||
-rw-r--r-- | test/test27-03.txt | 2 | ||||
-rw-r--r-- | test/test28-01.txt | 16 | ||||
-rw-r--r-- | test/test28-03.txt | 2 | ||||
-rw-r--r-- | test/test28.cpp | 6 | ||||
-rw-r--r-- | test/test35-01.txt | 80 | ||||
-rw-r--r-- | test/test35-03.txt | 4 | ||||
-rw-r--r-- | test/test35-04.txt | 4 | ||||
-rw-r--r-- | test/test35-05.txt | 4 | ||||
-rw-r--r-- | test/test35.cpp | 22 | ||||
-rw-r--r-- | test/test37-01.txt | 48 | ||||
-rw-r--r-- | test/test37-03.txt | 272 | ||||
-rw-r--r-- | test/test37.cpp | 12 | ||||
-rw-r--r-- | test/test38-01.txt | 32 | ||||
-rw-r--r-- | test/test38.cpp | 8 | ||||
-rw-r--r-- | test/test39-03.txt | 2 | ||||
-rw-r--r-- | test/test39-04.txt | 2 | ||||
-rw-r--r-- | test/test39-05.txt | 2 |
26 files changed, 809 insertions, 777 deletions
diff --git a/test/test12-03.txt b/test/test12-03.txt index 010f405..ce12b21 100644 --- a/test/test12-03.txt +++ b/test/test12-03.txt @@ -16,9 +16,10 @@ field_decl val: ptr2, integer_cst 32: ptr2, integer_type : ptr2, test12.cpp: In member function 'void Object1::func1(Data1*, Data1*)': -test12.cpp:13:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:13:13: warning: Using variable 'ptr2' without checking for null pointer int val1 = ptr1 ? ptr1->val : ptr2->val; ^ +test12.cpp:13:13: warning: Using field 'ptr2' without checking for null pointer component_ref : ptr1, ptr2, indirect_ref : ptr1, ptr2, parm_decl ptr2: ptr1, ptr2, @@ -92,6 +93,7 @@ parm_decl ptr1: ptr2, field_decl val: ptr2, integer_cst 32: ptr2, integer_type : ptr2, +test12.cpp:13:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:13:13: warning: Using field 'ptr2' without checking for null pointer component_ref : ptr1, ptr2, indirect_ref : ptr1, ptr2, @@ -116,15 +118,17 @@ pointer_type : ptr1, ptr2, integer_cst 64: ptr1, ptr2, integer_cst 0: ptr1, ptr2, test12.cpp: In member function 'void Object1::func2(Data1*, Data1*)': -test12.cpp:18:13: warning: Using field 'ptr1' without checking for null pointer +test12.cpp:18:13: warning: Using variable 'ptr1' without checking for null pointer int val1 = (!ptr1) ? ptr1->val : ptr2->val; ^ +test12.cpp:18:13: warning: Using field 'ptr1' without checking for null pointer component_ref : ptr1, ptr2, indirect_ref : ptr1, ptr2, parm_decl ptr1: ptr1, ptr2, field_decl val: ptr1, ptr2, integer_cst 32: ptr1, ptr2, integer_type : ptr1, ptr2, +test12.cpp:18:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:18:13: warning: Using field 'ptr2' without checking for null pointer component_ref : ptr2, indirect_ref : ptr2, @@ -195,6 +199,7 @@ parm_decl ptr1: ptr1, ptr2, pointer_type : ptr1, ptr2, integer_cst 64: ptr1, ptr2, integer_cst 0: ptr1, ptr2, +test12.cpp:18:13: warning: Using variable 'ptr1' without checking for null pointer test12.cpp:18:13: warning: Using field 'ptr1' without checking for null pointer component_ref : ptr1, ptr2, indirect_ref : ptr1, ptr2, @@ -202,6 +207,7 @@ parm_decl ptr1: ptr1, ptr2, field_decl val: ptr1, ptr2, integer_cst 32: ptr1, ptr2, integer_type : ptr1, ptr2, +test12.cpp:18:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:18:13: warning: Using field 'ptr2' without checking for null pointer component_ref : ptr2, indirect_ref : ptr2, @@ -234,9 +240,10 @@ field_decl val: ptr2, integer_cst 32: ptr2, integer_type : ptr2, test12.cpp: In member function 'void Object1::func3(Data1*, Data1*)': -test12.cpp:23:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:23:13: warning: Using variable 'ptr2' without checking for null pointer int val1 = (ptr1 && !ptr2) ? ptr1->val : ptr2->val; ^ +test12.cpp:23:13: warning: Using field 'ptr2' without checking for null pointer component_ref : ptr1, ptr2, indirect_ref : ptr1, ptr2, parm_decl ptr2: ptr1, ptr2, @@ -314,6 +321,7 @@ parm_decl ptr1: ptr2, field_decl val: ptr2, integer_cst 32: ptr2, integer_type : ptr2, +test12.cpp:23:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:23:13: warning: Using field 'ptr2' without checking for null pointer component_ref : ptr1, ptr2, indirect_ref : ptr1, ptr2, @@ -665,9 +673,10 @@ eq_expr : ptr1, ptr2, parm_decl ptr2: ptr1, ptr2, integer_cst 0: ptr1, ptr2, test12.cpp: In member function 'void Object1::func7(Data1*, Data1*)': -test12.cpp:50:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:50:13: warning: Using variable 'ptr2' without checking for null pointer int tmp = ptr1 ? ptr1->val : (!ptr2 ? ptr2->val : 0); ^ +test12.cpp:50:13: warning: Using field 'ptr2' without checking for null pointer component_ref : ptr1, ptr2, indirect_ref : ptr1, ptr2, parm_decl ptr2: ptr1, ptr2, @@ -753,6 +762,7 @@ cond_expr : ptr1, ptr2, eq_expr : ptr1, ptr2, parm_decl ptr2: ptr1, ptr2, integer_cst 0: ptr1, ptr2, +test12.cpp:50:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:50:13: warning: Using field 'ptr2' without checking for null pointer component_ref : ptr1, ptr2, indirect_ref : ptr1, ptr2, diff --git a/test/test12-04.txt b/test/test12-04.txt index 8973827..dc168ef 100644 --- a/test/test12-04.txt +++ b/test/test12-04.txt @@ -1,27 +1,35 @@ test12.cpp: In member function 'void Object1::func1(Data1*, Data1*)': -test12.cpp:13:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:13:13: warning: Using variable 'ptr2' without checking for null pointer int val1 = ptr1 ? ptr1->val : ptr2->val; ^ +test12.cpp:13:13: warning: Using field 'ptr2' without checking for null pointer test12.cpp:13:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:13:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:13:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:13:13: warning: Using field 'ptr2' without checking for null pointer test12.cpp: In member function 'void Object1::func2(Data1*, Data1*)': -test12.cpp:18:13: warning: Using field 'ptr1' without checking for null pointer +test12.cpp:18:13: warning: Using variable 'ptr1' without checking for null pointer int val1 = (!ptr1) ? ptr1->val : ptr2->val; ^ +test12.cpp:18:13: warning: Using field 'ptr1' without checking for null pointer +test12.cpp:18:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:18:13: warning: Using field 'ptr2' without checking for null pointer test12.cpp:18:13: warning: Using variable 'ptr1' without checking for null pointer test12.cpp:18:13: warning: Using field 'ptr1' without checking for null pointer test12.cpp:18:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:18:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:18:13: warning: Using variable 'ptr1' without checking for null pointer test12.cpp:18:13: warning: Using field 'ptr1' without checking for null pointer +test12.cpp:18:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:18:13: warning: Using field 'ptr2' without checking for null pointer test12.cpp: In member function 'void Object1::func3(Data1*, Data1*)': -test12.cpp:23:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:23:13: warning: Using variable 'ptr2' without checking for null pointer int val1 = (ptr1 && !ptr2) ? ptr1->val : ptr2->val; ^ +test12.cpp:23:13: warning: Using field 'ptr2' without checking for null pointer test12.cpp:23:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:23:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:23:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:23:13: warning: Using field 'ptr2' without checking for null pointer test12.cpp: In member function 'void Object1::func4(Data1*, Data1*)': test12.cpp:28:35: warning: Using parameter 'ptr2' without checking for null pointer @@ -38,9 +46,11 @@ test12.cpp:40:41: warning: Using parameter 'ptr2' without checking for null poin int tmp = (ptr1 ? ptr1 : ptr2)->val; ^ test12.cpp: In member function 'void Object1::func7(Data1*, Data1*)': -test12.cpp:50:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:50:13: warning: Using variable 'ptr2' without checking for null pointer int tmp = ptr1 ? ptr1->val : (!ptr2 ? ptr2->val : 0); ^ +test12.cpp:50:13: warning: Using field 'ptr2' without checking for null pointer test12.cpp:50:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:50:13: warning: Using field 'ptr2' without checking for null pointer +test12.cpp:50:13: warning: Using variable 'ptr2' without checking for null pointer test12.cpp:50:13: warning: Using field 'ptr2' without checking for null pointer diff --git a/test/test23-03.txt b/test/test23-03.txt index 20a6c8a..9846044 100644 --- a/test/test23-03.txt +++ b/test/test23-03.txt @@ -17179,6 +17179,10 @@ tree_list : ptr2, void_type : ptr2, type_decl void: ptr2, integer_cst 64: ptr2, +test23.cpp: In member function 'void Object1::func9(FuncPtr4, Data1*)': +test23.cpp:122:13: warning: Using parameter 'ptr2' without checking for null pointer + ptr1(ptr2); + ^ parm_decl ptr2: ptr2, pointer_type : ptr2, record_type : ptr2, diff --git a/test/test23-04.txt b/test/test23-04.txt index 5ac2ccc..e26d1b0 100644 --- a/test/test23-04.txt +++ b/test/test23-04.txt @@ -23,3 +23,7 @@ test23.cpp:117:28: warning: Using parameter 'ptr1' without checking for null poi test23.cpp:117:23: warning: Using parameter 'ptr1' without checking for null pointer (ptr1->*fptr2)(ptr1); ^ +test23.cpp: In member function 'void Object1::func9(FuncPtr4, Data1*)': +test23.cpp:122:13: warning: Using parameter 'ptr2' without checking for null pointer + ptr1(ptr2); + ^ diff --git a/test/test23-05.txt b/test/test23-05.txt index 5ac2ccc..e26d1b0 100644 --- a/test/test23-05.txt +++ b/test/test23-05.txt @@ -23,3 +23,7 @@ test23.cpp:117:28: warning: Using parameter 'ptr1' without checking for null poi test23.cpp:117:23: warning: Using parameter 'ptr1' without checking for null pointer (ptr1->*fptr2)(ptr1); ^ +test23.cpp: In member function 'void Object1::func9(FuncPtr4, Data1*)': +test23.cpp:122:13: warning: Using parameter 'ptr2' without checking for null pointer + ptr1(ptr2); + ^ diff --git a/test/test24-03.txt b/test/test24-03.txt index a16662e..ec7e62b 100644 --- a/test/test24-03.txt +++ b/test/test24-03.txt @@ -755,167 +755,171 @@ integer_cst 32: w1, w2, integer_cst -2147483648: w1, w2, integer_cst 2147483647: w1, w2, integer_cst 0: w1, w2, -goto_expr : i, w1, w2, -label_expr : i, w1, w2, -label_decl : i, w1, w2, -cond_expr : i, w1, w2, -ne_expr : i, w1, w2, -call_expr : i, w1, w2, -array_ref : i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 8: i, w1, w2, -var_decl fptr: i, w1, w2, -integer_cst 64: i, w1, w2, -constructor : i, w1, w2, -array_type : i, w1, w2, -pointer_type : i, w1, w2, -function_type : i, w1, w2, -integer_type : i, w1, w2, -integer_type : i, w1, w2, -integer_cst 64: i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 0: i, w1, w2, -addr_expr : i, w1, w2, -function_decl test1: i, w1, w2, -bind_expr : i, w1, w2, -statement_list : i, w1, w2, -block : i, w1, w2, -array_type : i, w1, w2, -pointer_type : i, w1, w2, -function_type : i, w1, w2, -integer_type : i, w1, w2, -tree_list : i, w1, w2, -integer_type : i, w1, w2, -integer_cst 64: i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 0: i, w1, w2, -var_decl i: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_type : i, w1, w2, -type_decl int: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_cst -2147483648: i, w1, w2, -integer_cst 2147483647: i, w1, w2, -parm_decl w1: i, w1, w2, -pointer_type : i, w1, w2, -integer_type : i, w1, w2, -type_decl char: i, w1, w2, -integer_cst 8: i, w1, w2, -integer_cst -128: i, w1, w2, -integer_cst 127: i, w1, w2, -integer_cst 64: i, w1, w2, -parm_decl w2: i, w1, w2, -pointer_type : i, w1, w2, -integer_type : i, w1, w2, -type_decl char: i, w1, w2, -integer_cst 8: i, w1, w2, -integer_cst -128: i, w1, w2, -integer_cst 127: i, w1, w2, -integer_cst 64: i, w1, w2, -integer_cst 0: i, w1, w2, -goto_expr : i, w1, w2, -postincrement_expr : i, w1, w2, -var_decl i: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_type : i, w1, w2, -type_decl int: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_cst -2147483648: i, w1, w2, -integer_cst 2147483647: i, w1, w2, -integer_cst 1: i, w1, w2, -label_expr : i, w1, w2, -label_decl : i, w1, w2, -cond_expr : i, w1, w2, -le_expr : i, w1, w2, -var_decl i: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_type : i, w1, w2, -type_decl int: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_cst -2147483648: i, w1, w2, -integer_cst 2147483647: i, w1, w2, -integer_cst 9: i, w1, w2, -goto_expr : i, w1, w2, -goto_expr : i, w1, w2, -label_expr : i, w1, w2, -label_decl : i, w1, w2, +goto_expr : w1, w2, +label_expr : w1, w2, +label_decl : w1, w2, +cond_expr : w1, w2, +ne_expr : w1, w2, +call_expr : w1, w2, +array_ref : w1, w2, +integer_cst 0: w1, w2, +integer_cst 8: w1, w2, +var_decl fptr: w1, w2, +integer_cst 64: w1, w2, +constructor : w1, w2, +array_type : w1, w2, +pointer_type : w1, w2, +function_type : w1, w2, +integer_type : w1, w2, +integer_type : w1, w2, +integer_cst 64: w1, w2, +integer_cst 0: w1, w2, +integer_cst 0: w1, w2, +integer_cst 0: w1, w2, +addr_expr : w1, w2, +function_decl test1: w1, w2, +bind_expr : w1, w2, +statement_list : w1, w2, +block : w1, w2, +array_type : w1, w2, +pointer_type : w1, w2, +function_type : w1, w2, +integer_type : w1, w2, +tree_list : w1, w2, +integer_type : w1, w2, +integer_cst 64: w1, w2, +integer_cst 0: w1, w2, +integer_cst 0: w1, w2, +var_decl i: w1, w2, +integer_cst 32: w1, w2, +integer_type : w1, w2, +type_decl int: w1, w2, +integer_cst 32: w1, w2, +integer_cst -2147483648: w1, w2, +integer_cst 2147483647: w1, w2, +test24.c: In function 'func7': +test24.c:80:13: warning: Using parameter 'w1' without checking for null pointer + if ((*fptr[i])(w1,w2)) + ^ +parm_decl w1: w1, w2, +pointer_type : w1, w2, +integer_type : w1, w2, +type_decl char: w1, w2, +integer_cst 8: w1, w2, +integer_cst -128: w1, w2, +integer_cst 127: w1, w2, +integer_cst 64: w1, w2, +parm_decl w2: w1, w2, +pointer_type : w1, w2, +integer_type : w1, w2, +type_decl char: w1, w2, +integer_cst 8: w1, w2, +integer_cst -128: w1, w2, +integer_cst 127: w1, w2, +integer_cst 64: w1, w2, +integer_cst 0: w1, w2, +goto_expr : w1, w2, +postincrement_expr : w1, w2, +var_decl i: w1, w2, +integer_cst 32: w1, w2, +integer_type : w1, w2, +type_decl int: w1, w2, +integer_cst 32: w1, w2, +integer_cst -2147483648: w1, w2, +integer_cst 2147483647: w1, w2, +integer_cst 1: w1, w2, +label_expr : w1, w2, +label_decl : w1, w2, +cond_expr : w1, w2, +le_expr : w1, w2, +var_decl i: w1, w2, +integer_cst 32: w1, w2, +integer_type : w1, w2, +type_decl int: w1, w2, +integer_cst 32: w1, w2, +integer_cst -2147483648: w1, w2, +integer_cst 2147483647: w1, w2, +integer_cst 9: w1, w2, +goto_expr : w1, w2, +goto_expr : w1, w2, +label_expr : w1, w2, +label_decl : w1, w2, +var_decl fptr: w1, w2, +integer_cst 64: w1, w2, +constructor : w1, w2, +array_type : w1, w2, +pointer_type : w1, w2, +function_type : w1, w2, +integer_type : w1, w2, +type_decl int: w1, w2, +integer_cst 32: w1, w2, +integer_cst -2147483648: w1, w2, +integer_cst 2147483647: w1, w2, +tree_list : w1, w2, +pointer_type : w1, w2, +tree_list : w1, w2, +integer_type : w1, w2, +integer_cst 64: w1, w2, +integer_cst 0: w1, w2, +integer_cst 0: w1, w2, +integer_cst 0: w1, w2, +addr_expr : w1, w2, +function_decl test1: w1, w2, +bind_expr : w1, w2, +statement_list : w1, w2, +block : w1, w2, +array_type : w1, w2, +pointer_type : w1, w2, +function_type : w1, w2, +integer_type : w1, w2, +type_decl int: w1, w2, +integer_cst 32: w1, w2, +integer_cst -2147483648: w1, w2, +integer_cst 2147483647: w1, w2, +tree_list : w1, w2, +pointer_type : w1, w2, +integer_type : w1, w2, +tree_list : w1, w2, +pointer_type : w1, w2, +tree_list : w1, w2, +integer_type : w1, w2, +integer_cst 64: w1, w2, +integer_cst 0: w1, w2, +integer_cst 0: w1, w2, +block : w1, w2, var_decl fptr: w1, w2, -integer_cst 64: i, w1, w2, -constructor : i, w1, w2, -array_type : i, w1, w2, -pointer_type : i, w1, w2, -function_type : i, w1, w2, -integer_type : i, w1, w2, -type_decl int: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_cst -2147483648: i, w1, w2, -integer_cst 2147483647: i, w1, w2, -tree_list : i, w1, w2, -pointer_type : i, w1, w2, -tree_list : i, w1, w2, -integer_type : i, w1, w2, -integer_cst 64: i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 0: i, w1, w2, -addr_expr : i, w1, w2, -function_decl test1: i, w1, w2, -bind_expr : i, w1, w2, -statement_list : i, w1, w2, -block : i, w1, w2, -array_type : i, w1, w2, -pointer_type : i, w1, w2, -function_type : i, w1, w2, -integer_type : i, w1, w2, -type_decl int: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_cst -2147483648: i, w1, w2, -integer_cst 2147483647: i, w1, w2, -tree_list : i, w1, w2, -pointer_type : i, w1, w2, -integer_type : i, w1, w2, -tree_list : i, w1, w2, -pointer_type : i, w1, w2, -tree_list : i, w1, w2, -integer_type : i, w1, w2, -integer_cst 64: i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 0: i, w1, w2, -block : i, w1, w2, -var_decl fptr: i, w1, w2, -integer_cst 64: i, w1, w2, -constructor : i, w1, w2, -array_type : i, w1, w2, -pointer_type : i, w1, w2, -function_type : i, w1, w2, -integer_type : i, w1, w2, -integer_type : i, w1, w2, -integer_cst 64: i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 0: i, w1, w2, -addr_expr : i, w1, w2, -function_decl test1: i, w1, w2, -bind_expr : i, w1, w2, -statement_list : i, w1, w2, -block : i, w1, w2, -array_type : i, w1, w2, -pointer_type : i, w1, w2, -function_type : i, w1, w2, -integer_type : i, w1, w2, -tree_list : i, w1, w2, -integer_type : i, w1, w2, -integer_cst 64: i, w1, w2, -integer_cst 0: i, w1, w2, -integer_cst 0: i, w1, w2, -var_decl i: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_type : i, w1, w2, -type_decl int: i, w1, w2, -integer_cst 32: i, w1, w2, -integer_cst -2147483648: i, w1, w2, -integer_cst 2147483647: i, w1, w2, +integer_cst 64: w1, w2, +constructor : w1, w2, +array_type : w1, w2, +pointer_type : w1, w2, +function_type : w1, w2, +integer_type : w1, w2, +integer_type : w1, w2, +integer_cst 64: w1, w2, +integer_cst 0: w1, w2, +integer_cst 0: w1, w2, +integer_cst 0: w1, w2, +addr_expr : w1, w2, +function_decl test1: w1, w2, +bind_expr : w1, w2, +statement_list : w1, w2, +block : w1, w2, +array_type : w1, w2, +pointer_type : w1, w2, +function_type : w1, w2, +integer_type : w1, w2, +tree_list : w1, w2, +integer_type : w1, w2, +integer_cst 64: w1, w2, +integer_cst 0: w1, w2, +integer_cst 0: w1, w2, +var_decl i: w1, w2, +integer_cst 32: w1, w2, +integer_type : w1, w2, +type_decl int: w1, w2, +integer_cst 32: w1, w2, +integer_cst -2147483648: w1, w2, +integer_cst 2147483647: w1, w2, function_decl func8: bind_expr : fptr, call_expr : fptr, diff --git a/test/test24-04.txt b/test/test24-04.txt index 254ac9c..542d5d4 100644 --- a/test/test24-04.txt +++ b/test/test24-04.txt @@ -27,6 +27,10 @@ test24.c:64:11: warning: Using parameter 'ptr1' without checking for null pointe test24.c:64:5: warning: Using variable 'data' without checking for null pointer (*ptr1[1])(data); ^ +test24.c: In function 'func7': +test24.c:80:13: warning: Using parameter 'w1' without checking for null pointer + if ((*fptr[i])(w1,w2)) + ^ test24.c: In function 'func8': test24.c:87:9: warning: Using parameter 'fptr' without checking for null pointer fptr[1]("", ""); diff --git a/test/test24-05.txt b/test/test24-05.txt index 254ac9c..542d5d4 100644 --- a/test/test24-05.txt +++ b/test/test24-05.txt @@ -27,6 +27,10 @@ test24.c:64:11: warning: Using parameter 'ptr1' without checking for null pointe test24.c:64:5: warning: Using variable 'data' without checking for null pointer (*ptr1[1])(data); ^ +test24.c: In function 'func7': +test24.c:80:13: warning: Using parameter 'w1' without checking for null pointer + if ((*fptr[i])(w1,w2)) + ^ test24.c: In function 'func8': test24.c:87:9: warning: Using parameter 'fptr' without checking for null pointer fptr[1]("", ""); diff --git a/test/test26-03.txt b/test/test26-03.txt index 2f53c84..925bb0e 100644 --- a/test/test26-03.txt +++ b/test/test26-03.txt @@ -3458,64 +3458,64 @@ cleanup_point_expr : expr_stmt : convert_expr : init_expr : -component_ref : this->_M_exception_object, -indirect_ref : this->_M_exception_object, -parm_decl this: this->_M_exception_object, -pointer_type : this->_M_exception_object, -record_type : this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -component_ref : this->_M_exception_object, -indirect_ref : this->_M_exception_object, -parm_decl __o: this->_M_exception_object, -reference_type : this->_M_exception_object, -record_type : this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -cleanup_point_expr : this->_M_exception_object, -expr_stmt : this->_M_exception_object, -convert_expr : this->_M_exception_object, -modify_expr : this->_M_exception_object, -component_ref : this->_M_exception_object, -indirect_ref : this->_M_exception_object, -parm_decl __o: this->_M_exception_object, -reference_type : this->_M_exception_object, -record_type : this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -integer_cst 0: this->_M_exception_object, +component_ref : +indirect_ref : +parm_decl this: +pointer_type : +record_type : +type_decl exception_ptr: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl exception_ptr: +integer_cst 64: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +component_ref : +indirect_ref : +parm_decl __o: +reference_type : +record_type : +type_decl exception_ptr: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +type_decl exception_ptr: +integer_cst 64: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +cleanup_point_expr : +expr_stmt : +convert_expr : +modify_expr : +component_ref : +indirect_ref : +parm_decl __o: +reference_type : +record_type : +type_decl exception_ptr: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +type_decl exception_ptr: +integer_cst 64: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +integer_cst 0: block : function_decl __base_ctor : must_not_throw_expr : @@ -3525,64 +3525,64 @@ cleanup_point_expr : expr_stmt : convert_expr : init_expr : -component_ref : this->_M_exception_object, -indirect_ref : this->_M_exception_object, -parm_decl this: this->_M_exception_object, -pointer_type : this->_M_exception_object, -record_type : this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -component_ref : this->_M_exception_object, -indirect_ref : this->_M_exception_object, -parm_decl __o: this->_M_exception_object, -reference_type : this->_M_exception_object, -record_type : this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -cleanup_point_expr : this->_M_exception_object, -expr_stmt : this->_M_exception_object, -convert_expr : this->_M_exception_object, -modify_expr : this->_M_exception_object, -component_ref : this->_M_exception_object, -indirect_ref : this->_M_exception_object, -parm_decl __o: this->_M_exception_object, -reference_type : this->_M_exception_object, -record_type : this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -type_decl exception_ptr: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -field_decl _M_exception_object: this->_M_exception_object, -integer_cst 64: this->_M_exception_object, -pointer_type : this->_M_exception_object, -void_type : this->_M_exception_object, -type_decl void: this->_M_exception_object, -integer_cst 0: this->_M_exception_object, +component_ref : +indirect_ref : +parm_decl this: +pointer_type : +record_type : +type_decl exception_ptr: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl exception_ptr: +integer_cst 64: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +component_ref : +indirect_ref : +parm_decl __o: +reference_type : +record_type : +type_decl exception_ptr: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +type_decl exception_ptr: +integer_cst 64: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +cleanup_point_expr : +expr_stmt : +convert_expr : +modify_expr : +component_ref : +indirect_ref : +parm_decl __o: +reference_type : +record_type : +type_decl exception_ptr: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +type_decl exception_ptr: +integer_cst 64: +field_decl _M_exception_object: +integer_cst 64: +pointer_type : +void_type : +type_decl void: +integer_cst 0: block : function_decl __comp_ctor : statement_list : @@ -31438,63 +31438,63 @@ cleanup_point_expr : expr_stmt : convert_expr : init_expr : -component_ref : this->_M_p, -indirect_ref : this->_M_p, -parm_decl this: this->_M_p, -pointer_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl char: this->_M_p, -integer_cst 8: this->_M_p, -integer_cst -128: this->_M_p, -integer_cst 127: this->_M_p, -component_ref : this->_M_p, -indirect_ref : this->_M_p, -parm_decl : this->_M_p, -reference_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl char: this->_M_p, -integer_cst 8: this->_M_p, -integer_cst -128: this->_M_p, -integer_cst 127: this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl char: this->_M_p, -integer_cst 8: this->_M_p, -integer_cst -128: this->_M_p, -integer_cst 127: this->_M_p, -call_expr : this->_M_p, -addr_expr : this->_M_p, -function_decl __base_dtor : this->_M_p, -parm_decl this: this->_M_p, -pointer_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, +component_ref : +indirect_ref : +parm_decl this: +pointer_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl _Alloc_hider: +integer_cst 64: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl char: +integer_cst 8: +integer_cst -128: +integer_cst 127: +component_ref : +indirect_ref : +parm_decl : +reference_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl char: +integer_cst 8: +integer_cst -128: +integer_cst 127: +type_decl _Alloc_hider: +integer_cst 64: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl char: +integer_cst 8: +integer_cst -128: +integer_cst 127: +call_expr : +addr_expr : +function_decl __base_dtor : +parm_decl this: +pointer_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl _Alloc_hider: +integer_cst 64: block : function_decl __base_ctor : bind_expr : @@ -31535,63 +31535,63 @@ cleanup_point_expr : expr_stmt : convert_expr : init_expr : -component_ref : this->_M_p, -indirect_ref : this->_M_p, -parm_decl this: this->_M_p, -pointer_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl char: this->_M_p, -integer_cst 8: this->_M_p, -integer_cst -128: this->_M_p, -integer_cst 127: this->_M_p, -component_ref : this->_M_p, -indirect_ref : this->_M_p, -parm_decl : this->_M_p, -reference_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl char: this->_M_p, -integer_cst 8: this->_M_p, -integer_cst -128: this->_M_p, -integer_cst 127: this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl char: this->_M_p, -integer_cst 8: this->_M_p, -integer_cst -128: this->_M_p, -integer_cst 127: this->_M_p, -call_expr : this->_M_p, -addr_expr : this->_M_p, -function_decl __base_dtor : this->_M_p, -parm_decl this: this->_M_p, -pointer_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, +component_ref : +indirect_ref : +parm_decl this: +pointer_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl _Alloc_hider: +integer_cst 64: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl char: +integer_cst 8: +integer_cst -128: +integer_cst 127: +component_ref : +indirect_ref : +parm_decl : +reference_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl char: +integer_cst 8: +integer_cst -128: +integer_cst 127: +type_decl _Alloc_hider: +integer_cst 64: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl char: +integer_cst 8: +integer_cst -128: +integer_cst 127: +call_expr : +addr_expr : +function_decl __base_dtor : +parm_decl this: +pointer_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl _Alloc_hider: +integer_cst 64: block : function_decl __comp_ctor : statement_list : @@ -34183,63 +34183,63 @@ cleanup_point_expr : expr_stmt : convert_expr : init_expr : -component_ref : this->_M_p, -indirect_ref : this->_M_p, -parm_decl this: this->_M_p, -pointer_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl wchar_t: this->_M_p, -integer_cst 32: this->_M_p, -integer_cst -2147483648: this->_M_p, -integer_cst 2147483647: this->_M_p, -component_ref : this->_M_p, -indirect_ref : this->_M_p, -parm_decl : this->_M_p, -reference_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl wchar_t: this->_M_p, -integer_cst 32: this->_M_p, -integer_cst -2147483648: this->_M_p, -integer_cst 2147483647: this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl wchar_t: this->_M_p, -integer_cst 32: this->_M_p, -integer_cst -2147483648: this->_M_p, -integer_cst 2147483647: this->_M_p, -call_expr : this->_M_p, -addr_expr : this->_M_p, -function_decl __base_dtor : this->_M_p, -parm_decl this: this->_M_p, -pointer_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, +component_ref : +indirect_ref : +parm_decl this: +pointer_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl _Alloc_hider: +integer_cst 64: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl wchar_t: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +component_ref : +indirect_ref : +parm_decl : +reference_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl wchar_t: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +type_decl _Alloc_hider: +integer_cst 64: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl wchar_t: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +call_expr : +addr_expr : +function_decl __base_dtor : +parm_decl this: +pointer_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl _Alloc_hider: +integer_cst 64: block : function_decl __base_ctor : bind_expr : @@ -34280,63 +34280,63 @@ cleanup_point_expr : expr_stmt : convert_expr : init_expr : -component_ref : this->_M_p, -indirect_ref : this->_M_p, -parm_decl this: this->_M_p, -pointer_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl wchar_t: this->_M_p, -integer_cst 32: this->_M_p, -integer_cst -2147483648: this->_M_p, -integer_cst 2147483647: this->_M_p, -component_ref : this->_M_p, -indirect_ref : this->_M_p, -parm_decl : this->_M_p, -reference_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl wchar_t: this->_M_p, -integer_cst 32: this->_M_p, -integer_cst -2147483648: this->_M_p, -integer_cst 2147483647: this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl wchar_t: this->_M_p, -integer_cst 32: this->_M_p, -integer_cst -2147483648: this->_M_p, -integer_cst 2147483647: this->_M_p, -call_expr : this->_M_p, -addr_expr : this->_M_p, -function_decl __base_dtor : this->_M_p, -parm_decl this: this->_M_p, -pointer_type : this->_M_p, -record_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -field_decl _M_p: this->_M_p, -integer_cst 64: this->_M_p, -pointer_type : this->_M_p, -integer_type : this->_M_p, -type_decl _Alloc_hider: this->_M_p, -integer_cst 64: this->_M_p, +component_ref : +indirect_ref : +parm_decl this: +pointer_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl _Alloc_hider: +integer_cst 64: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl wchar_t: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +component_ref : +indirect_ref : +parm_decl : +reference_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl wchar_t: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +type_decl _Alloc_hider: +integer_cst 64: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl wchar_t: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +call_expr : +addr_expr : +function_decl __base_dtor : +parm_decl this: +pointer_type : +record_type : +type_decl _Alloc_hider: +field_decl _M_p: +integer_cst 64: +pointer_type : +integer_type : +type_decl _Alloc_hider: +integer_cst 64: block : function_decl __comp_ctor : statement_list : diff --git a/test/test27-03.txt b/test/test27-03.txt index 88cb50d..ed83a8c 100644 --- a/test/test27-03.txt +++ b/test/test27-03.txt @@ -3294,7 +3294,7 @@ integer_type : ptr3, type_decl Data1: ptr3, integer_cst 64: ptr3, integer_cst 0: ptr3, -cleanup_point_expr : ptr3, +cleanup_point_expr : ptr1, ptr3, expr_stmt : ptr3, convert_expr : ptr3, modify_expr : ptr3, diff --git a/test/test28-01.txt b/test/test28-01.txt index efa69c9..5800279 100644 --- a/test/test28-01.txt +++ b/test/test28-01.txt @@ -15128,8 +15128,8 @@ function_decl func11 test28.cpp 271:10 integer_cst 64 - parm size integer_cst 0 - operand statement_list - then - cleanup_point_expr test28.cpp 294:57 - statement - expr_stmt test28.cpp 294:57 - operand + cleanup_point_expr test28.cpp 294:61 - statement + expr_stmt test28.cpp 294:61 - operand call_expr test28.cpp 294:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test28.cpp 12:6 - operand @@ -15205,8 +15205,8 @@ function_decl func11 test28.cpp 271:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst - operand - - stringLength: 1 + string_cst ptr1 - operand + - stringLength: 5 cleanup_point_expr test28.cpp 295:64 - statement expr_stmt test28.cpp 295:64 - operand call_expr test28.cpp 295:35 - expresssion @@ -15286,8 +15286,8 @@ function_decl func11 test28.cpp 271:10 addr_expr - operand string_cst - operand - stringLength: 1 - cleanup_point_expr test28.cpp 296:61 - statement - expr_stmt test28.cpp 296:61 - operand + cleanup_point_expr test28.cpp 296:65 - statement + expr_stmt test28.cpp 296:65 - operand call_expr test28.cpp 296:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test28.cpp 12:6 - operand @@ -15363,8 +15363,8 @@ function_decl func11 test28.cpp 271:10 - stringLength: 14 nop_expr - arg addr_expr - operand - string_cst - operand - - stringLength: 1 + string_cst ptr1 - operand + - stringLength: 5 cleanup_point_expr test28.cpp 297:65 - statement expr_stmt test28.cpp 297:65 - operand call_expr test28.cpp 297:35 - expresssion diff --git a/test/test28-03.txt b/test/test28-03.txt index ec2b75a..dbc1cf8 100644 --- a/test/test28-03.txt +++ b/test/test28-03.txt @@ -1500,7 +1500,7 @@ integer_type : type_decl Data1: integer_cst 64: integer_cst 0: -statement_list : +statement_list : ptr1, cleanup_point_expr : expr_stmt : call_expr : diff --git a/test/test28.cpp b/test/test28.cpp index 917591c..c4cca41 100644 --- a/test/test28.cpp +++ b/test/test28.cpp @@ -291,10 +291,10 @@ class Object1 if (!ptr1) { - paranuckerInternalTest("=", "knownVars", ""); + paranuckerInternalTest("=", "knownVars", "ptr1"); paranuckerInternalTest("=", "knownNonNullVars", ""); - paranuckerInternalTest("=", "knownNullVars", ""); - paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "ptr1"); + paranuckerInternalTest("=", "needCheckNullVars", ""); // probably here should be ptr1 return; } } diff --git a/test/test35-01.txt b/test/test35-01.txt index 4a232a2..d0e647d 100644 --- a/test/test35-01.txt +++ b/test/test35-01.txt @@ -3062,8 +3062,8 @@ function_decl func2 test35.cpp 52:10 - isAutogenerated: 1 integer_cst 0 - operand statement_list - body - cleanup_point_expr test35.cpp 67:61 - statement - expr_stmt test35.cpp 67:61 - operand + cleanup_point_expr test35.cpp 67:74 - statement + expr_stmt test35.cpp 67:74 - operand call_expr test35.cpp 67:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -3139,10 +3139,10 @@ function_decl func2 test35.cpp 52:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 - cleanup_point_expr test35.cpp 68:68 - statement - expr_stmt test35.cpp 68:68 - operand + string_cst ptr1 ptr1->ptrval - operand + - stringLength: 18 + cleanup_point_expr test35.cpp 68:81 - statement + expr_stmt test35.cpp 68:81 - operand call_expr test35.cpp 68:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -3218,8 +3218,8 @@ function_decl func2 test35.cpp 52:10 - stringLength: 17 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 + string_cst ptr1 ptr1->ptrval - operand + - stringLength: 18 cleanup_point_expr test35.cpp 69:61 - statement expr_stmt test35.cpp 69:61 - operand call_expr test35.cpp 69:35 - expresssion @@ -4086,8 +4086,8 @@ function_decl func2 test35.cpp 52:10 - signed type_decl Data1 test35.cpp 4:1 - field - isAutogenerated: 1 - cleanup_point_expr test35.cpp 78:61 - statement - expr_stmt test35.cpp 78:61 - operand + cleanup_point_expr test35.cpp 78:74 - statement + expr_stmt test35.cpp 78:74 - operand call_expr test35.cpp 78:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -4163,10 +4163,10 @@ function_decl func2 test35.cpp 52:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 - cleanup_point_expr test35.cpp 79:64 - statement - expr_stmt test35.cpp 79:64 - operand + string_cst ptr1 ptr1->ptrval - operand + - stringLength: 18 + cleanup_point_expr test35.cpp 79:76 - statement + expr_stmt test35.cpp 79:76 - operand call_expr test35.cpp 79:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -4242,8 +4242,8 @@ function_decl func2 test35.cpp 52:10 - stringLength: 17 nop_expr - arg addr_expr - operand - string_cst - operand - - stringLength: 1 + string_cst ptr1->ptrval - operand + - stringLength: 13 cleanup_point_expr test35.cpp 80:61 - statement expr_stmt test35.cpp 80:61 - operand call_expr test35.cpp 80:35 - expresssion @@ -6239,8 +6239,8 @@ function_decl func3 test35.cpp 91:10 - isAutogenerated: 1 integer_cst 0 - operand statement_list - body - cleanup_point_expr test35.cpp 106:61 - statement - expr_stmt test35.cpp 106:61 - operand + cleanup_point_expr test35.cpp 106:74 - statement + expr_stmt test35.cpp 106:74 - operand call_expr test35.cpp 106:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -6316,10 +6316,10 @@ function_decl func3 test35.cpp 91:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 - cleanup_point_expr test35.cpp 107:68 - statement - expr_stmt test35.cpp 107:68 - operand + string_cst ptr1 ptr1->ptrval - operand + - stringLength: 18 + cleanup_point_expr test35.cpp 107:81 - statement + expr_stmt test35.cpp 107:81 - operand call_expr test35.cpp 107:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -6395,8 +6395,8 @@ function_decl func3 test35.cpp 91:10 - stringLength: 17 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 + string_cst ptr1 ptr1->ptrval - operand + - stringLength: 18 cleanup_point_expr test35.cpp 108:61 - statement expr_stmt test35.cpp 108:61 - operand call_expr test35.cpp 108:35 - expresssion @@ -7226,8 +7226,8 @@ function_decl func3 test35.cpp 91:10 array_type - field type type_decl Data1 test35.cpp 4:1 - field - isAutogenerated: 1 - cleanup_point_expr test35.cpp 117:61 - statement - expr_stmt test35.cpp 117:61 - operand + cleanup_point_expr test35.cpp 117:74 - statement + expr_stmt test35.cpp 117:74 - operand call_expr test35.cpp 117:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -7303,10 +7303,10 @@ function_decl func3 test35.cpp 91:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 - cleanup_point_expr test35.cpp 118:64 - statement - expr_stmt test35.cpp 118:64 - operand + string_cst ptr1 ptr1->ptrval - operand + - stringLength: 18 + cleanup_point_expr test35.cpp 118:76 - statement + expr_stmt test35.cpp 118:76 - operand call_expr test35.cpp 118:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -7382,8 +7382,8 @@ function_decl func3 test35.cpp 91:10 - stringLength: 17 nop_expr - arg addr_expr - operand - string_cst - operand - - stringLength: 1 + string_cst ptr1->ptrval - operand + - stringLength: 13 cleanup_point_expr test35.cpp 119:61 - statement expr_stmt test35.cpp 119:61 - operand call_expr test35.cpp 119:35 - expresssion @@ -8250,8 +8250,8 @@ function_decl func3 test35.cpp 91:10 - signed type_decl Data1 test35.cpp 4:1 - field - isAutogenerated: 1 - cleanup_point_expr test35.cpp 128:61 - statement - expr_stmt test35.cpp 128:61 - operand + cleanup_point_expr test35.cpp 128:74 - statement + expr_stmt test35.cpp 128:74 - operand call_expr test35.cpp 128:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -8327,10 +8327,10 @@ function_decl func3 test35.cpp 91:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 - cleanup_point_expr test35.cpp 129:64 - statement - expr_stmt test35.cpp 129:64 - operand + string_cst ptr1 ptr1->ptrval - operand + - stringLength: 18 + cleanup_point_expr test35.cpp 129:76 - statement + expr_stmt test35.cpp 129:76 - operand call_expr test35.cpp 129:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test35.cpp 20:6 - operand @@ -8406,8 +8406,8 @@ function_decl func3 test35.cpp 91:10 - stringLength: 17 nop_expr - arg addr_expr - operand - string_cst - operand - - stringLength: 1 + string_cst ptr1->ptrval - operand + - stringLength: 13 cleanup_point_expr test35.cpp 130:61 - statement expr_stmt test35.cpp 130:61 - operand call_expr test35.cpp 130:35 - expresssion diff --git a/test/test35-03.txt b/test/test35-03.txt index 90a991e..6181dcf 100644 --- a/test/test35-03.txt +++ b/test/test35-03.txt @@ -892,9 +892,6 @@ type_decl Data1: call_expr : addr_expr : function_decl getData3: -test35.cpp:77:42: warning: Using variable 'ptr1->ptrval' without checking for null pointer - ptr1 = ptr1->ptrval->getData3(); - ^ component_ref : indirect_ref : var_decl ptr1: @@ -1491,7 +1488,6 @@ function_decl getData3: ptr1, test35.cpp:127:42: warning: Using variable 'ptr1' without checking for null pointer ptr1 = ptr1->ptrval->getData3(); ^ -test35.cpp:127:42: warning: Using variable 'ptr1->ptrval' without checking for null pointer component_ref : ptr1, indirect_ref : ptr1, var_decl ptr1: ptr1, diff --git a/test/test35-04.txt b/test/test35-04.txt index 60418b9..dff6476 100644 --- a/test/test35-04.txt +++ b/test/test35-04.txt @@ -2,9 +2,6 @@ test35.cpp: In member function 'void Object1::func2()': test35.cpp:54:37: warning: Using variable 'this->tmp1' without checking for null pointer Data1 *ptr1 = tmp1->getData3(); ^ -test35.cpp:77:42: warning: Using variable 'ptr1->ptrval' without checking for null pointer - ptr1 = ptr1->ptrval->getData3(); - ^ test35.cpp: In member function 'void Object1::func3()': test35.cpp:93:37: warning: Using variable 'this->tmp1' without checking for null pointer Data1 *ptr1 = tmp1->getData3(); @@ -12,4 +9,3 @@ test35.cpp:93:37: warning: Using variable 'this->tmp1' without checking for null test35.cpp:127:42: warning: Using variable 'ptr1' without checking for null pointer ptr1 = ptr1->ptrval->getData3(); ^ -test35.cpp:127:42: warning: Using variable 'ptr1->ptrval' without checking for null pointer diff --git a/test/test35-05.txt b/test/test35-05.txt index 60418b9..dff6476 100644 --- a/test/test35-05.txt +++ b/test/test35-05.txt @@ -2,9 +2,6 @@ test35.cpp: In member function 'void Object1::func2()': test35.cpp:54:37: warning: Using variable 'this->tmp1' without checking for null pointer Data1 *ptr1 = tmp1->getData3(); ^ -test35.cpp:77:42: warning: Using variable 'ptr1->ptrval' without checking for null pointer - ptr1 = ptr1->ptrval->getData3(); - ^ test35.cpp: In member function 'void Object1::func3()': test35.cpp:93:37: warning: Using variable 'this->tmp1' without checking for null pointer Data1 *ptr1 = tmp1->getData3(); @@ -12,4 +9,3 @@ test35.cpp:93:37: warning: Using variable 'this->tmp1' without checking for null test35.cpp:127:42: warning: Using variable 'ptr1' without checking for null pointer ptr1 = ptr1->ptrval->getData3(); ^ -test35.cpp:127:42: warning: Using variable 'ptr1->ptrval' without checking for null pointer diff --git a/test/test35.cpp b/test/test35.cpp index 572a7fb..09c3208 100644 --- a/test/test35.cpp +++ b/test/test35.cpp @@ -64,8 +64,8 @@ class Object1 paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); while (ptr1 && ptr1->val == 3 && ptr1->ptrval) { - paranuckerInternalTest("=", "knownVars", "ptr1"); - paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownVars", "ptr1 ptr1->ptrval"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1 ptr1->ptrval"); paranuckerInternalTest("=", "knownNullVars", ""); paranuckerInternalTest("=", "needCheckNullVars", ""); paranuckerInternalTest("=", "addNullVars", ""); @@ -74,9 +74,9 @@ class Object1 paranuckerInternalTest("=", "linkedVars", "this->tmp1"); paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); - ptr1 = ptr1->ptrval->getData3(); // must not report ptr1->ptrval - paranuckerInternalTest("=", "knownVars", "ptr1"); - paranuckerInternalTest("=", "knownNonNullVars", ""); + ptr1 = ptr1->ptrval->getData3(); + paranuckerInternalTest("=", "knownVars", "ptr1 ptr1->ptrval"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1->ptrval"); paranuckerInternalTest("=", "knownNullVars", ""); paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); paranuckerInternalTest("=", "addNullVars", "ptr1"); @@ -103,8 +103,8 @@ class Object1 paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); while (ptr1 && ptr1->val == 3 && ptr1->ptrval) { - paranuckerInternalTest("=", "knownVars", "ptr1"); - paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); + paranuckerInternalTest("=", "knownVars", "ptr1 ptr1->ptrval"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1 ptr1->ptrval"); paranuckerInternalTest("=", "knownNullVars", ""); paranuckerInternalTest("=", "needCheckNullVars", ""); paranuckerInternalTest("=", "addNullVars", ""); @@ -114,8 +114,8 @@ class Object1 paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); ptr1 = ptr1->getData3(); - paranuckerInternalTest("=", "knownVars", "ptr1"); - paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownVars", "ptr1 ptr1->ptrval"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1->ptrval"); paranuckerInternalTest("=", "knownNullVars", ""); paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); paranuckerInternalTest("=", "addNullVars", "ptr1"); @@ -125,8 +125,8 @@ class Object1 paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); ptr1 = ptr1->ptrval->getData3(); - paranuckerInternalTest("=", "knownVars", "ptr1"); - paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownVars", "ptr1 ptr1->ptrval"); + paranuckerInternalTest("=", "knownNonNullVars", "ptr1->ptrval"); paranuckerInternalTest("=", "knownNullVars", ""); paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); paranuckerInternalTest("=", "addNullVars", "ptr1"); diff --git a/test/test37-01.txt b/test/test37-01.txt index 868fdcd..e720bc4 100644 --- a/test/test37-01.txt +++ b/test/test37-01.txt @@ -13454,8 +13454,8 @@ function_decl func4 test37.cpp 193:10 - isAutogenerated: 1 integer_cst 0 - operand statement_list - then - cleanup_point_expr test37.cpp 208:61 - statement - expr_stmt test37.cpp 208:61 - operand + cleanup_point_expr test37.cpp 208:72 - statement + expr_stmt test37.cpp 208:72 - operand call_expr test37.cpp 208:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test37.cpp 20:6 - operand @@ -13531,8 +13531,8 @@ function_decl func4 test37.cpp 193:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 + string_cst ptr1 this->tmp1 - operand + - stringLength: 16 cleanup_point_expr test37.cpp 209:64 - statement expr_stmt test37.cpp 209:64 - operand call_expr test37.cpp 209:35 - expresssion @@ -13612,8 +13612,8 @@ function_decl func4 test37.cpp 193:10 addr_expr - operand string_cst - operand - stringLength: 1 - cleanup_point_expr test37.cpp 210:65 - statement - expr_stmt test37.cpp 210:65 - operand + cleanup_point_expr test37.cpp 210:76 - statement + expr_stmt test37.cpp 210:76 - operand call_expr test37.cpp 210:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test37.cpp 20:6 - operand @@ -13689,10 +13689,10 @@ function_decl func4 test37.cpp 193:10 - stringLength: 14 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 - cleanup_point_expr test37.cpp 211:69 - statement - expr_stmt test37.cpp 211:69 - operand + string_cst ptr1 this->tmp1 - operand + - stringLength: 16 + cleanup_point_expr test37.cpp 211:80 - statement + expr_stmt test37.cpp 211:80 - operand call_expr test37.cpp 211:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test37.cpp 20:6 - operand @@ -13768,8 +13768,8 @@ function_decl func4 test37.cpp 193:10 - stringLength: 18 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 + string_cst ptr1 this->tmp1 - operand + - stringLength: 16 cleanup_point_expr test37.cpp 212:59 - statement expr_stmt test37.cpp 212:59 - operand call_expr test37.cpp 212:35 - expresssion @@ -14394,8 +14394,8 @@ function_decl func4 test37.cpp 193:10 type_decl void <built-in> 0:0 - type name - isAutogenerated: 1 integer_cst 32 - arg - cleanup_point_expr test37.cpp 220:61 - statement - expr_stmt test37.cpp 220:61 - operand + cleanup_point_expr test37.cpp 220:72 - statement + expr_stmt test37.cpp 220:72 - operand call_expr test37.cpp 220:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test37.cpp 20:6 - operand @@ -14471,8 +14471,8 @@ function_decl func4 test37.cpp 193:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 + string_cst ptr1 this->tmp1 - operand + - stringLength: 16 cleanup_point_expr test37.cpp 221:68 - statement expr_stmt test37.cpp 221:68 - operand call_expr test37.cpp 221:35 - expresssion @@ -14552,8 +14552,8 @@ function_decl func4 test37.cpp 193:10 addr_expr - operand string_cst ptr1 - operand - stringLength: 5 - cleanup_point_expr test37.cpp 222:61 - statement - expr_stmt test37.cpp 222:61 - operand + cleanup_point_expr test37.cpp 222:71 - statement + expr_stmt test37.cpp 222:71 - operand call_expr test37.cpp 222:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test37.cpp 20:6 - operand @@ -14629,10 +14629,10 @@ function_decl func4 test37.cpp 193:10 - stringLength: 14 nop_expr - arg addr_expr - operand - string_cst - operand - - stringLength: 1 - cleanup_point_expr test37.cpp 223:65 - statement - expr_stmt test37.cpp 223:65 - operand + string_cst this->tmp1 - operand + - stringLength: 11 + cleanup_point_expr test37.cpp 223:75 - statement + expr_stmt test37.cpp 223:75 - operand call_expr test37.cpp 223:35 - expresssion addr_expr - function function_decl paranuckerInternalTest test37.cpp 20:6 - operand @@ -14708,8 +14708,8 @@ function_decl func4 test37.cpp 193:10 - stringLength: 18 nop_expr - arg addr_expr - operand - string_cst - operand - - stringLength: 1 + string_cst this->tmp1 - operand + - stringLength: 11 cleanup_point_expr test37.cpp 224:59 - statement expr_stmt test37.cpp 224:59 - operand call_expr test37.cpp 224:35 - expresssion diff --git a/test/test37-03.txt b/test/test37-03.txt index 34e2320..0d2dbf1 100644 --- a/test/test37-03.txt +++ b/test/test37-03.txt @@ -1286,142 +1286,142 @@ integer_type : ptr1, integer_type : ptr1, type_decl Data1: ptr1, integer_cst 0: ptr1, -statement_list : ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl paranuckerInternalTest: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : ptr1, -convert_expr : ptr1, -modify_expr : ptr1, -parm_decl ptr1: ptr1, -pointer_type : ptr1, -record_type : ptr1, -type_decl Data1: ptr1, -field_decl val: ptr1, -integer_cst 32: ptr1, -integer_type : ptr1, -type_decl int: ptr1, -integer_cst 32: ptr1, -integer_cst -2147483648: ptr1, -integer_cst 2147483647: ptr1, -field_decl ptrval: ptr1, -integer_cst 64: ptr1, -pointer_type : ptr1, -record_type : ptr1, -field_decl arr: ptr1, -integer_cst 96: ptr1, -array_type : ptr1, -integer_type : ptr1, -integer_type : ptr1, -type_decl Data1: ptr1, -integer_cst 64: ptr1, -call_expr : ptr1, -addr_expr : ptr1, -function_decl operator new: ptr1, -integer_cst 32: ptr1, -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: -cleanup_point_expr : ptr1, -expr_stmt : -call_expr : -addr_expr : -function_decl paranuckerInternalTest: +statement_list : ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl paranuckerInternalTest: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : ptr1, this->tmp1, +convert_expr : ptr1, this->tmp1, +modify_expr : ptr1, this->tmp1, +parm_decl ptr1: ptr1, this->tmp1, +pointer_type : ptr1, this->tmp1, +record_type : ptr1, this->tmp1, +type_decl Data1: ptr1, this->tmp1, +field_decl val: ptr1, this->tmp1, +integer_cst 32: ptr1, this->tmp1, +integer_type : ptr1, this->tmp1, +type_decl int: ptr1, this->tmp1, +integer_cst 32: ptr1, this->tmp1, +integer_cst -2147483648: ptr1, this->tmp1, +integer_cst 2147483647: ptr1, this->tmp1, +field_decl ptrval: ptr1, this->tmp1, +integer_cst 64: ptr1, this->tmp1, +pointer_type : ptr1, this->tmp1, +record_type : ptr1, this->tmp1, +field_decl arr: ptr1, this->tmp1, +integer_cst 96: ptr1, this->tmp1, +array_type : ptr1, this->tmp1, +integer_type : ptr1, this->tmp1, +integer_type : ptr1, this->tmp1, +type_decl Data1: ptr1, this->tmp1, +integer_cst 64: ptr1, this->tmp1, +call_expr : ptr1, this->tmp1, +addr_expr : ptr1, this->tmp1, +function_decl operator new: ptr1, this->tmp1, +integer_cst 32: ptr1, this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, +cleanup_point_expr : ptr1, this->tmp1, +expr_stmt : this->tmp1, +call_expr : this->tmp1, +addr_expr : this->tmp1, +function_decl paranuckerInternalTest: this->tmp1, cleanup_point_expr : ptr1, expr_stmt : ptr1, call_expr : ptr1, diff --git a/test/test37.cpp b/test/test37.cpp index f55bbd8..7dc33e0 100644 --- a/test/test37.cpp +++ b/test/test37.cpp @@ -205,10 +205,10 @@ class Object1 paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); if (!ptr1 && !tmp1) { - paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1"); paranuckerInternalTest("=", "knownNonNullVars", ""); - paranuckerInternalTest("=", "knownNullVars", "ptr1"); - paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); + paranuckerInternalTest("=", "knownNullVars", "ptr1 this->tmp1"); + paranuckerInternalTest("=", "needCheckNullVars", "ptr1 this->tmp1"); paranuckerInternalTest("=", "addNullVars", ""); paranuckerInternalTest("=", "removeNullVars", ""); paranuckerInternalTest("=", "removeNullVarsAll", ""); @@ -217,10 +217,10 @@ class Object1 paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); ptr1 = new Data1; - paranuckerInternalTest("=", "knownVars", "ptr1"); + paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1"); paranuckerInternalTest("=", "knownNonNullVars", "ptr1"); - paranuckerInternalTest("=", "knownNullVars", ""); - paranuckerInternalTest("=", "needCheckNullVars", ""); + paranuckerInternalTest("=", "knownNullVars", "this->tmp1"); + paranuckerInternalTest("=", "needCheckNullVars", "this->tmp1"); paranuckerInternalTest("=", "addNullVars", ""); paranuckerInternalTest("=", "removeNullVarsAll", ""); paranuckerInternalTest("=", "linkedVars", "ptr1"); diff --git a/test/test38-01.txt b/test/test38-01.txt index be10fe7..b86614e 100644 --- a/test/test38-01.txt +++ b/test/test38-01.txt @@ -2934,8 +2934,8 @@ function_decl func1 test38.cpp 37:10 - isAutogenerated: 1 integer_cst 0 - operand statement_list - then - cleanup_point_expr test38.cpp 65:65 - statement - expr_stmt test38.cpp 65:65 - operand + cleanup_point_expr test38.cpp 65:76 - statement + expr_stmt test38.cpp 65:76 - operand call_expr test38.cpp 65:39 - expresssion addr_expr - function function_decl paranuckerInternalTest test38.cpp 20:6 - operand @@ -3011,10 +3011,10 @@ function_decl func1 test38.cpp 37:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 - cleanup_point_expr test38.cpp 66:68 - statement - expr_stmt test38.cpp 66:68 - operand + string_cst ptr1 this->tmp1 - operand + - stringLength: 16 + cleanup_point_expr test38.cpp 66:78 - statement + expr_stmt test38.cpp 66:78 - operand call_expr test38.cpp 66:39 - expresssion addr_expr - function function_decl paranuckerInternalTest test38.cpp 20:6 - operand @@ -3090,8 +3090,8 @@ function_decl func1 test38.cpp 37:10 - stringLength: 17 nop_expr - arg addr_expr - operand - string_cst - operand - - stringLength: 1 + string_cst this->tmp1 - operand + - stringLength: 11 cleanup_point_expr test38.cpp 67:69 - statement expr_stmt test38.cpp 67:69 - operand call_expr test38.cpp 67:39 - expresssion @@ -3980,8 +3980,8 @@ function_decl func1 test38.cpp 37:10 type_decl Object1 test38.cpp 23:1 - field - isAutogenerated: 1 integer_cst 64 - parm size - cleanup_point_expr test38.cpp 77:65 - statement - expr_stmt test38.cpp 77:65 - operand + cleanup_point_expr test38.cpp 77:76 - statement + expr_stmt test38.cpp 77:76 - operand call_expr test38.cpp 77:39 - expresssion addr_expr - function function_decl paranuckerInternalTest test38.cpp 20:6 - operand @@ -4057,10 +4057,10 @@ function_decl func1 test38.cpp 37:10 - stringLength: 10 nop_expr - arg addr_expr - operand - string_cst ptr1 - operand - - stringLength: 5 - cleanup_point_expr test38.cpp 78:68 - statement - expr_stmt test38.cpp 78:68 - operand + string_cst ptr1 this->tmp1 - operand + - stringLength: 16 + cleanup_point_expr test38.cpp 78:78 - statement + expr_stmt test38.cpp 78:78 - operand call_expr test38.cpp 78:39 - expresssion addr_expr - function function_decl paranuckerInternalTest test38.cpp 20:6 - operand @@ -4136,8 +4136,8 @@ function_decl func1 test38.cpp 37:10 - stringLength: 17 nop_expr - arg addr_expr - operand - string_cst - operand - - stringLength: 1 + string_cst this->tmp1 - operand + - stringLength: 11 cleanup_point_expr test38.cpp 79:65 - statement expr_stmt test38.cpp 79:65 - operand call_expr test38.cpp 79:39 - expresssion diff --git a/test/test38.cpp b/test/test38.cpp index 359c9c2..252911f 100644 --- a/test/test38.cpp +++ b/test/test38.cpp @@ -62,8 +62,8 @@ class Object1 paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); if (tmp1) { - paranuckerInternalTest("=", "knownVars", "ptr1"); - paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1"); + paranuckerInternalTest("=", "knownNonNullVars", "this->tmp1"); paranuckerInternalTest("=", "knownNullVars", "ptr1"); paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); paranuckerInternalTest("=", "addNullVars", ""); @@ -74,8 +74,8 @@ class Object1 paranuckerInternalTest("=", "linkedReverseVars", "ptr1"); paranuckerInternalTest("=", "linkedReverseVars", "this->tmp1"); ptr1 = getData1(); - paranuckerInternalTest("=", "knownVars", "ptr1"); - paranuckerInternalTest("=", "knownNonNullVars", ""); + paranuckerInternalTest("=", "knownVars", "ptr1 this->tmp1"); + paranuckerInternalTest("=", "knownNonNullVars", "this->tmp1"); paranuckerInternalTest("=", "knownNullVars", ""); paranuckerInternalTest("=", "needCheckNullVars", "ptr1"); paranuckerInternalTest("=", "addNullVars", "ptr1"); diff --git a/test/test39-03.txt b/test/test39-03.txt index f7e221d..c7316f6 100644 --- a/test/test39-03.txt +++ b/test/test39-03.txt @@ -1812,7 +1812,7 @@ integer_cst 64: data1, ptr1, addr_expr : data1, ptr1, test39.cpp: In member function 'void Object1::func5() const': test39.cpp:195:16: warning: Using variable 'data1' without checking for null pointer - Data1 *ptr1 = reinterpret_cast<Data1*>(&data1); + Data1 *ptr1 = reinterpret_cast<Data1*>(&data1); // probable here must no warning about &data1 ^ var_decl data1: data1, ptr1, integer_cst 64: data1, ptr1, diff --git a/test/test39-04.txt b/test/test39-04.txt index 34f70b7..8031b1c 100644 --- a/test/test39-04.txt +++ b/test/test39-04.txt @@ -15,6 +15,6 @@ test39.cpp:119:25: warning: Using parameter 'ptr1' without checking for null poi ^ test39.cpp: In member function 'void Object1::func5() const': test39.cpp:195:16: warning: Using variable 'data1' without checking for null pointer - Data1 *ptr1 = reinterpret_cast<Data1*>(&data1); + Data1 *ptr1 = reinterpret_cast<Data1*>(&data1); // probable here must no warning about &data1 ^ test39.cpp:195:16: warning: Using variable 'data1' without checking for null pointer diff --git a/test/test39-05.txt b/test/test39-05.txt index a865d1b..9175290 100644 --- a/test/test39-05.txt +++ b/test/test39-05.txt @@ -22,7 +22,7 @@ test39.cpp:175:15: warning: unused variable 'data2' [-Wunused-variable] Data1 data2; ^ test39.cpp:195:16: warning: unused variable 'ptr1' [-Wunused-variable] - Data1 *ptr1 = reinterpret_cast<Data1*>(&data1); + Data1 *ptr1 = reinterpret_cast<Data1*>(&data1); // probable here must no warning about &data1 ^ test39.cpp:195:16: warning: Using variable 'data1' without checking for null pointer test39.cpp:195:16: warning: Using variable 'data1' without checking for null pointer |