summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/test26-01.txt1128
-rw-r--r--test/test26-02.txt5
-rw-r--r--test/test26-03.txt838
-rw-r--r--test/test26-04.txt34
-rw-r--r--test/test26-05.txt34
-rw-r--r--test/test26.cpp141
6 files changed, 1906 insertions, 274 deletions
diff --git a/test/test26-01.txt b/test/test26-01.txt
index fa6469b..64e8f45 100644
--- a/test/test26-01.txt
+++ b/test/test26-01.txt
@@ -41552,7 +41552,13 @@ function_decl func6 test26.cpp 88:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 1 - operand
- return_expr test26.cpp 93:17 - then
+ cleanup_point_expr test26.cpp 93:23 - then
+ expr_stmt test26.cpp 93:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 10 - operand
if_stmt test26.cpp 94:13 - statement
truth_andif_expr test26.cpp 94:22 - condition
ne_expr - operand
@@ -41583,7 +41589,13 @@ function_decl func6 test26.cpp 88:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 2 - operand
- return_expr test26.cpp 95:17 - then
+ cleanup_point_expr test26.cpp 95:23 - then
+ expr_stmt test26.cpp 95:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 20 - operand
if_stmt test26.cpp 96:13 - statement
truth_orif_expr test26.cpp 96:23 - condition
eq_expr test26.cpp 96:18 - operand
@@ -41614,7 +41626,13 @@ function_decl func6 test26.cpp 88:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 1 - operand
- return_expr test26.cpp 97:17 - then
+ cleanup_point_expr test26.cpp 97:23 - then
+ expr_stmt test26.cpp 97:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 30 - operand
if_stmt test26.cpp 98:13 - statement
truth_orif_expr test26.cpp 98:22 - condition
ne_expr - operand
@@ -41645,7 +41663,13 @@ function_decl func6 test26.cpp 88:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 2 - operand
- return_expr test26.cpp 99:17 - then
+ cleanup_point_expr test26.cpp 99:23 - then
+ expr_stmt test26.cpp 99:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 40 - operand
statement_list - else
if_stmt test26.cpp 103:13 - statement
truth_andif_expr test26.cpp 103:23 - condition
@@ -41677,7 +41701,13 @@ function_decl func6 test26.cpp 88:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 4 - operand
- return_expr test26.cpp 104:17 - then
+ cleanup_point_expr test26.cpp 104:23 - then
+ expr_stmt test26.cpp 104:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 50 - operand
if_stmt test26.cpp 105:13 - statement
truth_andif_expr test26.cpp 105:22 - condition
ne_expr - operand
@@ -41708,7 +41738,13 @@ function_decl func6 test26.cpp 88:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 5 - operand
- return_expr test26.cpp 106:17 - then
+ cleanup_point_expr test26.cpp 106:23 - then
+ expr_stmt test26.cpp 106:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 60 - operand
if_stmt test26.cpp 107:13 - statement
truth_orif_expr test26.cpp 107:23 - condition
eq_expr test26.cpp 107:18 - operand
@@ -41739,7 +41775,13 @@ function_decl func6 test26.cpp 88:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 4 - operand
- return_expr test26.cpp 108:17 - then
+ cleanup_point_expr test26.cpp 108:23 - then
+ expr_stmt test26.cpp 108:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 70 - operand
if_stmt test26.cpp 109:13 - statement
truth_orif_expr test26.cpp 109:22 - condition
ne_expr - operand
@@ -41770,7 +41812,13 @@ function_decl func6 test26.cpp 88:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 5 - operand
- return_expr test26.cpp 110:17 - then
+ cleanup_point_expr test26.cpp 110:23 - then
+ expr_stmt test26.cpp 110:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 80 - operand
function_decl func7 test26.cpp 114:10
- isPublic: 1
method_type - function type
@@ -41917,7 +41965,13 @@ function_decl func7 test26.cpp 114:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 1 - operand
- return_expr test26.cpp 119:17 - then
+ cleanup_point_expr test26.cpp 119:23 - then
+ expr_stmt test26.cpp 119:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 10 - operand
if_stmt test26.cpp 120:13 - statement
truth_andif_expr test26.cpp 120:23 - condition
eq_expr test26.cpp 120:18 - operand
@@ -41948,7 +42002,13 @@ function_decl func7 test26.cpp 114:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 2 - operand
- return_expr test26.cpp 121:17 - then
+ cleanup_point_expr test26.cpp 121:23 - then
+ expr_stmt test26.cpp 121:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 20 - operand
if_stmt test26.cpp 122:13 - statement
truth_orif_expr test26.cpp 122:22 - condition
ne_expr - operand
@@ -41979,7 +42039,13 @@ function_decl func7 test26.cpp 114:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 1 - operand
- return_expr test26.cpp 123:17 - then
+ cleanup_point_expr test26.cpp 123:23 - then
+ expr_stmt test26.cpp 123:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 30 - operand
if_stmt test26.cpp 124:13 - statement
truth_orif_expr test26.cpp 124:23 - condition
eq_expr test26.cpp 124:18 - operand
@@ -42010,7 +42076,13 @@ function_decl func7 test26.cpp 114:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 2 - operand
- return_expr test26.cpp 125:17 - then
+ cleanup_point_expr test26.cpp 125:23 - then
+ expr_stmt test26.cpp 125:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 40 - operand
statement_list - else
if_stmt test26.cpp 129:13 - statement
truth_andif_expr test26.cpp 129:22 - condition
@@ -42042,7 +42114,13 @@ function_decl func7 test26.cpp 114:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 4 - operand
- return_expr test26.cpp 130:17 - then
+ cleanup_point_expr test26.cpp 130:23 - then
+ expr_stmt test26.cpp 130:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 50 - operand
if_stmt test26.cpp 131:13 - statement
truth_andif_expr test26.cpp 131:23 - condition
eq_expr test26.cpp 131:18 - operand
@@ -42073,7 +42151,13 @@ function_decl func7 test26.cpp 114:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 5 - operand
- return_expr test26.cpp 132:17 - then
+ cleanup_point_expr test26.cpp 132:23 - then
+ expr_stmt test26.cpp 132:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 60 - operand
if_stmt test26.cpp 133:13 - statement
truth_orif_expr test26.cpp 133:22 - condition
ne_expr - operand
@@ -42104,7 +42188,13 @@ function_decl func7 test26.cpp 114:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 4 - operand
- return_expr test26.cpp 134:17 - then
+ cleanup_point_expr test26.cpp 134:23 - then
+ expr_stmt test26.cpp 134:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 70 - operand
if_stmt test26.cpp 135:13 - statement
truth_orif_expr test26.cpp 135:23 - condition
eq_expr test26.cpp 135:18 - operand
@@ -42135,7 +42225,13 @@ function_decl func7 test26.cpp 114:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 5 - operand
- return_expr test26.cpp 136:17 - then
+ cleanup_point_expr test26.cpp 136:23 - then
+ expr_stmt test26.cpp 136:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 80 - operand
function_decl func8 test26.cpp 140:10
- isPublic: 1
method_type - function type
@@ -42282,7 +42378,13 @@ function_decl func8 test26.cpp 140:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 1 - operand
- return_expr test26.cpp 145:17 - then
+ cleanup_point_expr test26.cpp 145:23 - then
+ expr_stmt test26.cpp 145:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 10 - operand
if_stmt test26.cpp 146:13 - statement
truth_orif_expr test26.cpp 146:22 - condition
ne_expr - operand
@@ -42313,7 +42415,13 @@ function_decl func8 test26.cpp 140:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 2 - operand
- return_expr test26.cpp 147:17 - then
+ cleanup_point_expr test26.cpp 147:23 - then
+ expr_stmt test26.cpp 147:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 20 - operand
if_stmt test26.cpp 148:13 - statement
truth_andif_expr test26.cpp 148:23 - condition
eq_expr test26.cpp 148:18 - operand
@@ -42343,8 +42451,14 @@ function_decl func8 test26.cpp 140:10
eq_expr test26.cpp 148:28 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 1 - operand
- return_expr test26.cpp 149:17 - then
+ integer_cst 3 - operand
+ cleanup_point_expr test26.cpp 149:23 - then
+ expr_stmt test26.cpp 149:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 30 - operand
if_stmt test26.cpp 150:13 - statement
truth_andif_expr test26.cpp 150:22 - condition
ne_expr - operand
@@ -42374,8 +42488,14 @@ function_decl func8 test26.cpp 140:10
eq_expr test26.cpp 150:27 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 2 - operand
- return_expr test26.cpp 151:17 - then
+ integer_cst 4 - operand
+ cleanup_point_expr test26.cpp 151:23 - then
+ expr_stmt test26.cpp 151:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 40 - operand
statement_list - else
if_stmt test26.cpp 155:13 - statement
truth_orif_expr test26.cpp 155:23 - condition
@@ -42406,8 +42526,14 @@ function_decl func8 test26.cpp 140:10
eq_expr test26.cpp 155:28 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 4 - operand
- return_expr test26.cpp 156:17 - then
+ integer_cst 5 - operand
+ cleanup_point_expr test26.cpp 156:23 - then
+ expr_stmt test26.cpp 156:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 50 - operand
if_stmt test26.cpp 157:13 - statement
truth_orif_expr test26.cpp 157:22 - condition
ne_expr - operand
@@ -42437,8 +42563,14 @@ function_decl func8 test26.cpp 140:10
eq_expr test26.cpp 157:27 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 5 - operand
- return_expr test26.cpp 158:17 - then
+ integer_cst 6 - operand
+ cleanup_point_expr test26.cpp 158:23 - then
+ expr_stmt test26.cpp 158:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 60 - operand
if_stmt test26.cpp 159:13 - statement
truth_andif_expr test26.cpp 159:23 - condition
eq_expr test26.cpp 159:18 - operand
@@ -42468,8 +42600,14 @@ function_decl func8 test26.cpp 140:10
eq_expr test26.cpp 159:28 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 4 - operand
- return_expr test26.cpp 160:17 - then
+ integer_cst 7 - operand
+ cleanup_point_expr test26.cpp 160:23 - then
+ expr_stmt test26.cpp 160:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 70 - operand
if_stmt test26.cpp 161:13 - statement
truth_andif_expr test26.cpp 161:22 - condition
ne_expr - operand
@@ -42499,8 +42637,14 @@ function_decl func8 test26.cpp 140:10
eq_expr test26.cpp 161:27 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 5 - operand
- return_expr test26.cpp 162:17 - then
+ integer_cst 8 - operand
+ cleanup_point_expr test26.cpp 162:23 - then
+ expr_stmt test26.cpp 162:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 80 - operand
function_decl func9 test26.cpp 166:10
- isPublic: 1
method_type - function type
@@ -42647,7 +42791,13 @@ function_decl func9 test26.cpp 166:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 1 - operand
- return_expr test26.cpp 171:17 - then
+ cleanup_point_expr test26.cpp 171:23 - then
+ expr_stmt test26.cpp 171:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 10 - operand
if_stmt test26.cpp 172:13 - statement
truth_orif_expr test26.cpp 172:23 - condition
eq_expr test26.cpp 172:18 - operand
@@ -42678,7 +42828,13 @@ function_decl func9 test26.cpp 166:10
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
integer_cst 2 - operand
- return_expr test26.cpp 173:17 - then
+ cleanup_point_expr test26.cpp 173:23 - then
+ expr_stmt test26.cpp 173:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 20 - operand
if_stmt test26.cpp 174:13 - statement
truth_andif_expr test26.cpp 174:22 - condition
ne_expr - operand
@@ -42708,8 +42864,14 @@ function_decl func9 test26.cpp 166:10
eq_expr test26.cpp 174:27 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 1 - operand
- return_expr test26.cpp 175:17 - then
+ integer_cst 3 - operand
+ cleanup_point_expr test26.cpp 175:23 - then
+ expr_stmt test26.cpp 175:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 30 - operand
if_stmt test26.cpp 176:13 - statement
truth_andif_expr test26.cpp 176:23 - condition
eq_expr test26.cpp 176:18 - operand
@@ -42739,8 +42901,14 @@ function_decl func9 test26.cpp 166:10
eq_expr test26.cpp 176:28 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 2 - operand
- return_expr test26.cpp 177:17 - then
+ integer_cst 4 - operand
+ cleanup_point_expr test26.cpp 177:23 - then
+ expr_stmt test26.cpp 177:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 40 - operand
statement_list - else
if_stmt test26.cpp 181:13 - statement
truth_orif_expr test26.cpp 181:22 - condition
@@ -42771,8 +42939,14 @@ function_decl func9 test26.cpp 166:10
eq_expr test26.cpp 181:27 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 4 - operand
- return_expr test26.cpp 182:17 - then
+ integer_cst 5 - operand
+ cleanup_point_expr test26.cpp 182:23 - then
+ expr_stmt test26.cpp 182:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 50 - operand
if_stmt test26.cpp 183:13 - statement
truth_orif_expr test26.cpp 183:23 - condition
eq_expr test26.cpp 183:18 - operand
@@ -42802,8 +42976,14 @@ function_decl func9 test26.cpp 166:10
eq_expr test26.cpp 183:28 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 5 - operand
- return_expr test26.cpp 184:17 - then
+ integer_cst 6 - operand
+ cleanup_point_expr test26.cpp 184:23 - then
+ expr_stmt test26.cpp 184:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 60 - operand
if_stmt test26.cpp 185:13 - statement
truth_andif_expr test26.cpp 185:22 - condition
ne_expr - operand
@@ -42833,8 +43013,14 @@ function_decl func9 test26.cpp 166:10
eq_expr test26.cpp 185:27 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 4 - operand
- return_expr test26.cpp 186:17 - then
+ integer_cst 7 - operand
+ cleanup_point_expr test26.cpp 186:23 - then
+ expr_stmt test26.cpp 186:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 70 - operand
if_stmt test26.cpp 187:13 - statement
truth_andif_expr test26.cpp 187:23 - condition
eq_expr test26.cpp 187:18 - operand
@@ -42864,8 +43050,862 @@ function_decl func9 test26.cpp 166:10
eq_expr test26.cpp 187:28 - operand
var_decl k test26.cpp 40:5 - operand
- isUsed: 1
- integer_cst 5 - operand
- return_expr test26.cpp 188:17 - then
+ integer_cst 8 - operand
+ cleanup_point_expr test26.cpp 188:23 - then
+ expr_stmt test26.cpp 188:23 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 80 - operand
+function_decl func10 test26.cpp 192:10
+- isPublic: 1
+ method_type - function type
+ void_type - method return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test26.cpp 193:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test26.cpp 192:34 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 192:30 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ if_stmt test26.cpp 194:9 - code
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 192:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ if_stmt test26.cpp 196:13 - then
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 192:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ cleanup_point_expr test26.cpp 197:32 - then
+ expr_stmt test26.cpp 197:32 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ component_ref test26.cpp 197:23 - operand
+ indirect_ref - object
+ nop_expr - ref
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 192:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ integer_cst 100 - operand
+function_decl func11 test26.cpp 201:10
+- isPublic: 1
+ method_type - function type
+ void_type - method return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test26.cpp 202:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test26.cpp 201:34 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 201:30 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ if_stmt test26.cpp 203:9 - code
+ truth_andif_expr test26.cpp 203:18 - condition
+ ne_expr - operand
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 201:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ eq_expr test26.cpp 203:23 - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - operand
+ if_stmt test26.cpp 205:13 - then
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 201:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ cleanup_point_expr test26.cpp 206:32 - then
+ expr_stmt test26.cpp 206:32 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ component_ref test26.cpp 206:23 - operand
+ indirect_ref - object
+ nop_expr - ref
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 201:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ integer_cst 100 - operand
+function_decl func12 test26.cpp 210:10
+- isPublic: 1
+ method_type - function type
+ void_type - method return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test26.cpp 211:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test26.cpp 210:34 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 210:30 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ if_stmt test26.cpp 212:9 - code
+ truth_orif_expr test26.cpp 212:18 - condition
+ ne_expr - operand
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 210:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ eq_expr test26.cpp 212:23 - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - operand
+ if_stmt test26.cpp 214:13 - then
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 210:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ cleanup_point_expr test26.cpp 215:32 - then
+ expr_stmt test26.cpp 215:32 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ component_ref test26.cpp 215:23 - operand
+ indirect_ref - object
+ nop_expr - ref
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 210:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ integer_cst 100 - operand
+function_decl func13 test26.cpp 219:10
+- isPublic: 1
+ method_type - function type
+ void_type - method return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test26.cpp 220:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test26.cpp 219:34 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 219:30 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ if_stmt test26.cpp 221:9 - code
+ truth_andif_expr test26.cpp 221:18 - condition
+ ne_expr - operand
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 219:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ eq_expr test26.cpp 221:23 - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - operand
+ return_expr test26.cpp 223:13 - then
+ if_stmt test26.cpp 227:13 - else
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 219:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ cleanup_point_expr test26.cpp 228:32 - then
+ expr_stmt test26.cpp 228:32 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ component_ref test26.cpp 228:23 - operand
+ indirect_ref - object
+ nop_expr - ref
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 219:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ integer_cst 100 - operand
+function_decl func14 test26.cpp 232:10
+- isPublic: 1
+ method_type - function type
+ void_type - method return type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ record_type - method base type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - arg types
+ pointer_type - value
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ pointer_type - value
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ tree_list - chain
+ void_type - value
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ result_decl test26.cpp 233:5 - function result
+ - isAutogenerated: 1
+ void_type - result type
+ type_decl void <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ parm_decl this test26.cpp 232:34 - argument
+ - isAutogenerated: 1
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Object1 test26.cpp 42:7 - type name
+ - isAutogenerated: 1
+ type_decl Object1 test26.cpp 43:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 232:30 - argument
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ if_stmt test26.cpp 234:9 - code
+ truth_orif_expr test26.cpp 234:18 - condition
+ ne_expr - operand
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 232:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ eq_expr test26.cpp 234:23 - operand
+ var_decl k test26.cpp 40:5 - operand
+ - isUsed: 1
+ integer_cst 32 - decl size
+ integer_type - var type
+ - precisionBits: 32
+ - signed
+ type_decl int <built-in> 0:0 - type name
+ - isAutogenerated: 1
+ integer_cst 32 - type size
+ integer_cst -2147483648 - min value
+ integer_cst 2147483647 - max value
+ integer_cst 10 - operand
+ return_expr test26.cpp 236:13 - then
+ if_stmt test26.cpp 240:13 - else
+ ne_expr - condition
+ nop_expr - operand
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 232:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ integer_cst 0 - operand
+ cleanup_point_expr test26.cpp 241:32 - then
+ expr_stmt test26.cpp 241:32 - operand
+ convert_expr - expresssion
+ modify_expr - operand
+ component_ref test26.cpp 241:23 - operand
+ indirect_ref - object
+ nop_expr - ref
+ - isUsed: 1
+ parm_decl ptr1 test26.cpp 232:30 - operand
+ pointer_type - decl type
+ record_type - nested type
+ type_decl Data1 test26.cpp 6:8 - type name
+ - isAutogenerated: 1
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ field_decl ptrval test26.cpp 18:12 - field
+ - unsigned
+ integer_cst 64 - decl size
+ field_decl arr test26.cpp 19:14 - field
+ - signed
+ integer_cst 96 - decl size
+ field_decl str1 test26.cpp 20:17 - field
+ - signed
+ integer_cst 64 - decl size
+ type_decl Data1 test26.cpp 7:1 - field
+ - isAutogenerated: 1
+ integer_cst 64 - parm size
+ field_decl val test26.cpp 17:9 - field
+ - signed
+ integer_cst 32 - decl size
+ integer_cst 100 - operand
function_decl c_str /usr/include/c++/5/bits/basic_string.h 4215:7
- isExternal: 1
- isPublic: 1
diff --git a/test/test26-02.txt b/test/test26-02.txt
index ea568ce..640a548 100644
--- a/test/test26-02.txt
+++ b/test/test26-02.txt
@@ -315,6 +315,11 @@ func6: pointer_type ptr1,
func7: pointer_type ptr1,
func8: pointer_type ptr1,
func9: pointer_type ptr1,
+func10: pointer_type ptr1,
+func11: pointer_type ptr1,
+func12: pointer_type ptr1,
+func13: pointer_type ptr1,
+func14: pointer_type ptr1,
__stoa: pointer_type __convf, pointer_type __name, pointer_type __str, pointer_type __idx,
__stoa: pointer_type __convf, pointer_type __name, pointer_type __str, pointer_type __idx,
__stoa: pointer_type __convf, pointer_type __name, pointer_type __str, pointer_type __idx,
diff --git a/test/test26-03.txt b/test/test26-03.txt
index 7360ca2..32554d4 100644
--- a/test/test26-03.txt
+++ b/test/test26-03.txt
@@ -13744,7 +13744,12 @@ integer_cst 0: ptr1,
eq_expr : ptr1,
var_decl k: ptr1,
integer_cst 1: ptr1,
-return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 10: ptr1,
if_stmt : ptr1,
truth_andif_expr : ptr1,
ne_expr : ptr1,
@@ -13766,7 +13771,12 @@ integer_cst 0: ptr1,
eq_expr :
var_decl k:
integer_cst 2:
-return_expr :
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 20:
if_stmt : ptr1,
truth_orif_expr : ptr1,
eq_expr : ptr1,
@@ -13788,29 +13798,39 @@ integer_cst 0: ptr1,
eq_expr :
var_decl k:
integer_cst 1:
-return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 30: ptr1,
if_stmt : ptr1,
truth_orif_expr : ptr1,
-ne_expr :
-parm_decl ptr1:
-pointer_type :
-record_type :
-type_decl Data1:
-field_decl val:
-integer_cst 32:
-field_decl ptrval:
-integer_cst 64:
-field_decl arr:
-integer_cst 96:
-field_decl str1:
-integer_cst 64:
-type_decl Data1:
-integer_cst 64:
-integer_cst 0:
-eq_expr :
-var_decl k:
-integer_cst 2:
-return_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 2: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 40: ptr1,
statement_list :
if_stmt :
truth_andif_expr :
@@ -13833,7 +13853,12 @@ integer_cst 0:
eq_expr :
var_decl k:
integer_cst 4:
-return_expr :
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 50:
if_stmt :
truth_andif_expr :
ne_expr :
@@ -13855,7 +13880,12 @@ integer_cst 0:
eq_expr :
var_decl k:
integer_cst 5:
-return_expr :
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 60:
if_stmt :
truth_orif_expr :
eq_expr :
@@ -13877,7 +13907,12 @@ integer_cst 0:
eq_expr :
var_decl k:
integer_cst 4:
-return_expr :
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 70:
if_stmt :
truth_orif_expr :
ne_expr :
@@ -13899,7 +13934,12 @@ integer_cst 0:
eq_expr :
var_decl k:
integer_cst 5:
-return_expr :
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 80:
function_decl func7:
if_stmt : ptr1,
truth_orif_expr : ptr1,
@@ -13950,7 +13990,12 @@ integer_cst 0: ptr1,
eq_expr :
var_decl k:
integer_cst 1:
-return_expr :
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 10:
if_stmt : ptr1,
truth_andif_expr : ptr1,
eq_expr : ptr1,
@@ -13972,7 +14017,12 @@ integer_cst 0: ptr1,
eq_expr : ptr1,
var_decl k: ptr1,
integer_cst 2: ptr1,
-return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 20: ptr1,
if_stmt : ptr1,
truth_orif_expr : ptr1,
ne_expr : ptr1,
@@ -13994,7 +14044,12 @@ integer_cst 0: ptr1,
eq_expr : ptr1,
var_decl k: ptr1,
integer_cst 1: ptr1,
-return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 30: ptr1,
if_stmt : ptr1,
truth_orif_expr : ptr1,
eq_expr : ptr1,
@@ -14016,7 +14071,12 @@ integer_cst 0: ptr1,
eq_expr :
var_decl k:
integer_cst 2:
-return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 40: ptr1,
statement_list : ptr1,
if_stmt : ptr1,
truth_andif_expr : ptr1,
@@ -14039,7 +14099,12 @@ integer_cst 0: ptr1,
eq_expr :
var_decl k:
integer_cst 4:
-return_expr :
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 50:
if_stmt : ptr1,
truth_andif_expr : ptr1,
eq_expr : ptr1,
@@ -14061,7 +14126,12 @@ integer_cst 0: ptr1,
eq_expr : ptr1,
var_decl k: ptr1,
integer_cst 5: ptr1,
-return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 60: ptr1,
if_stmt : ptr1,
truth_orif_expr : ptr1,
ne_expr : ptr1,
@@ -14083,7 +14153,12 @@ integer_cst 0: ptr1,
eq_expr : ptr1,
var_decl k: ptr1,
integer_cst 4: ptr1,
-return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 70: ptr1,
if_stmt : ptr1,
truth_orif_expr : ptr1,
eq_expr : ptr1,
@@ -14105,7 +14180,12 @@ integer_cst 0: ptr1,
eq_expr :
var_decl k:
integer_cst 5:
-return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 80: ptr1,
function_decl func8:
if_stmt : ptr1,
truth_andif_expr : ptr1,
@@ -14160,10 +14240,247 @@ integer_cst 0: ptr1,
eq_expr :
var_decl k:
integer_cst 1:
-return_expr : ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 10: ptr1,
+if_stmt : ptr1,
+truth_orif_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 2: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 20: ptr1,
+if_stmt : ptr1,
+truth_andif_expr : ptr1,
+eq_expr : ptr1,
+test26.cpp:148:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 && k == 3)
+ ^
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 3: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 30: ptr1,
+if_stmt : ptr1,
+truth_andif_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr :
+var_decl k:
+integer_cst 4:
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 40:
+statement_list : ptr1,
+if_stmt : ptr1,
+truth_orif_expr : ptr1,
+eq_expr : ptr1,
+test26.cpp:155:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 || k == 5)
+ ^
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr :
+var_decl k:
+integer_cst 5:
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 50: ptr1,
if_stmt : ptr1,
truth_orif_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 6: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 60: ptr1,
+if_stmt : ptr1,
+truth_andif_expr : ptr1,
+eq_expr : ptr1,
+test26.cpp:159:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 && k == 7)
+ ^
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 7: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 70: ptr1,
+if_stmt : ptr1,
+truth_andif_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr :
+var_decl k:
+integer_cst 8:
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 80:
+function_decl func9:
+if_stmt : ptr1,
+truth_andif_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr :
+var_decl k:
+integer_cst 32:
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 3:
+statement_list :
+if_stmt :
+truth_orif_expr :
ne_expr :
+test26.cpp: In member function 'void Object1::func9(Data1*)':
+test26.cpp:170:22: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1 || k == 1)
+ ^
parm_decl ptr1:
pointer_type :
record_type :
@@ -14181,13 +14498,18 @@ integer_cst 64:
integer_cst 0:
eq_expr :
var_decl k:
-integer_cst 2:
-return_expr : ptr1,
-if_stmt : ptr1,
-truth_andif_expr : ptr1,
+integer_cst 1:
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 10:
+if_stmt :
+truth_orif_expr :
eq_expr :
-test26.cpp:148:18: warning: Useless variable check 'ptr1'. It already was checked before
- if (!ptr1 && k == 1)
+test26.cpp:172:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 || k == 2)
^
parm_decl ptr1:
pointer_type :
@@ -14206,11 +14528,19 @@ integer_cst 64:
integer_cst 0:
eq_expr :
var_decl k:
-integer_cst 1:
-return_expr : ptr1,
-if_stmt : ptr1,
-truth_andif_expr : ptr1,
+integer_cst 2:
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 20:
+if_stmt :
+truth_andif_expr :
ne_expr :
+test26.cpp:174:22: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1 && k == 3)
+ ^
parm_decl ptr1:
pointer_type :
record_type :
@@ -14228,12 +14558,77 @@ integer_cst 64:
integer_cst 0:
eq_expr :
var_decl k:
-integer_cst 2:
-return_expr : ptr1,
+integer_cst 3:
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 30:
+if_stmt :
+truth_andif_expr :
+eq_expr :
+test26.cpp:176:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 && k == 4)
+ ^
+parm_decl ptr1:
+pointer_type :
+record_type :
+type_decl Data1:
+field_decl val:
+integer_cst 32:
+field_decl ptrval:
+integer_cst 64:
+field_decl arr:
+integer_cst 96:
+field_decl str1:
+integer_cst 64:
+type_decl Data1:
+integer_cst 64:
+integer_cst 0:
+eq_expr :
+var_decl k:
+integer_cst 4:
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 40:
statement_list : ptr1,
if_stmt : ptr1,
truth_orif_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
eq_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 5: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 50: ptr1,
+if_stmt : ptr1,
+truth_orif_expr : ptr1,
+eq_expr : ptr1,
+test26.cpp:183:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 || k == 6)
+ ^
parm_decl ptr1: ptr1,
pointer_type : ptr1,
record_type : ptr1,
@@ -14251,36 +14646,94 @@ integer_cst 64: ptr1,
integer_cst 0: ptr1,
eq_expr :
var_decl k:
-integer_cst 4:
-return_expr : ptr1,
+integer_cst 6:
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 60: ptr1,
if_stmt : ptr1,
-truth_orif_expr : ptr1,
-ne_expr :
-test26.cpp:157:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 || k == 5)
- ^
-parm_decl ptr1:
-pointer_type :
-record_type :
-type_decl Data1:
-field_decl val:
-integer_cst 32:
-field_decl ptrval:
-integer_cst 64:
-field_decl arr:
-integer_cst 96:
-field_decl str1:
-integer_cst 64:
-type_decl Data1:
-integer_cst 64:
-integer_cst 0:
+truth_andif_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
eq_expr :
var_decl k:
-integer_cst 5:
-return_expr : ptr1,
+integer_cst 7:
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+var_decl k:
+integer_cst 70:
if_stmt : ptr1,
truth_andif_expr : ptr1,
-eq_expr :
+eq_expr : ptr1,
+test26.cpp:187:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 && k == 8)
+ ^
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 8: ptr1,
+cleanup_point_expr : ptr1,
+expr_stmt : ptr1,
+convert_expr : ptr1,
+modify_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 80: ptr1,
+function_decl func10:
+if_stmt : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+if_stmt :
+ne_expr :
+test26.cpp: In member function 'void Object1::func10(Data1*)':
+test26.cpp:196:13: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1)
+ ^
parm_decl ptr1:
pointer_type :
record_type :
@@ -14296,16 +14749,12 @@ integer_cst 64:
type_decl Data1:
integer_cst 64:
integer_cst 0:
-eq_expr :
-var_decl k:
-integer_cst 4:
-return_expr : ptr1,
-if_stmt : ptr1,
-truth_andif_expr : ptr1,
-ne_expr :
-test26.cpp:161:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 && k == 5)
- ^
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+component_ref :
+indirect_ref :
parm_decl ptr1:
pointer_type :
record_type :
@@ -14320,12 +14769,10 @@ field_decl str1:
integer_cst 64:
type_decl Data1:
integer_cst 64:
-integer_cst 0:
-eq_expr :
-var_decl k:
-integer_cst 5:
-return_expr : ptr1,
-function_decl func9:
+field_decl val:
+integer_cst 32:
+integer_cst 100:
+function_decl func11:
if_stmt : ptr1,
truth_andif_expr : ptr1,
ne_expr : ptr1,
@@ -14352,15 +14799,13 @@ type_decl int:
integer_cst 32:
integer_cst -2147483648:
integer_cst 2147483647:
-integer_cst 3:
-statement_list :
+integer_cst 10:
if_stmt :
-truth_orif_expr :
ne_expr :
-test26.cpp: In member function 'void Object1::func9(Data1*)':
-test26.cpp:170:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 || k == 1)
- ^
+test26.cpp: In member function 'void Object1::func11(Data1*)':
+test26.cpp:205:13: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1)
+ ^
parm_decl ptr1:
pointer_type :
record_type :
@@ -14376,13 +14821,12 @@ integer_cst 64:
type_decl Data1:
integer_cst 64:
integer_cst 0:
-eq_expr :
-var_decl k:
-integer_cst 1:
-return_expr :
-if_stmt :
-truth_orif_expr :
-eq_expr :
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+component_ref :
+indirect_ref :
parm_decl ptr1:
pointer_type :
record_type :
@@ -14397,17 +14841,60 @@ field_decl str1:
integer_cst 64:
type_decl Data1:
integer_cst 64:
-integer_cst 0:
-eq_expr :
-var_decl k:
-integer_cst 2:
-return_expr :
-if_stmt :
-truth_andif_expr :
-ne_expr :
-test26.cpp:174:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 && k == 1)
- ^
+field_decl val:
+integer_cst 32:
+integer_cst 100:
+function_decl func12:
+if_stmt : ptr1,
+truth_orif_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+eq_expr : ptr1,
+var_decl k: ptr1,
+integer_cst 32: ptr1,
+integer_type : ptr1,
+type_decl int: ptr1,
+integer_cst 32: ptr1,
+integer_cst -2147483648: ptr1,
+integer_cst 2147483647: ptr1,
+integer_cst 10: ptr1,
+if_stmt : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+component_ref :
+indirect_ref :
parm_decl ptr1:
pointer_type :
record_type :
@@ -14422,14 +14909,61 @@ field_decl str1:
integer_cst 64:
type_decl Data1:
integer_cst 64:
-integer_cst 0:
+field_decl val:
+integer_cst 32:
+integer_cst 100:
+function_decl func13:
+if_stmt : ptr1,
+truth_andif_expr : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
eq_expr :
var_decl k:
-integer_cst 1:
+integer_cst 32:
+integer_type :
+type_decl int:
+integer_cst 32:
+integer_cst -2147483648:
+integer_cst 2147483647:
+integer_cst 10:
return_expr :
-if_stmt :
-truth_andif_expr :
-eq_expr :
+if_stmt : ptr1,
+ne_expr : ptr1,
+parm_decl ptr1: ptr1,
+pointer_type : ptr1,
+record_type : ptr1,
+type_decl Data1: ptr1,
+field_decl val: ptr1,
+integer_cst 32: ptr1,
+field_decl ptrval: ptr1,
+integer_cst 64: ptr1,
+field_decl arr: ptr1,
+integer_cst 96: ptr1,
+field_decl str1: ptr1,
+integer_cst 64: ptr1,
+type_decl Data1: ptr1,
+integer_cst 64: ptr1,
+integer_cst 0: ptr1,
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+component_ref :
+indirect_ref :
parm_decl ptr1:
pointer_type :
record_type :
@@ -14444,12 +14978,10 @@ field_decl str1:
integer_cst 64:
type_decl Data1:
integer_cst 64:
-integer_cst 0:
-eq_expr :
-var_decl k:
-integer_cst 2:
-return_expr :
-statement_list : ptr1,
+field_decl val:
+integer_cst 32:
+integer_cst 100:
+function_decl func14:
if_stmt : ptr1,
truth_orif_expr : ptr1,
ne_expr : ptr1,
@@ -14470,14 +15002,16 @@ integer_cst 64: ptr1,
integer_cst 0: ptr1,
eq_expr : ptr1,
var_decl k: ptr1,
-integer_cst 4: ptr1,
+integer_cst 32: ptr1,
+integer_type : ptr1,
+type_decl int: ptr1,
+integer_cst 32: ptr1,
+integer_cst -2147483648: ptr1,
+integer_cst 2147483647: ptr1,
+integer_cst 10: ptr1,
return_expr : ptr1,
if_stmt : ptr1,
-truth_orif_expr : ptr1,
-eq_expr : ptr1,
-test26.cpp:183:18: warning: Useless variable check 'ptr1'. It already was checked before
- if (!ptr1 || k == 5)
- ^
+ne_expr : ptr1,
parm_decl ptr1: ptr1,
pointer_type : ptr1,
record_type : ptr1,
@@ -14493,13 +15027,12 @@ integer_cst 64: ptr1,
type_decl Data1: ptr1,
integer_cst 64: ptr1,
integer_cst 0: ptr1,
-eq_expr :
-var_decl k:
-integer_cst 5:
-return_expr : ptr1,
-if_stmt : ptr1,
-truth_andif_expr : ptr1,
-ne_expr :
+cleanup_point_expr :
+expr_stmt :
+convert_expr :
+modify_expr :
+component_ref :
+indirect_ref :
parm_decl ptr1:
pointer_type :
record_type :
@@ -14514,36 +15047,9 @@ field_decl str1:
integer_cst 64:
type_decl Data1:
integer_cst 64:
-integer_cst 0:
-eq_expr :
-var_decl k:
-integer_cst 4:
-return_expr : ptr1,
-if_stmt : ptr1,
-truth_andif_expr : ptr1,
-eq_expr :
-test26.cpp:187:18: warning: Useless variable check 'ptr1'. It already was checked before
- if (!ptr1 && k == 5)
- ^
-parm_decl ptr1:
-pointer_type :
-record_type :
-type_decl Data1:
field_decl val:
integer_cst 32:
-field_decl ptrval:
-integer_cst 64:
-field_decl arr:
-integer_cst 96:
-field_decl str1:
-integer_cst 64:
-type_decl Data1:
-integer_cst 64:
-integer_cst 0:
-eq_expr :
-var_decl k:
-integer_cst 5:
-return_expr : ptr1,
+integer_cst 100:
function_decl c_str:
function_decl __stoa:
bind_expr : __convf, __idx, __name, __str,
diff --git a/test/test26-04.txt b/test/test26-04.txt
index 39a0b1d..6f83e97 100644
--- a/test/test26-04.txt
+++ b/test/test26-04.txt
@@ -11,24 +11,38 @@ test26.cpp:144:18: warning: Useless variable check 'ptr1'. It already was checke
if (!ptr1 || k == 1)
^
test26.cpp:148:18: warning: Useless variable check 'ptr1'. It already was checked before
- if (!ptr1 && k == 1)
+ if (!ptr1 && k == 3)
+ ^
+test26.cpp:155:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 || k == 5)
+ ^
+test26.cpp:159:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 && k == 7)
^
-test26.cpp:157:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 || k == 5)
- ^
-test26.cpp:161:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 && k == 5)
- ^
test26.cpp: In member function 'void Object1::func9(Data1*)':
test26.cpp:170:22: warning: Useless variable check 'ptr1'. It already was checked before
if (ptr1 || k == 1)
^
+test26.cpp:172:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 || k == 2)
+ ^
test26.cpp:174:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 && k == 1)
+ if (ptr1 && k == 3)
^
+test26.cpp:176:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 && k == 4)
+ ^
test26.cpp:183:18: warning: Useless variable check 'ptr1'. It already was checked before
- if (!ptr1 || k == 5)
+ if (!ptr1 || k == 6)
^
test26.cpp:187:18: warning: Useless variable check 'ptr1'. It already was checked before
- if (!ptr1 && k == 5)
+ if (!ptr1 && k == 8)
^
+test26.cpp: In member function 'void Object1::func10(Data1*)':
+test26.cpp:196:13: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1)
+ ^
+test26.cpp: In member function 'void Object1::func11(Data1*)':
+test26.cpp:205:13: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1)
+ ^
diff --git a/test/test26-05.txt b/test/test26-05.txt
index 39a0b1d..6f83e97 100644
--- a/test/test26-05.txt
+++ b/test/test26-05.txt
@@ -11,24 +11,38 @@ test26.cpp:144:18: warning: Useless variable check 'ptr1'. It already was checke
if (!ptr1 || k == 1)
^
test26.cpp:148:18: warning: Useless variable check 'ptr1'. It already was checked before
- if (!ptr1 && k == 1)
+ if (!ptr1 && k == 3)
+ ^
+test26.cpp:155:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 || k == 5)
+ ^
+test26.cpp:159:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 && k == 7)
^
-test26.cpp:157:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 || k == 5)
- ^
-test26.cpp:161:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 && k == 5)
- ^
test26.cpp: In member function 'void Object1::func9(Data1*)':
test26.cpp:170:22: warning: Useless variable check 'ptr1'. It already was checked before
if (ptr1 || k == 1)
^
+test26.cpp:172:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 || k == 2)
+ ^
test26.cpp:174:22: warning: Useless variable check 'ptr1'. It already was checked before
- if (ptr1 && k == 1)
+ if (ptr1 && k == 3)
^
+test26.cpp:176:18: warning: Useless variable check 'ptr1'. It already was checked before
+ if (!ptr1 && k == 4)
+ ^
test26.cpp:183:18: warning: Useless variable check 'ptr1'. It already was checked before
- if (!ptr1 || k == 5)
+ if (!ptr1 || k == 6)
^
test26.cpp:187:18: warning: Useless variable check 'ptr1'. It already was checked before
- if (!ptr1 && k == 5)
+ if (!ptr1 && k == 8)
^
+test26.cpp: In member function 'void Object1::func10(Data1*)':
+test26.cpp:196:13: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1)
+ ^
+test26.cpp: In member function 'void Object1::func11(Data1*)':
+test26.cpp:205:13: warning: Useless variable check 'ptr1'. It already was checked before
+ if (ptr1)
+ ^
diff --git a/test/test26.cpp b/test/test26.cpp
index e4113a0..3dc8026 100644
--- a/test/test26.cpp
+++ b/test/test26.cpp
@@ -90,24 +90,24 @@ class Object1
if (!ptr1 || k == 3)
{
if (!ptr1 && k == 1)
- return;
+ k = 10;
if (ptr1 && k == 2)
- return;
+ k = 20;
if (!ptr1 || k == 1)
- return;
+ k = 30;
if (ptr1 || k == 2)
- return;
+ k = 40;
}
else
{
if (!ptr1 && k == 4)
- return;
+ k = 50;
if (ptr1 && k == 5)
- return;
+ k = 60;
if (!ptr1 || k == 4)
- return;
+ k = 70;
if (ptr1 || k == 5)
- return;
+ k = 80;
}
}
@@ -116,24 +116,24 @@ class Object1
if (ptr1 || k == 3)
{
if (ptr1 && k == 1)
- return;
+ k = 10;
if (!ptr1 && k == 2)
- return;
+ k = 20;
if (ptr1 || k == 1)
- return;
+ k = 30;
if (!ptr1 || k == 2)
- return;
+ k = 40;
}
else
{
if (ptr1 && k == 4)
- return;
+ k = 50;
if (!ptr1 && k == 5)
- return;
+ k = 60;
if (ptr1 || k == 4)
- return;
+ k = 70;
if (!ptr1 || k == 5)
- return;
+ k = 80;
}
}
@@ -142,24 +142,24 @@ class Object1
if (!ptr1 && k == 3)
{
if (!ptr1 || k == 1)
- return;
+ k = 10;
if (ptr1 || k == 2)
- return;
- if (!ptr1 && k == 1)
- return;
- if (ptr1 && k == 2)
- return;
+ k = 20;
+ if (!ptr1 && k == 3)
+ k = 30;
+ if (ptr1 && k == 4)
+ k = 40;
}
else
{
- if (!ptr1 || k == 4)
- return;
- if (ptr1 || k == 5)
- return;
- if (!ptr1 && k == 4)
- return;
- if (ptr1 && k == 5)
- return;
+ if (!ptr1 || k == 5)
+ k = 50;
+ if (ptr1 || k == 6)
+ k = 60;
+ if (!ptr1 && k == 7)
+ k = 70;
+ if (ptr1 && k == 8)
+ k = 80;
}
}
@@ -168,24 +168,77 @@ class Object1
if (ptr1 && k == 3)
{
if (ptr1 || k == 1)
- return;
+ k = 10;
if (!ptr1 || k == 2)
- return;
- if (ptr1 && k == 1)
- return;
- if (!ptr1 && k == 2)
- return;
+ k = 20;
+ if (ptr1 && k == 3)
+ k = 30;
+ if (!ptr1 && k == 4)
+ k = 40;
}
else
{
- if (ptr1 || k == 4)
- return;
- if (!ptr1 || k == 5)
- return;
- if (ptr1 && k == 4)
- return;
- if (!ptr1 && k == 5)
- return;
+ if (ptr1 || k == 5)
+ k = 50;
+ if (!ptr1 || k == 6)
+ k = 60;
+ if (ptr1 && k == 7)
+ k = 70;
+ if (!ptr1 && k == 8)
+ k = 80;
+ }
+ }
+
+ void func10(Data1 *const ptr1)
+ {
+ if (ptr1)
+ {
+ if (ptr1)
+ ptr1->val = 100;
+ }
+ }
+
+ void func11(Data1 *const ptr1)
+ {
+ if (ptr1 && k == 10)
+ {
+ if (ptr1)
+ ptr1->val = 100;
+ }
+ }
+
+ void func12(Data1 *const ptr1)
+ {
+ if (ptr1 || k == 10)
+ {
+ if (ptr1)
+ ptr1->val = 100;
+ }
+ }
+
+ void func13(Data1 *const ptr1)
+ {
+ if (ptr1 && k == 10)
+ {
+ return;
+ }
+ else
+ {
+ if (ptr1)
+ ptr1->val = 100;
+ }
+ }
+
+ void func14(Data1 *const ptr1)
+ {
+ if (ptr1 || k == 10)
+ {
+ return;
+ }
+ else
+ {
+ if (ptr1)
+ ptr1->val = 100;
}
}
};