summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test12-03.txt18
-rw-r--r--test/test12-04.txt18
-rw-r--r--test/test23-03.txt4
-rw-r--r--test/test23-04.txt4
-rw-r--r--test/test23-05.txt4
-rw-r--r--test/test24-03.txt324
-rw-r--r--test/test24-04.txt4
-rw-r--r--test/test24-05.txt4
-rw-r--r--test/test26-03.txt688
-rw-r--r--test/test27-03.txt2
-rw-r--r--test/test28-01.txt16
-rw-r--r--test/test28-03.txt2
-rw-r--r--test/test28.cpp6
-rw-r--r--test/test35-01.txt80
-rw-r--r--test/test35-03.txt4
-rw-r--r--test/test35-04.txt4
-rw-r--r--test/test35-05.txt4
-rw-r--r--test/test35.cpp22
-rw-r--r--test/test37-01.txt48
-rw-r--r--test/test37-03.txt272
-rw-r--r--test/test37.cpp12
-rw-r--r--test/test38-01.txt32
-rw-r--r--test/test38.cpp8
-rw-r--r--test/test39-03.txt2
-rw-r--r--test/test39-04.txt2
-rw-r--r--test/test39-05.txt2
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