diff options
-rw-r--r-- | test/test19-03.txt | 40 | ||||
-rw-r--r-- | test/test20-03.txt | 28 | ||||
-rw-r--r-- | test/test21-03.txt | 112 | ||||
-rw-r--r-- | test/test22-01.txt | 403 | ||||
-rw-r--r-- | test/test22-02.txt | 4 | ||||
-rw-r--r-- | test/test22-03.txt | 206 | ||||
-rw-r--r-- | test/test22.cpp | 33 |
7 files changed, 687 insertions, 139 deletions
diff --git a/test/test19-03.txt b/test/test19-03.txt index 05b87e0..cfc3af8 100644 --- a/test/test19-03.txt +++ b/test/test19-03.txt @@ -52,16 +52,16 @@ if_stmt : ptr1, ptr2, ptr3, ne_expr : ptr1, ptr2, ptr3, var_decl ptr3: ptr1, ptr2, ptr3, integer_cst 0: ptr1, ptr2, ptr3, -cleanup_point_expr : ptr1, ptr2, -expr_stmt : ptr1, ptr2, -convert_expr : ptr1, ptr2, -modify_expr : ptr1, ptr2, -component_ref : ptr1, ptr2, -indirect_ref : ptr1, ptr2, -var_decl ptr3: ptr1, ptr2, -field_decl val: ptr1, ptr2, -integer_cst 32: ptr1, ptr2, -integer_cst 100: ptr1, ptr2, +cleanup_point_expr : ptr2, +expr_stmt : ptr2, +convert_expr : ptr2, +modify_expr : ptr2, +component_ref : ptr2, +indirect_ref : ptr2, +var_decl ptr3: ptr2, +field_decl val: ptr2, +integer_cst 32: ptr2, +integer_cst 100: ptr2, var_decl ptr3: ptr1, ptr2, integer_cst 64: ptr1, ptr2, ptr3, parm_decl ptr1: ptr1, ptr2, ptr3, @@ -82,16 +82,16 @@ if_stmt : ptr1, ptr2, ptr3, ne_expr : ptr1, ptr2, ptr3, var_decl ptr3: ptr1, ptr2, ptr3, integer_cst 0: ptr1, ptr2, ptr3, -cleanup_point_expr : ptr1, ptr2, -expr_stmt : ptr1, ptr2, -convert_expr : ptr1, ptr2, -modify_expr : ptr1, ptr2, -component_ref : ptr1, ptr2, -indirect_ref : ptr1, ptr2, -var_decl ptr3: ptr1, ptr2, -field_decl val: ptr1, ptr2, -integer_cst 32: ptr1, ptr2, -integer_cst 100: ptr1, ptr2, +cleanup_point_expr : ptr2, +expr_stmt : ptr2, +convert_expr : ptr2, +modify_expr : ptr2, +component_ref : ptr2, +indirect_ref : ptr2, +var_decl ptr3: ptr2, +field_decl val: ptr2, +integer_cst 32: ptr2, +integer_cst 100: ptr2, if_stmt : ptr1, ptr2, ptr3, truth_andif_expr : ptr1, ptr2, ptr3, eq_expr : ptr1, ptr2, ptr3, diff --git a/test/test20-03.txt b/test/test20-03.txt index 9ffce5e..c76a426 100644 --- a/test/test20-03.txt +++ b/test/test20-03.txt @@ -47,13 +47,13 @@ cond_expr : ptr1, ptr2, ptr3, ne_expr : ptr1, ptr2, ptr3, var_decl ptr3: ptr1, ptr2, ptr3, integer_cst 0: ptr1, ptr2, ptr3, -modify_expr : ptr1, ptr2, -component_ref : ptr1, ptr2, -indirect_ref : ptr1, ptr2, -var_decl ptr3: ptr1, ptr2, -field_decl val: ptr1, ptr2, -integer_cst 32: ptr1, ptr2, -integer_cst 100: ptr1, ptr2, +modify_expr : ptr2, +component_ref : ptr2, +indirect_ref : ptr2, +var_decl ptr3: ptr2, +field_decl val: ptr2, +integer_cst 32: ptr2, +integer_cst 100: ptr2, var_decl ptr3: ptr1, ptr2, integer_cst 64: ptr1, ptr2, ptr3, parm_decl ptr1: ptr1, ptr2, ptr3, @@ -73,13 +73,13 @@ cond_expr : ptr1, ptr2, ptr3, ne_expr : ptr1, ptr2, ptr3, var_decl ptr3: ptr1, ptr2, ptr3, integer_cst 0: ptr1, ptr2, ptr3, -modify_expr : ptr1, ptr2, -component_ref : ptr1, ptr2, -indirect_ref : ptr1, ptr2, -var_decl ptr3: ptr1, ptr2, -field_decl val: ptr1, ptr2, -integer_cst 32: ptr1, ptr2, -integer_cst 100: ptr1, ptr2, +modify_expr : ptr2, +component_ref : ptr2, +indirect_ref : ptr2, +var_decl ptr3: ptr2, +field_decl val: ptr2, +integer_cst 32: ptr2, +integer_cst 100: ptr2, cond_expr : ptr1, ptr2, ptr3, truth_andif_expr : ptr1, ptr2, ptr3, eq_expr : ptr1, ptr2, ptr3, diff --git a/test/test21-03.txt b/test/test21-03.txt index 11cdbbf..8c1c46c 100644 --- a/test/test21-03.txt +++ b/test/test21-03.txt @@ -568,43 +568,43 @@ integer_cst 32: ptr1, ptr2, integer_cst 0: ptr1, ptr2, if_stmt : ptr1, ptr2, ne_expr : ptr1, ptr2, -component_ref : ptr2, -indirect_ref : ptr2, -var_decl ptr2: ptr2, -field_decl val: ptr2, -integer_cst 32: ptr2, -integer_cst 0: ptr2, +component_ref : +indirect_ref : +var_decl ptr2: +field_decl val: +integer_cst 32: +integer_cst 0: return_expr : ptr1, ptr2, -init_expr : ptr2, -result_decl : ptr2, -integer_type : ptr2, -type_decl int: ptr2, -integer_cst 32: ptr2, -integer_cst -2147483648: ptr2, -integer_cst 2147483647: ptr2, -integer_cst 32: ptr2, -integer_cst 3: ptr2, +init_expr : +result_decl : +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +integer_cst 32: +integer_cst 3: return_expr : ptr1, ptr2, -init_expr : ptr2, -result_decl : ptr2, -integer_type : ptr2, -type_decl int: ptr2, -integer_cst 32: ptr2, -integer_cst -2147483648: ptr2, -integer_cst 2147483647: ptr2, -integer_cst 32: ptr2, -integer_cst 0: ptr2, +init_expr : +result_decl : +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +integer_cst 32: +integer_cst 0: var_decl tmpvar: ptr1, -integer_cst 32: ptr2, -integer_cst 0: ptr2, -integer_type : ptr2, -type_decl int: ptr2, -integer_cst 32: ptr2, -integer_cst -2147483648: ptr2, -integer_cst 2147483647: ptr2, -block : ptr1, ptr2, -var_decl tmpvar: ptr2, -var_decl ptr2: ptr2, +integer_cst 32: +integer_cst 0: +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +block : ptr1, +var_decl tmpvar: +var_decl ptr2: function_decl func2: bind_expr : ptr1, statement_list : ptr1, @@ -640,30 +640,30 @@ integer_cst 2147483647: ptr1, ptr2, integer_cst 32: ptr1, ptr2, integer_cst 0: ptr1, ptr2, decl_expr : ptr1, ptr2, -var_decl outFilename: ptr1, -integer_cst 32: ptr1, -component_ref : ptr1, -indirect_ref : ptr1, -var_decl ptr2: ptr1, -field_decl val: ptr1, -integer_cst 32: ptr1, -integer_type : ptr1, -type_decl int: ptr1, -integer_cst 32: ptr1, -integer_cst -2147483648: ptr1, -integer_cst 2147483647: ptr1, +var_decl outFilename: +integer_cst 32: +component_ref : +indirect_ref : +var_decl ptr2: +field_decl val: +integer_cst 32: +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: var_decl attempts: ptr1, -integer_cst 32: ptr1, -integer_cst 0: ptr1, -integer_type : ptr1, -type_decl int: ptr1, -integer_cst 32: ptr1, -integer_cst -2147483648: ptr1, -integer_cst 2147483647: ptr1, +integer_cst 32: +integer_cst 0: +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: block : ptr1, -var_decl attempts: ptr1, -var_decl ptr2: ptr1, -var_decl outFilename: ptr1, +var_decl attempts: +var_decl ptr2: +var_decl outFilename: function_decl func3: bind_expr : ptr1, statement_list : ptr1, diff --git a/test/test22-01.txt b/test/test22-01.txt index e459737..288dcc8 100644 --- a/test/test22-01.txt +++ b/test/test22-01.txt @@ -24659,7 +24659,7 @@ function_decl func8 test22.cpp 81:10 block - operand var_decl k test22.cpp 86:19 - block vars var_decl test1 test22.cpp 88:13 - block vars -function_decl func9 test22.cpp 91:6 +function_decl func9 test22.cpp 91:10 - isPublic: 1 method_type - function type void_type - method return type @@ -24700,12 +24700,12 @@ function_decl func9 test22.cpp 91:6 void_type - value type_decl void <built-in> 0:0 - type name - isAutogenerated: 1 - result_decl test22.cpp 92:1 - function result + result_decl test22.cpp 92:5 - function result - isAutogenerated: 1 void_type - result type type_decl void <built-in> 0:0 - type name - isAutogenerated: 1 - parm_decl this test22.cpp 91:30 - argument + parm_decl this test22.cpp 91:33 - argument - isAutogenerated: 1 pointer_type - decl type record_type - nested type @@ -24715,7 +24715,7 @@ function_decl func9 test22.cpp 91:6 - isAutogenerated: 1 integer_cst 64 - parm size - isUsed: 1 - parm_decl chunk test22.cpp 91:25 - argument + parm_decl ptr1 test22.cpp 91:29 - argument pointer_type - decl type record_type - nested type type_decl Data1 test22.cpp 6:8 - type name @@ -24736,13 +24736,13 @@ function_decl func9 test22.cpp 91:6 - isAutogenerated: 1 integer_cst 64 - parm size statement_list - code - if_stmt test22.cpp 93:5 - statement + if_stmt test22.cpp 93:9 - statement cleanup_point_expr - condition - truth_orif_expr test22.cpp 93:16 - operand - eq_expr test22.cpp 93:10 - operand + truth_orif_expr test22.cpp 93:19 - operand + eq_expr test22.cpp 93:14 - operand nop_expr - operand - isUsed: 1 - parm_decl chunk test22.cpp 91:25 - operand + parm_decl ptr1 test22.cpp 91:29 - operand pointer_type - decl type record_type - nested type type_decl Data1 test22.cpp 6:8 - type name @@ -24763,18 +24763,18 @@ function_decl func9 test22.cpp 91:6 - isAutogenerated: 1 integer_cst 64 - parm size integer_cst 0 - operand - call_expr test22.cpp 93:36 - operand + call_expr test22.cpp 93:38 - operand addr_expr - function function_decl empty /usr/include/c++/5/bits/basic_string.h 3217:7 - operand - isExternal: 1 - isPublic: 1 method_type - function type addr_expr - arg - component_ref test22.cpp 93:26 - operand + component_ref test22.cpp 93:28 - operand indirect_ref - object nop_expr - ref - isUsed: 1 - parm_decl chunk test22.cpp 91:25 - operand + parm_decl ptr1 test22.cpp 91:29 - operand pointer_type - decl type record_type - nested type type_decl Data1 test22.cpp 6:8 - type name @@ -24797,22 +24797,22 @@ function_decl func9 test22.cpp 91:6 field_decl str1 test22.cpp 20:17 - field - signed integer_cst 64 - decl size - return_expr test22.cpp 94:9 - then - cleanup_point_expr test22.cpp 95:19 - statement - expr_stmt test22.cpp 95:19 - operand + return_expr test22.cpp 94:13 - then + cleanup_point_expr test22.cpp 95:22 - statement + expr_stmt test22.cpp 95:22 - operand convert_expr - expresssion - call_expr test22.cpp 95:18 - operand + call_expr test22.cpp 95:21 - operand addr_expr - function function_decl operator[] /usr/include/c++/5/bits/basic_string.h 3249:7 - operand - isExternal: 1 - isPublic: 1 method_type - function type addr_expr - arg - component_ref test22.cpp 95:12 - operand + component_ref test22.cpp 95:15 - operand indirect_ref - object nop_expr - ref - isUsed: 1 - parm_decl chunk test22.cpp 91:25 - operand + parm_decl ptr1 test22.cpp 91:29 - operand pointer_type - decl type record_type - nested type type_decl Data1 test22.cpp 6:8 - type name @@ -24836,6 +24836,375 @@ function_decl func9 test22.cpp 91:6 - signed integer_cst 64 - decl size integer_cst 0 - arg +function_decl func10 test22.cpp 98: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 test22.cpp 35:7 - type name + - isAutogenerated: 1 + type_decl Object1 test22.cpp 36:1 - field + - isAutogenerated: 1 + tree_list - arg types + pointer_type - value + record_type - nested type + type_decl Object1 test22.cpp 35:7 - type name + - isAutogenerated: 1 + type_decl Object1 test22.cpp 36:1 - field + - isAutogenerated: 1 + tree_list - chain + pointer_type - value + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.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 test22.cpp 99:5 - function result + - isAutogenerated: 1 + void_type - result type + type_decl void <built-in> 0:0 - type name + - isAutogenerated: 1 + parm_decl this test22.cpp 98:34 - argument + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Object1 test22.cpp 35:7 - type name + - isAutogenerated: 1 + type_decl Object1 test22.cpp 36:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + - isUsed: 1 + parm_decl ptr1 test22.cpp 98:30 - argument + pointer_type - decl type + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.cpp 7:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + bind_expr test22.cpp 109:9 - code + var_decl ptr2 test22.cpp 100:16 - operand + - isUsed: 1 + integer_cst 64 - decl size + nop_expr - initial + - isUsed: 1 + parm_decl ptr1 test22.cpp 98:30 - operand + pointer_type - decl type + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.cpp 7:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + pointer_type - var type + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.cpp 7:1 - field + - isAutogenerated: 1 + statement_list - operand + decl_expr test22.cpp 100:23 - statement + var_decl ptr2 test22.cpp 100:16 - operand + - isUsed: 1 + bind_expr test22.cpp 109:9 - statement + if_stmt test22.cpp 101:9 - operand + ne_expr - condition + var_decl ptr2 test22.cpp 100:16 - operand + - isUsed: 1 + integer_cst 0 - operand + bind_expr test22.cpp 104:28 - then + var_decl k test22.cpp 103:17 - operand + integer_cst 32 - decl size + integer_cst 10 - initial + 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 + statement_list - operand + cleanup_point_expr test22.cpp 103:21 - statement + decl_expr test22.cpp 103:21 - operand + var_decl k test22.cpp 103:17 - operand + cleanup_point_expr test22.cpp 104:28 - statement + expr_stmt test22.cpp 104:28 - operand + convert_expr - expresssion + modify_expr - operand + component_ref test22.cpp 104:19 - operand + indirect_ref - object + nop_expr - ref + - isUsed: 1 + parm_decl ptr1 test22.cpp 98:30 - operand + pointer_type - decl type + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.cpp 7:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + integer_cst 100 - operand + block - operand + var_decl k test22.cpp 103:17 - block vars + cleanup_point_expr test22.cpp 108:19 - else + expr_stmt test22.cpp 108:19 - operand + convert_expr - expresssion + modify_expr - operand + var_decl k test22.cpp 33: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 20 - operand + block - operand + block - sub block + var_decl k test22.cpp 103:17 - block vars + block - operand + var_decl ptr2 test22.cpp 100:16 - block vars + - isUsed: 1 + block - sub block + block - sub block + var_decl k test22.cpp 103:17 - block vars +function_decl func11 test22.cpp 112: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 test22.cpp 35:7 - type name + - isAutogenerated: 1 + type_decl Object1 test22.cpp 36:1 - field + - isAutogenerated: 1 + tree_list - arg types + pointer_type - value + record_type - nested type + type_decl Object1 test22.cpp 35:7 - type name + - isAutogenerated: 1 + type_decl Object1 test22.cpp 36:1 - field + - isAutogenerated: 1 + tree_list - chain + pointer_type - value + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.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 test22.cpp 113:5 - function result + - isAutogenerated: 1 + void_type - result type + type_decl void <built-in> 0:0 - type name + - isAutogenerated: 1 + parm_decl this test22.cpp 112:34 - argument + - isAutogenerated: 1 + pointer_type - decl type + record_type - nested type + type_decl Object1 test22.cpp 35:7 - type name + - isAutogenerated: 1 + type_decl Object1 test22.cpp 36:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + - isUsed: 1 + parm_decl ptr1 test22.cpp 112:30 - argument + pointer_type - decl type + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.cpp 7:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + bind_expr test22.cpp 116:28 - code + var_decl ptr2 test22.cpp 114:16 - operand + - isUsed: 1 + integer_cst 64 - decl size + nop_expr - initial + - isUsed: 1 + parm_decl ptr1 test22.cpp 112:30 - operand + pointer_type - decl type + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.cpp 7:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + pointer_type - var type + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.cpp 7:1 - field + - isAutogenerated: 1 + statement_list - operand + decl_expr test22.cpp 114:23 - statement + var_decl ptr2 test22.cpp 114:16 - operand + - isUsed: 1 + if_stmt test22.cpp 115:9 - statement + ne_expr - condition + nop_expr - operand + - isUsed: 1 + parm_decl ptr1 test22.cpp 112:30 - operand + pointer_type - decl type + record_type - nested type + type_decl Data1 test22.cpp 6:8 - type name + - isAutogenerated: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + field_decl ptrval test22.cpp 18:12 - field + - unsigned + integer_cst 64 - decl size + field_decl arr test22.cpp 19:14 - field + - signed + integer_cst 96 - decl size + field_decl str1 test22.cpp 20:17 - field + - signed + integer_cst 64 - decl size + type_decl Data1 test22.cpp 7:1 - field + - isAutogenerated: 1 + integer_cst 64 - parm size + integer_cst 0 - operand + cleanup_point_expr test22.cpp 116:28 - then + expr_stmt test22.cpp 116:28 - operand + convert_expr - expresssion + modify_expr - operand + component_ref test22.cpp 116:19 - operand + indirect_ref - object + var_decl ptr2 test22.cpp 114:16 - ref + - isUsed: 1 + field_decl val test22.cpp 17:9 - field + - signed + integer_cst 32 - decl size + integer_cst 200 - operand + block - operand + var_decl ptr2 test22.cpp 114:16 - block vars + - isUsed: 1 function_decl fill /usr/include/c++/5/bits/stl_algobase.h 736:5 - isPublic: 1 function_type - function type diff --git a/test/test22-02.txt b/test/test22-02.txt index c7563ae..fcc3999 100644 --- a/test/test22-02.txt +++ b/test/test22-02.txt @@ -235,7 +235,9 @@ __comp_dtor : func6: pointer_type ptr1, func7: pointer_type ptr1, func8: pointer_type ptr1, -func9: pointer_type chunk, +func9: pointer_type ptr1, +func10: pointer_type ptr1, +func11: pointer_type ptr1, fill: pointer_type __first, pointer_type __last, _Alloc_hider: __base_dtor : diff --git a/test/test22-03.txt b/test/test22-03.txt index 972e90c..2304285 100644 --- a/test/test22-03.txt +++ b/test/test22-03.txt @@ -2995,33 +2995,33 @@ block : ptr1, var_decl k: var_decl test1: function_decl func9: -statement_list : chunk, -if_stmt : chunk, -cleanup_point_expr : chunk, -truth_orif_expr : chunk, -eq_expr : chunk, -parm_decl chunk: chunk, -pointer_type : chunk, -record_type : chunk, -type_decl Data1: chunk, -field_decl val: chunk, -integer_cst 32: chunk, -field_decl ptrval: chunk, -integer_cst 64: chunk, -field_decl arr: chunk, -integer_cst 96: chunk, -field_decl str1: chunk, -integer_cst 64: chunk, -type_decl Data1: chunk, -integer_cst 64: chunk, -integer_cst 0: chunk, +statement_list : ptr1, +if_stmt : ptr1, +cleanup_point_expr : 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, call_expr : addr_expr : function_decl empty: addr_expr : component_ref : indirect_ref : -parm_decl chunk: +parm_decl ptr1: pointer_type : record_type : type_decl Data1: @@ -3037,8 +3037,8 @@ type_decl Data1: integer_cst 64: field_decl str1: integer_cst 64: -return_expr : chunk, -cleanup_point_expr : chunk, +return_expr : ptr1, +cleanup_point_expr : ptr1, expr_stmt : convert_expr : call_expr : @@ -3047,7 +3047,7 @@ function_decl operator[]: addr_expr : component_ref : indirect_ref : -parm_decl chunk: +parm_decl ptr1: pointer_type : record_type : type_decl Data1: @@ -3064,6 +3064,164 @@ integer_cst 64: field_decl str1: integer_cst 64: integer_cst 0: +function_decl func10: +bind_expr : ptr1, +statement_list : ptr1, +decl_expr : ptr1, +var_decl ptr2: ptr1, ptr2, +bind_expr : ptr1, ptr2, +if_stmt : ptr1, ptr2, +ne_expr : ptr1, ptr2, +var_decl ptr2: ptr1, ptr2, +integer_cst 0: ptr1, ptr2, +bind_expr : +statement_list : +cleanup_point_expr : +decl_expr : +var_decl k: +cleanup_point_expr : +expr_stmt : +convert_expr : +modify_expr : +component_ref : +indirect_ref : +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: +field_decl val: +integer_cst 32: +integer_cst 100: +var_decl k: +integer_cst 32: +integer_cst 10: +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +block : +var_decl k: +cleanup_point_expr : ptr1, ptr2, +expr_stmt : ptr1, ptr2, +convert_expr : ptr1, ptr2, +modify_expr : ptr1, ptr2, +var_decl k: ptr1, ptr2, +integer_cst 32: ptr1, ptr2, +integer_type : ptr1, ptr2, +type_decl int: ptr1, ptr2, +integer_cst 32: ptr1, ptr2, +integer_cst -2147483648: ptr1, ptr2, +integer_cst 2147483647: ptr1, ptr2, +integer_cst 20: ptr1, ptr2, +block : ptr1, ptr2, +block : ptr1, ptr2, +var_decl k: ptr1, ptr2, +var_decl ptr2: ptr1, +integer_cst 64: ptr1, ptr2, +parm_decl ptr1: ptr1, ptr2, +pointer_type : ptr1, ptr2, +record_type : ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +field_decl val: ptr1, ptr2, +integer_cst 32: ptr1, ptr2, +field_decl ptrval: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +field_decl arr: ptr1, ptr2, +integer_cst 96: ptr1, ptr2, +field_decl str1: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +pointer_type : ptr1, ptr2, +record_type : ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +field_decl val: ptr1, ptr2, +integer_cst 32: ptr1, ptr2, +field_decl ptrval: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +field_decl arr: ptr1, ptr2, +integer_cst 96: ptr1, ptr2, +field_decl str1: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +block : ptr1, ptr2, +var_decl ptr2: ptr1, ptr2, +block : ptr1, ptr2, +block : ptr1, ptr2, +var_decl k: ptr1, ptr2, +function_decl func11: +bind_expr : ptr1, +statement_list : ptr1, +decl_expr : ptr1, +var_decl ptr2: ptr1, ptr2, +if_stmt : ptr1, ptr2, +ne_expr : ptr1, ptr2, +parm_decl ptr1: ptr1, ptr2, +pointer_type : ptr1, ptr2, +record_type : ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +field_decl val: ptr1, ptr2, +integer_cst 32: ptr1, ptr2, +field_decl ptrval: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +field_decl arr: ptr1, ptr2, +integer_cst 96: ptr1, ptr2, +field_decl str1: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +integer_cst 0: ptr1, ptr2, +cleanup_point_expr : +expr_stmt : +convert_expr : +modify_expr : +component_ref : +indirect_ref : +var_decl ptr2: +field_decl val: +integer_cst 32: +integer_cst 200: +var_decl ptr2: ptr1, +integer_cst 64: ptr1, ptr2, +parm_decl ptr1: ptr1, ptr2, +pointer_type : ptr1, ptr2, +record_type : ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +field_decl val: ptr1, ptr2, +integer_cst 32: ptr1, ptr2, +field_decl ptrval: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +field_decl arr: ptr1, ptr2, +integer_cst 96: ptr1, ptr2, +field_decl str1: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +pointer_type : ptr1, ptr2, +record_type : ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +field_decl val: ptr1, ptr2, +integer_cst 32: ptr1, ptr2, +field_decl ptrval: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +field_decl arr: ptr1, ptr2, +integer_cst 96: ptr1, ptr2, +field_decl str1: ptr1, ptr2, +integer_cst 64: ptr1, ptr2, +type_decl Data1: ptr1, ptr2, +block : ptr1, ptr2, +var_decl ptr2: ptr1, ptr2, function_decl fill: cleanup_point_expr : __first, __last, expr_stmt : __first, __last, diff --git a/test/test22.cpp b/test/test22.cpp index 6917105..36fd9ae 100644 --- a/test/test22.cpp +++ b/test/test22.cpp @@ -88,12 +88,31 @@ class Object1 int test1 = ptr1->val; } -void func9(Data1 *const chunk) -{ - if (!chunk || chunk->str1.empty()) - return; - chunk->str1[0]; -} + void func9(Data1 *const ptr1) + { + if (!ptr1 || ptr1->str1.empty()) + return; + ptr1->str1[0]; + } -}; + void func10(Data1 *const ptr1) + { + Data1 *ptr2 = ptr1; + if (ptr2) + { + int k = 10; + ptr1->val = 100; + } + else + { + k = 20; + } + } + void func11(Data1 *const ptr1) + { + Data1 *ptr2 = ptr1; + if (ptr1) + ptr2->val = 200; + } +}; |