diff options
-rw-r--r-- | test/test26-01.txt | 1460 | ||||
-rw-r--r-- | test/test26-02.txt | 4 | ||||
-rw-r--r-- | test/test26-03.txt | 850 | ||||
-rw-r--r-- | test/test26-04.txt | 26 | ||||
-rw-r--r-- | test/test26-05.txt | 26 | ||||
-rw-r--r-- | test/test26.cpp | 104 |
6 files changed, 2470 insertions, 0 deletions
diff --git a/test/test26-01.txt b/test/test26-01.txt index 59d4137..fa6469b 100644 --- a/test/test26-01.txt +++ b/test/test26-01.txt @@ -41406,6 +41406,1466 @@ function_decl func5 test26.cpp 80:17 - isAutogenerated: 1 integer_cst 64 - parm size void_cst - operand +function_decl func6 test26.cpp 88: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 89: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 88:33 - 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 88:29 - 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 90:9 - code + truth_orif_expr test26.cpp 90:19 - condition + eq_expr test26.cpp 90:14 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 88:29 - 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 90:24 - 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 3 - operand + statement_list - then + if_stmt test26.cpp 92:13 - statement + truth_andif_expr test26.cpp 92:23 - condition + eq_expr test26.cpp 92:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 88:29 - 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 92:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 1 - operand + return_expr test26.cpp 93:17 - then + if_stmt test26.cpp 94:13 - statement + truth_andif_expr test26.cpp 94:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 88:29 - 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 94:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 2 - operand + return_expr test26.cpp 95:17 - then + if_stmt test26.cpp 96:13 - statement + truth_orif_expr test26.cpp 96:23 - condition + eq_expr test26.cpp 96:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 88:29 - 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 96:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 1 - operand + return_expr test26.cpp 97:17 - then + if_stmt test26.cpp 98:13 - statement + truth_orif_expr test26.cpp 98:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 88:29 - 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 98:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 2 - operand + return_expr test26.cpp 99:17 - then + statement_list - else + if_stmt test26.cpp 103:13 - statement + truth_andif_expr test26.cpp 103:23 - condition + eq_expr test26.cpp 103:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 88:29 - 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 103:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 4 - operand + return_expr test26.cpp 104:17 - then + if_stmt test26.cpp 105:13 - statement + truth_andif_expr test26.cpp 105:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 88:29 - 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 105:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 5 - operand + return_expr test26.cpp 106:17 - then + if_stmt test26.cpp 107:13 - statement + truth_orif_expr test26.cpp 107:23 - condition + eq_expr test26.cpp 107:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 88:29 - 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 107:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 4 - operand + return_expr test26.cpp 108:17 - then + if_stmt test26.cpp 109:13 - statement + truth_orif_expr test26.cpp 109:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 88:29 - 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 109:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 5 - operand + return_expr test26.cpp 110:17 - then +function_decl func7 test26.cpp 114: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 115: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 114:33 - 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 114:29 - 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 116:9 - code + truth_orif_expr test26.cpp 116:18 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 114:29 - 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 116: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 3 - operand + statement_list - then + if_stmt test26.cpp 118:13 - statement + truth_andif_expr test26.cpp 118:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 114:29 - 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 118:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 1 - operand + return_expr test26.cpp 119:17 - then + if_stmt test26.cpp 120:13 - statement + truth_andif_expr test26.cpp 120:23 - condition + eq_expr test26.cpp 120:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 114:29 - 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 120:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 2 - operand + return_expr test26.cpp 121:17 - then + if_stmt test26.cpp 122:13 - statement + truth_orif_expr test26.cpp 122:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 114:29 - 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 122:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 1 - operand + return_expr test26.cpp 123:17 - then + if_stmt test26.cpp 124:13 - statement + truth_orif_expr test26.cpp 124:23 - condition + eq_expr test26.cpp 124:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 114:29 - 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 124:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 2 - operand + return_expr test26.cpp 125:17 - then + statement_list - else + if_stmt test26.cpp 129:13 - statement + truth_andif_expr test26.cpp 129:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 114:29 - 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 129:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 4 - operand + return_expr test26.cpp 130:17 - then + if_stmt test26.cpp 131:13 - statement + truth_andif_expr test26.cpp 131:23 - condition + eq_expr test26.cpp 131:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 114:29 - 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 131:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 5 - operand + return_expr test26.cpp 132:17 - then + if_stmt test26.cpp 133:13 - statement + truth_orif_expr test26.cpp 133:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 114:29 - 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 133:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 4 - operand + return_expr test26.cpp 134:17 - then + if_stmt test26.cpp 135:13 - statement + truth_orif_expr test26.cpp 135:23 - condition + eq_expr test26.cpp 135:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 114:29 - 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 135:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 5 - operand + return_expr test26.cpp 136:17 - then +function_decl func8 test26.cpp 140: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 141: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 140:33 - 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 140:29 - 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 142:9 - code + truth_andif_expr test26.cpp 142:19 - condition + eq_expr test26.cpp 142:14 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 140:29 - 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 142:24 - 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 3 - operand + statement_list - then + if_stmt test26.cpp 144:13 - statement + truth_orif_expr test26.cpp 144:23 - condition + eq_expr test26.cpp 144:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 140:29 - 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 144:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 1 - operand + return_expr test26.cpp 145:17 - then + if_stmt test26.cpp 146:13 - statement + truth_orif_expr test26.cpp 146:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 140:29 - 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 146:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 2 - operand + return_expr test26.cpp 147:17 - then + if_stmt test26.cpp 148:13 - statement + truth_andif_expr test26.cpp 148:23 - condition + eq_expr test26.cpp 148:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 140:29 - 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 148:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 1 - operand + return_expr test26.cpp 149:17 - then + if_stmt test26.cpp 150:13 - statement + truth_andif_expr test26.cpp 150:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 140:29 - 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 150:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 2 - operand + return_expr test26.cpp 151:17 - then + statement_list - else + if_stmt test26.cpp 155:13 - statement + truth_orif_expr test26.cpp 155:23 - condition + eq_expr test26.cpp 155:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 140:29 - 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 155:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 4 - operand + return_expr test26.cpp 156:17 - then + if_stmt test26.cpp 157:13 - statement + truth_orif_expr test26.cpp 157:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 140:29 - 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 157:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 5 - operand + return_expr test26.cpp 158:17 - then + if_stmt test26.cpp 159:13 - statement + truth_andif_expr test26.cpp 159:23 - condition + eq_expr test26.cpp 159:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 140:29 - 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 159:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 4 - operand + return_expr test26.cpp 160:17 - then + if_stmt test26.cpp 161:13 - statement + truth_andif_expr test26.cpp 161:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 140:29 - 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 161:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 5 - operand + return_expr test26.cpp 162:17 - then +function_decl func9 test26.cpp 166: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 167: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 166:33 - 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 166:29 - 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 168:9 - code + truth_andif_expr test26.cpp 168:18 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 166:29 - 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 168: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 3 - operand + statement_list - then + if_stmt test26.cpp 170:13 - statement + truth_orif_expr test26.cpp 170:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 166:29 - 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 170:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 1 - operand + return_expr test26.cpp 171:17 - then + if_stmt test26.cpp 172:13 - statement + truth_orif_expr test26.cpp 172:23 - condition + eq_expr test26.cpp 172:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 166:29 - 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 172:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 2 - operand + return_expr test26.cpp 173:17 - then + if_stmt test26.cpp 174:13 - statement + truth_andif_expr test26.cpp 174:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 166:29 - 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 174:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 1 - operand + return_expr test26.cpp 175:17 - then + if_stmt test26.cpp 176:13 - statement + truth_andif_expr test26.cpp 176:23 - condition + eq_expr test26.cpp 176:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 166:29 - 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 176:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 2 - operand + return_expr test26.cpp 177:17 - then + statement_list - else + if_stmt test26.cpp 181:13 - statement + truth_orif_expr test26.cpp 181:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 166:29 - 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 181:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 4 - operand + return_expr test26.cpp 182:17 - then + if_stmt test26.cpp 183:13 - statement + truth_orif_expr test26.cpp 183:23 - condition + eq_expr test26.cpp 183:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 166:29 - 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 183:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 5 - operand + return_expr test26.cpp 184:17 - then + if_stmt test26.cpp 185:13 - statement + truth_andif_expr test26.cpp 185:22 - condition + ne_expr - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 166:29 - 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 185:27 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 4 - operand + return_expr test26.cpp 186:17 - then + if_stmt test26.cpp 187:13 - statement + truth_andif_expr test26.cpp 187:23 - condition + eq_expr test26.cpp 187:18 - operand + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test26.cpp 166:29 - 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 187:28 - operand + var_decl k test26.cpp 40:5 - operand + - isUsed: 1 + integer_cst 5 - operand + return_expr test26.cpp 188:17 - then 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 53ff2f8..ea568ce 100644 --- a/test/test26-02.txt +++ b/test/test26-02.txt @@ -311,6 +311,10 @@ test26.cpp: In static member function 'static void Object1::func5(Data2*)': test26.cpp:85:16: warning: Using parameter 'ptr1' without checking for null pointer delete ptr1; ^ +func6: pointer_type ptr1, +func7: pointer_type ptr1, +func8: pointer_type ptr1, +func9: 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 5b63f48..7360ca2 100644 --- a/test/test26-03.txt +++ b/test/test26-03.txt @@ -13694,6 +13694,856 @@ integer_cst 64: type_decl Data2: integer_cst 64: void_cst : +function_decl func6: +if_stmt : ptr1, +truth_orif_expr : ptr1, +eq_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 : ptr1, +if_stmt : ptr1, +truth_andif_expr : ptr1, +eq_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 1: ptr1, +return_expr : 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 2: +return_expr : +if_stmt : ptr1, +truth_orif_expr : ptr1, +eq_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: +return_expr : 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, +statement_list : +if_stmt : +truth_andif_expr : +eq_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 4: +return_expr : +if_stmt : +truth_andif_expr : +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 5: +return_expr : +if_stmt : +truth_orif_expr : +eq_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 4: +return_expr : +if_stmt : +truth_orif_expr : +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 5: +return_expr : +function_decl func7: +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 3: ptr1, +statement_list : 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 1: +return_expr : +if_stmt : ptr1, +truth_andif_expr : ptr1, +eq_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, +return_expr : 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 1: ptr1, +return_expr : ptr1, +if_stmt : ptr1, +truth_orif_expr : ptr1, +eq_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 2: +return_expr : ptr1, +statement_list : 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: +return_expr : +if_stmt : ptr1, +truth_andif_expr : ptr1, +eq_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, +return_expr : 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 4: ptr1, +return_expr : ptr1, +if_stmt : ptr1, +truth_orif_expr : ptr1, +eq_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, +function_decl func8: +if_stmt : ptr1, +truth_andif_expr : ptr1, +eq_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 3: ptr1, +statement_list : ptr1, +if_stmt : ptr1, +truth_orif_expr : ptr1, +eq_expr : ptr1, +test26.cpp: In member function 'void Object1::func8(Data1*)': +test26.cpp:144:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 || k == 1) + ^ +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: +return_expr : 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, +if_stmt : ptr1, +truth_andif_expr : ptr1, +eq_expr : +test26.cpp:148:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 && k == 1) + ^ +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 1: +return_expr : ptr1, +if_stmt : ptr1, +truth_andif_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, +statement_list : ptr1, +if_stmt : ptr1, +truth_orif_expr : ptr1, +eq_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: +return_expr : 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: +eq_expr : +var_decl k: +integer_cst 5: +return_expr : ptr1, +if_stmt : ptr1, +truth_andif_expr : ptr1, +eq_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 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) + ^ +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, +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 : +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 1: +return_expr : +if_stmt : +truth_orif_expr : +eq_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 : +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) + ^ +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 1: +return_expr : +if_stmt : +truth_andif_expr : +eq_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 : +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 4: 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) + ^ +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, +if_stmt : ptr1, +truth_andif_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 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, 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 f0226d8..39a0b1d 100644 --- a/test/test26-04.txt +++ b/test/test26-04.txt @@ -6,3 +6,29 @@ test26.cpp: In member function 'void Object1::func2(Data1*)': test26.cpp:57:18: warning: Useless variable check 'ptr1'. It already was checked before if (!ptr1 && k == 1) ^ +test26.cpp: In member function 'void Object1::func8(Data1*)': +test26.cpp:144:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 || k == 1) + ^ +test26.cpp:148:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 && k == 1) + ^ +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:174:22: warning: Useless variable check 'ptr1'. It already was checked before + if (ptr1 && k == 1) + ^ +test26.cpp:183:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 || k == 5) + ^ +test26.cpp:187:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 && k == 5) + ^ diff --git a/test/test26-05.txt b/test/test26-05.txt index f0226d8..39a0b1d 100644 --- a/test/test26-05.txt +++ b/test/test26-05.txt @@ -6,3 +6,29 @@ test26.cpp: In member function 'void Object1::func2(Data1*)': test26.cpp:57:18: warning: Useless variable check 'ptr1'. It already was checked before if (!ptr1 && k == 1) ^ +test26.cpp: In member function 'void Object1::func8(Data1*)': +test26.cpp:144:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 || k == 1) + ^ +test26.cpp:148:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 && k == 1) + ^ +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:174:22: warning: Useless variable check 'ptr1'. It already was checked before + if (ptr1 && k == 1) + ^ +test26.cpp:183:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 || k == 5) + ^ +test26.cpp:187:18: warning: Useless variable check 'ptr1'. It already was checked before + if (!ptr1 && k == 5) + ^ diff --git a/test/test26.cpp b/test/test26.cpp index 929a85a..e4113a0 100644 --- a/test/test26.cpp +++ b/test/test26.cpp @@ -84,4 +84,108 @@ class Object1 delete ptr1; } + + void func6(Data1 *const ptr1) + { + if (!ptr1 || k == 3) + { + if (!ptr1 && k == 1) + return; + if (ptr1 && k == 2) + return; + if (!ptr1 || k == 1) + return; + if (ptr1 || k == 2) + return; + } + else + { + if (!ptr1 && k == 4) + return; + if (ptr1 && k == 5) + return; + if (!ptr1 || k == 4) + return; + if (ptr1 || k == 5) + return; + } + } + + void func7(Data1 *const ptr1) + { + if (ptr1 || k == 3) + { + if (ptr1 && k == 1) + return; + if (!ptr1 && k == 2) + return; + if (ptr1 || k == 1) + return; + if (!ptr1 || k == 2) + return; + } + else + { + if (ptr1 && k == 4) + return; + if (!ptr1 && k == 5) + return; + if (ptr1 || k == 4) + return; + if (!ptr1 || k == 5) + return; + } + } + + void func8(Data1 *const ptr1) + { + if (!ptr1 && k == 3) + { + if (!ptr1 || k == 1) + return; + if (ptr1 || k == 2) + return; + if (!ptr1 && k == 1) + return; + if (ptr1 && k == 2) + return; + } + else + { + if (!ptr1 || k == 4) + return; + if (ptr1 || k == 5) + return; + if (!ptr1 && k == 4) + return; + if (ptr1 && k == 5) + return; + } + } + + void func9(Data1 *const ptr1) + { + if (ptr1 && k == 3) + { + if (ptr1 || k == 1) + return; + if (!ptr1 || k == 2) + return; + if (ptr1 && k == 1) + return; + if (!ptr1 && k == 2) + return; + } + else + { + if (ptr1 || k == 4) + return; + if (!ptr1 || k == 5) + return; + if (ptr1 && k == 4) + return; + if (!ptr1 && k == 5) + return; + } + } }; |