diff options
-rw-r--r-- | src/analysis/analysis.cpp | 4 | ||||
-rw-r--r-- | src/analysis/expression.cpp | 14 | ||||
-rw-r--r-- | src/analysis/expression.h | 7 | ||||
-rw-r--r-- | src/analysis/ref.cpp | 18 | ||||
-rw-r--r-- | test/test24-03.txt | 226 | ||||
-rw-r--r-- | test/test35-03.txt | 3 | ||||
-rw-r--r-- | test/test35-04.txt | 3 | ||||
-rw-r--r-- | test/test35-05.txt | 3 | ||||
-rw-r--r-- | test/test43-06.txt | 2424 |
9 files changed, 2577 insertions, 125 deletions
diff --git a/src/analysis/analysis.cpp b/src/analysis/analysis.cpp index 8b76a6e..fe0bc7e 100644 --- a/src/analysis/analysis.cpp +++ b/src/analysis/analysis.cpp @@ -42,6 +42,7 @@ #include "nodes/expr/cond_expr.h" #include "nodes/expr/decl_expr.h" #include "nodes/expr/eq_expr.h" +#include "nodes/expr/goto_expr.h" #include "nodes/expr/init_expr.h" #include "nodes/expr/modify_expr.h" #include "nodes/expr/ne_expr.h" @@ -257,6 +258,9 @@ void analyseNode(Node *node, const WalkItem &wi, WalkItem &wo) case COMPOUND_EXPR: analyseCompoundExpr(static_cast<CompoundExprNode*>(node), wi2, wo); break; + case GOTO_EXPR: + analyseGotoExpr(static_cast<GotoExprNode*>(node), wi2, wo); + break; case NOP_EXPR: analyseNopExpr(static_cast<NopExprNode*>(node), wi2, wo); break; diff --git a/src/analysis/expression.cpp b/src/analysis/expression.cpp index 4dd85bd..578dc8e 100644 --- a/src/analysis/expression.cpp +++ b/src/analysis/expression.cpp @@ -41,6 +41,7 @@ #include "nodes/expr/convert_expr.h" #include "nodes/expr/decl_expr.h" #include "nodes/expr/eq_expr.h" +#include "nodes/expr/goto_expr.h" #include "nodes/expr/init_expr.h" #include "nodes/expr/modify_expr.h" #include "nodes/expr/ne_expr.h" @@ -681,6 +682,8 @@ void analyseOrCondition(Node *node, Node *node1, Node *node2, const WalkItem &wi wo1.checkedElseNonNullVars.end()); wi2.knownVars.insert(wo1.checkedElseNullVars.begin(), wo1.checkedElseNullVars.end()); +// FOR_EACH(it, wi2.knownNonNullVars) +// Log::log("known non null: %s\n", it.c_str()); Log::dumpWI(node, "wi2 ", wi2); walkTree(node2, wi2, wo2); Log::dumpWI(node, "wo2 ", wo2); @@ -980,7 +983,7 @@ void analyseCallExpr(CallExprNode *node, const WalkItem &wi, WalkItem &wo) } } VarItem var = getVariableName(function); - if (!var.isNonNull) + if (!var.isNonNull && isNotIn(var.name, wo2.knownNonNullVars)) reportParmDeclNullPointer(node, function, wi); if (!getVariableName(function).empty()) enableCheck = false; @@ -1001,7 +1004,7 @@ void analyseCallExpr(CallExprNode *node, const WalkItem &wi, WalkItem &wo) VarItem var = getVariableName(node2); if (enableCheck) { - if (!var.isNonNull) + if (!var.isNonNull && isNotIn(var.name, wo2.knownNonNullVars)) reportParmDeclNullPointer(node, node2, wi); enableCheck = false; } @@ -1272,4 +1275,11 @@ void analyseInitExpr(InitExprNode* node, reportParmDeclLeftNullPointer(node, node->args[1], wi); } +void analyseGotoExpr(GotoExprNode *node, + const WalkItem &wi, + WalkItem &wo) +{ + wo.isContinued = true; +} + } diff --git a/src/analysis/expression.h b/src/analysis/expression.h index 8d18a95..41def20 100644 --- a/src/analysis/expression.h +++ b/src/analysis/expression.h @@ -30,6 +30,7 @@ struct CompoundExprNode; struct CondExprNode; struct DeclExprNode; struct EqExprNode; +struct GotoExprNode; struct InitExprNode; struct ModifyExprNode; struct NeExprNode; @@ -87,6 +88,10 @@ namespace Analysis void analyseInitExpr(InitExprNode* node, const WalkItem &wi, WalkItem &wo); + void analyseGotoExpr(GotoExprNode *node, + const WalkItem &wi, + WalkItem &wo); + void handleSetVar(Node *node1, Node *node2, const WalkItem &wi, @@ -108,6 +113,8 @@ namespace Analysis WalkItem &wo); bool isValidVar(const VarItem &str); + + VarItem getVariableName(Node *node); } #endif // ANALYSIS_EXPRESSION_H diff --git a/src/analysis/ref.cpp b/src/analysis/ref.cpp index 2391fa3..f2fcb21 100644 --- a/src/analysis/ref.cpp +++ b/src/analysis/ref.cpp @@ -24,6 +24,7 @@ #include "analysis/analysis.h" #include "analysis/reports.h" +#include "analysis/varitem.h" #include "analysis/walkitem.h" #include "nodes/expr/addr_expr.h" @@ -68,10 +69,25 @@ void analyseArrayRef(ArrayRefNode *node, if (node->args.empty() || checkCommand(FindArgs)) return; +// if (isIn("cell", wi.knownNonNullVars)) +// Log::log("cell ok1\n"); +// else +// Log::log("cell not ok1\n"); + +// Log::log("array start\n"); FOR_EACH(it, node->args) { - reportParmDeclNullPointer(node, it, wi); + VarItem var = getVariableName(it); + if (!var.isNonNull && isNotIn(var.name, wo.knownNonNullVars)) + reportParmDeclNullPointer(node, it, wi); } + +// if (isIn("cell", wi.knownNonNullVars)) +// Log::log("cell ok1\n"); +// else +// Log::log("cell not ok1\n"); + +// Log::log("array end\n"); } } diff --git a/test/test24-03.txt b/test/test24-03.txt index f12f5fe..cc456f1 100644 --- a/test/test24-03.txt +++ b/test/test24-03.txt @@ -469,128 +469,128 @@ integer_cst 64: w1, w2, integer_cst 0: w1, w2, goto_expr : w1, w2, postincrement_expr : w1, w2, -var_decl i: w1, w2, -integer_cst 32: w1, w2, -integer_type : w1, w2, -type_decl int: w1, w2, -integer_cst 32: w1, w2, -integer_cst -2147483648: w1, w2, -integer_cst 2147483647: w1, w2, -integer_cst 1: w1, w2, +var_decl i: +integer_cst 32: +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +integer_cst 1: label_expr : w1, w2, -label_decl : w1, w2, +label_decl : cond_expr : w1, w2, -le_expr : w1, w2, -var_decl i: w1, w2, -integer_cst 32: w1, w2, -integer_type : w1, w2, -type_decl int: w1, w2, -integer_cst 32: w1, w2, -integer_cst -2147483648: w1, w2, -integer_cst 2147483647: w1, w2, -integer_cst 9: w1, w2, +le_expr : +var_decl i: +integer_cst 32: +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +integer_cst 9: goto_expr : w1, w2, goto_expr : w1, w2, label_expr : w1, w2, -label_decl : w1, w2, +label_decl : var_decl fptr: w1, w2, -integer_cst 64: w1, w2, -constructor : w1, w2, -array_type : w1, w2, -pointer_type : w1, w2, -function_type : w1, w2, -integer_type : w1, w2, -type_decl int: w1, w2, -integer_cst 32: w1, w2, -integer_cst -2147483648: w1, w2, -integer_cst 2147483647: w1, w2, -tree_list : w1, w2, -pointer_type : w1, w2, -integer_type : w1, w2, -tree_list : w1, w2, -pointer_type : w1, w2, -tree_list : w1, w2, -integer_type : w1, w2, -integer_cst 64: w1, w2, -integer_cst 0: w1, w2, -integer_cst 0: w1, w2, -integer_cst 0: w1, w2, -addr_expr : w1, w2, -function_decl test1: w1, w2, +integer_cst 64: +constructor : +array_type : +pointer_type : +function_type : +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +tree_list : +pointer_type : +integer_type : +tree_list : +pointer_type : +tree_list : +integer_type : +integer_cst 64: +integer_cst 0: +integer_cst 0: +integer_cst 0: +addr_expr : +function_decl test1: bind_expr : w1, w2, -statement_list : w1, w2, -block : w1, w2, -array_type : w1, w2, -pointer_type : w1, w2, -function_type : w1, w2, -integer_type : w1, w2, -type_decl int: w1, w2, -integer_cst 32: w1, w2, -integer_cst -2147483648: w1, w2, -integer_cst 2147483647: w1, w2, -tree_list : w1, w2, -pointer_type : w1, w2, -integer_type : w1, w2, -tree_list : w1, w2, -pointer_type : w1, w2, -tree_list : w1, w2, -integer_type : w1, w2, -integer_cst 64: w1, w2, -integer_cst 0: w1, w2, -integer_cst 0: w1, w2, +statement_list : +block : +array_type : +pointer_type : +function_type : +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +tree_list : +pointer_type : +integer_type : +tree_list : +pointer_type : +tree_list : +integer_type : +integer_cst 64: +integer_cst 0: +integer_cst 0: block : w1, w2, -var_decl fptr: w1, w2, -integer_cst 64: w1, w2, -constructor : w1, w2, -array_type : w1, w2, -pointer_type : w1, w2, -function_type : w1, w2, -integer_type : w1, w2, -type_decl int: w1, w2, -integer_cst 32: w1, w2, -integer_cst -2147483648: w1, w2, -integer_cst 2147483647: w1, w2, -tree_list : w1, w2, -pointer_type : w1, w2, -integer_type : w1, w2, -tree_list : w1, w2, -pointer_type : w1, w2, -tree_list : w1, w2, -integer_type : w1, w2, -integer_cst 64: w1, w2, -integer_cst 0: w1, w2, -integer_cst 0: w1, w2, -integer_cst 0: w1, w2, -addr_expr : w1, w2, -function_decl test1: w1, w2, +var_decl fptr: +integer_cst 64: +constructor : +array_type : +pointer_type : +function_type : +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +tree_list : +pointer_type : +integer_type : +tree_list : +pointer_type : +tree_list : +integer_type : +integer_cst 64: +integer_cst 0: +integer_cst 0: +integer_cst 0: +addr_expr : +function_decl test1: bind_expr : w1, w2, -statement_list : w1, w2, -block : w1, w2, -array_type : w1, w2, -pointer_type : w1, w2, -function_type : w1, w2, -integer_type : w1, w2, -type_decl int: w1, w2, -integer_cst 32: w1, w2, -integer_cst -2147483648: w1, w2, -integer_cst 2147483647: w1, w2, -tree_list : w1, w2, -pointer_type : w1, w2, -integer_type : w1, w2, -tree_list : w1, w2, -pointer_type : w1, w2, -tree_list : w1, w2, -integer_type : w1, w2, -integer_cst 64: w1, w2, -integer_cst 0: w1, w2, -integer_cst 0: w1, w2, -var_decl i: w1, w2, -integer_cst 32: w1, w2, -integer_type : w1, w2, -type_decl int: w1, w2, -integer_cst 32: w1, w2, -integer_cst -2147483648: w1, w2, -integer_cst 2147483647: w1, w2, +statement_list : +block : +array_type : +pointer_type : +function_type : +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: +tree_list : +pointer_type : +integer_type : +tree_list : +pointer_type : +tree_list : +integer_type : +integer_cst 64: +integer_cst 0: +integer_cst 0: +var_decl i: +integer_cst 32: +integer_type : +type_decl int: +integer_cst 32: +integer_cst -2147483648: +integer_cst 2147483647: function_decl func8: bind_expr : fptr, call_expr : fptr, diff --git a/test/test35-03.txt b/test/test35-03.txt index d27749b..a4f65b6 100644 --- a/test/test35-03.txt +++ b/test/test35-03.txt @@ -851,9 +851,6 @@ type_decl Data1: ptr1, call_expr : ptr1, addr_expr : ptr1, function_decl getData3: ptr1, -test35.cpp:127:42: warning: Using variable 'ptr1' without checking for null pointer - ptr1 = ptr1->ptrval->getData3(); - ^ component_ref : ptr1, indirect_ref : ptr1, var_decl ptr1: ptr1, diff --git a/test/test35-04.txt b/test/test35-04.txt index dff6476..8d8c592 100644 --- a/test/test35-04.txt +++ b/test/test35-04.txt @@ -6,6 +6,3 @@ test35.cpp: In member function 'void Object1::func3()': test35.cpp:93:37: warning: Using variable 'this->tmp1' without checking for null pointer Data1 *ptr1 = tmp1->getData3(); ^ -test35.cpp:127:42: warning: Using variable 'ptr1' without checking for null pointer - ptr1 = ptr1->ptrval->getData3(); - ^ diff --git a/test/test35-05.txt b/test/test35-05.txt index dff6476..8d8c592 100644 --- a/test/test35-05.txt +++ b/test/test35-05.txt @@ -6,6 +6,3 @@ test35.cpp: In member function 'void Object1::func3()': test35.cpp:93:37: warning: Using variable 'this->tmp1' without checking for null pointer Data1 *ptr1 = tmp1->getData3(); ^ -test35.cpp:127:42: warning: Using variable 'ptr1' without checking for null pointer - ptr1 = ptr1->ptrval->getData3(); - ^ diff --git a/test/test43-06.txt b/test/test43-06.txt new file mode 100644 index 0000000..df9187e --- /dev/null +++ b/test/test43-06.txt @@ -0,0 +1,2424 @@ +start dump +function_decl Data2 test43.cpp 8:5 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + void_type 2147483645 - method return type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data2 test43.cpp 6:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 8:13 2147483646 - function result + - isAutogenerated: 1 + void_type 2147483645 - result type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 8:11 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + bind_expr test43.cpp 11:5 2147483646 - code + cleanup_point_expr test43.cpp 9:20 2147483645 - operand + expr_stmt test43.cpp 9:20 2147483644 - operand + convert_expr 2147483643 - expresssion + init_expr 2147483642 - operand + component_ref test43.cpp 9:20 2147483641 - operand + indirect_ref 2147483640 - object + nop_expr 2147483639 - ref + parm_decl this test43.cpp 8:11 2147483638 - operand + - isAutogenerated: 1 + pointer_type 2147483637 - decl type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483637 - parm size + field_decl val test43.cpp 12:9 2147483640 - field + - signed + integer_cst 32 2147483639 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + component_ref test43.cpp 9:17 2147483641 - operand + indirect_ref 2147483640 - object + var_decl d1 test43.cpp 4:8 2147483639 - ref + - isUsed: 1 + tree_list 2147483638 - attribute + identifier_node nonnullpointer 2147483637 - purpose + integer_cst 64 2147483638 - decl size + pointer_type 2147483638 - var type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + field_decl val test43.cpp 12:9 2147483640 - field + - signed + integer_cst 32 2147483639 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + block 2147483645 - operand +end dump +start dump +function_decl __base_ctor test43.cpp 8:5 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + void_type 2147483645 - method return type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data2 test43.cpp 6:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 11:5 2147483646 - function result + - isAutogenerated: 1 + void_type 2147483645 - result type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 8:11 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + bind_expr test43.cpp 11:5 2147483646 - code + cleanup_point_expr test43.cpp 9:20 2147483645 - operand + expr_stmt test43.cpp 9:20 2147483644 - operand + convert_expr 2147483643 - expresssion + init_expr 2147483642 - operand + component_ref test43.cpp 9:20 2147483641 - operand + indirect_ref 2147483640 - object + nop_expr 2147483639 - ref + parm_decl this test43.cpp 8:11 2147483638 - operand + - isAutogenerated: 1 + pointer_type 2147483637 - decl type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483637 - parm size + field_decl val test43.cpp 12:9 2147483640 - field + - signed + integer_cst 32 2147483639 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + component_ref test43.cpp 9:17 2147483641 - operand + indirect_ref 2147483640 - object + var_decl d1 test43.cpp 4:8 2147483639 - ref + - isUsed: 1 + tree_list 2147483638 - attribute + identifier_node nonnullpointer 2147483637 - purpose + integer_cst 64 2147483638 - decl size + pointer_type 2147483638 - var type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + field_decl val test43.cpp 12:9 2147483640 - field + - signed + integer_cst 32 2147483639 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + block 2147483645 - operand +end dump +start dump +function_decl __comp_ctor test43.cpp 8:5 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + void_type 2147483645 - method return type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data2 test43.cpp 6:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 11:5 2147483646 - function result + - isAutogenerated: 1 + void_type 2147483645 - result type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 8:11 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + statement_list 2147483646 - code +end dump +start dump +function_decl getData3 test43.cpp 15:12 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 1:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data2 test43.cpp 6:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 16:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 1:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + - isUsed: 1 + parm_decl this test43.cpp 15:21 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + return_expr test43.cpp 17:16 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 16:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 1:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + component_ref test43.cpp 17:16 2147483644 - operand + indirect_ref 2147483643 - object + nop_expr 2147483642 - ref + - isUsed: 1 + parm_decl this test43.cpp 15:21 2147483641 - operand + - isAutogenerated: 1 + pointer_type 2147483640 - decl type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483640 - parm size + field_decl ptrval test43.cpp 13:12 2147483643 - field + - unsigned + integer_cst 64 2147483642 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 1:8 2 - type name + - isAutogenerated: 1 +end dump +start dump +function_decl getData2 test43.cpp 29:12 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data1 test43.cpp 21:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 30:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + - isUsed: 1 + parm_decl this test43.cpp 29:21 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + return_expr test43.cpp 31:16 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 30:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + component_ref test43.cpp 31:16 2147483644 - operand + indirect_ref 2147483643 - object + nop_expr 2147483642 - ref + - isUsed: 1 + parm_decl this test43.cpp 29:21 2147483641 - operand + - isAutogenerated: 1 + pointer_type 2147483640 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483640 - parm size + field_decl ptrval test43.cpp 24:12 2147483643 - field + - unsigned + integer_cst 64 2147483642 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 +end dump +start dump +function_decl getData3 test43.cpp 34:20 2147483647 +- isVirtual: 1 +- isPublic: 1 + method_type 2147483646 - function type + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data1 test43.cpp 21:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + reference_type 2147483643 - value + integer_type 2147483642 - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 2147483641 - type name + - isAutogenerated: 1 + integer_cst 32 2147483641 - type size + integer_cst -2147483648 2147483641 - min value + integer_cst 2147483647 2147483641 - max value + tree_list 2147483643 - chain + void_type 2147483642 - value + type_decl void <built-in> 0:0 2147483641 - type name + - isAutogenerated: 1 + result_decl test43.cpp 35:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + - isUsed: 1 + parm_decl this test43.cpp 34:35 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + - isUsed: 1 + parm_decl k test43.cpp 34:34 2147483646 - argument + reference_type 2147483645 - decl type + integer_type 2147483644 - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 2147483643 - type name + - isAutogenerated: 1 + integer_cst 32 2147483643 - type size + integer_cst -2147483648 2147483643 - min value + integer_cst 2147483647 2147483643 - max value + integer_cst 64 2147483645 - parm size + statement_list 2147483646 - code + cleanup_point_expr test43.cpp 36:16 2147483645 - statement + expr_stmt test43.cpp 36:16 2147483644 - operand + convert_expr 2147483643 - expresssion + modify_expr 2147483642 - operand + component_ref test43.cpp 36:9 2147483641 - operand + indirect_ref 2147483640 - object + nop_expr 2147483639 - ref + - isUsed: 1 + parm_decl this test43.cpp 34:35 2147483638 - operand + - isAutogenerated: 1 + pointer_type 2147483637 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483637 - parm size + field_decl val test43.cpp 23:9 2147483640 - field + - signed + integer_cst 32 2147483639 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + indirect_ref 2147483641 - operand + - isUsed: 1 + parm_decl k test43.cpp 34:34 2147483640 - ref + reference_type 2147483639 - decl type + integer_type 2147483638 - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 2147483637 - type name + - isAutogenerated: 1 + integer_cst 32 2147483637 - type size + integer_cst -2147483648 2147483637 - min value + integer_cst 2147483647 2147483637 - max value + integer_cst 64 2147483639 - parm size + return_expr test43.cpp 37:16 2147483645 - statement + init_expr 2147483644 - operand + result_decl test43.cpp 35:5 2147483643 - operand + - isAutogenerated: 1 + pointer_type 2147483642 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483642 - decl size + component_ref test43.cpp 37:16 2147483643 - operand + indirect_ref 2147483642 - object + nop_expr 2147483641 - ref + - isUsed: 1 + parm_decl this test43.cpp 34:35 2147483640 - operand + - isAutogenerated: 1 + pointer_type 2147483639 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483639 - parm size + field_decl ptrval test43.cpp 24:12 2147483642 - field + - unsigned + integer_cst 64 2147483641 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 +end dump +start dump +function_decl getData4 test43.cpp 39:19 2147483647 +- isPublic: 1 + function_type 2147483646 - function type + pointer_type 2147483645 - function return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + void_type 2147483644 - value + type_decl void <built-in> 0:0 2147483643 - type name + - isAutogenerated: 1 + result_decl test43.cpp 40:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + return_expr test43.cpp 41:16 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 40:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + integer_cst 0 2147483644 - operand +end dump +start dump +function_decl getData5 test43.cpp 43:12 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + tree_list 2147483645 - attribute + identifier_node returns_nonnull 2147483644 - purpose + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data1 test43.cpp 21:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 44:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + - isUsed: 1 + parm_decl this test43.cpp 43:54 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + return_expr test43.cpp 45:17 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 44:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + addr_expr 2147483644 - operand + component_ref test43.cpp 45:17 2147483643 - operand + indirect_ref 2147483642 - object + nop_expr 2147483641 - ref + - isUsed: 1 + parm_decl this test43.cpp 43:54 2147483640 - operand + - isAutogenerated: 1 + pointer_type 2147483639 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483639 - parm size + field_decl perm test43.cpp 25:11 2147483642 - field + - signed + integer_cst 256 2147483641 - decl size + record_type 5 - field type + type_decl Data2 test43.cpp 6:8 4 - type name + - isAutogenerated: 1 +end dump +start dump +function_decl getData6 test43.cpp 47:20 2147483647 +- isVirtual: 1 +- isPublic: 1 + method_type 2147483646 - function type + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data1 test43.cpp 21:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 48:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + parm_decl this test43.cpp 47:29 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + return_expr test43.cpp 49:16 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 48:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + integer_cst 0 2147483644 - operand +end dump +start dump +function_decl getData1 test43.cpp 69:12 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Object1 test43.cpp 60:7 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 70:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + - isUsed: 1 + parm_decl this test43.cpp 69:21 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + return_expr test43.cpp 71:16 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 70:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + component_ref test43.cpp 71:16 2147483644 - operand + indirect_ref 2147483643 - object + nop_expr 2147483642 - ref + - isUsed: 1 + parm_decl this test43.cpp 69:21 2147483641 - operand + - isAutogenerated: 1 + pointer_type 2147483640 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483640 - parm size + field_decl tmp2 test43.cpp 63:12 2147483643 - field + - unsigned + integer_cst 64 2147483642 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 +end dump +start dump +function_decl getData2 test43.cpp 74:12 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Object1 test43.cpp 60:7 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 75:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + - isUsed: 1 + parm_decl this test43.cpp 74:21 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + return_expr test43.cpp 76:16 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 75:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + component_ref test43.cpp 76:16 2147483644 - operand + indirect_ref 2147483643 - object + nop_expr 2147483642 - ref + - isUsed: 1 + parm_decl this test43.cpp 74:21 2147483641 - operand + - isAutogenerated: 1 + pointer_type 2147483640 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483640 - parm size + field_decl tmp2 test43.cpp 63:12 2147483643 - field + - unsigned + integer_cst 64 2147483642 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 +end dump +start dump +function_decl func1 test43.cpp 79:12 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Object1 test43.cpp 60:7 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + pointer_type 2147483643 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483643 - chain + void_type 2147483642 - value + type_decl void <built-in> 0:0 2147483641 - type name + - isAutogenerated: 1 + result_decl test43.cpp 80:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + - isUsed: 1 + parm_decl this test43.cpp 79:31 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + parm_decl ptr1 test43.cpp 79:25 2147483646 - argument + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + return_expr test43.cpp 81:27 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 80:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + nop_expr 2147483644 - operand + cond_expr 2147483643 - operand + ne_expr 2147483642 - operand + var_decl k test43.cpp 53:5 2147483641 - operand + - isUsed: 1 + integer_cst 32 2147483640 - decl size + integer_type 2147483640 - var type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 2147483639 - type name + - isAutogenerated: 1 + integer_cst 32 2147483639 - type size + integer_cst -2147483648 2147483639 - min value + integer_cst 2147483647 2147483639 - max value + integer_cst 0 2147483641 - operand + component_ref test43.cpp 81:20 2147483642 - operand + indirect_ref 2147483641 - object + nop_expr 2147483640 - ref + - isUsed: 1 + parm_decl this test43.cpp 79:31 2147483639 - operand + - isAutogenerated: 1 + pointer_type 2147483638 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483638 - parm size + field_decl tmp1 test43.cpp 62:12 2147483641 - field + - unsigned + integer_cst 64 2147483640 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + component_ref test43.cpp 81:27 2147483642 - operand + indirect_ref 2147483641 - object + nop_expr 2147483640 - ref + - isUsed: 1 + parm_decl this test43.cpp 79:31 2147483639 - operand + - isAutogenerated: 1 + pointer_type 2147483638 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483638 - parm size + field_decl tmp2 test43.cpp 63:12 2147483641 - field + - unsigned + integer_cst 64 2147483640 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 +end dump +start dump +function_decl func2 test43.cpp 84:12 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Object1 test43.cpp 60:7 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + pointer_type 2147483643 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483643 - chain + void_type 2147483642 - value + type_decl void <built-in> 0:0 2147483641 - type name + - isAutogenerated: 1 + result_decl test43.cpp 85:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + - isUsed: 1 + parm_decl this test43.cpp 84:31 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + parm_decl ptr1 test43.cpp 84:25 2147483646 - argument + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + return_expr test43.cpp 86:16 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 85:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + nop_expr 2147483644 - operand + component_ref test43.cpp 86:16 2147483643 - operand + indirect_ref 2147483642 - object + nop_expr 2147483641 - ref + - isUsed: 1 + parm_decl this test43.cpp 84:31 2147483640 - operand + - isAutogenerated: 1 + pointer_type 2147483639 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483639 - parm size + field_decl tmp1 test43.cpp 62:12 2147483642 - field + - unsigned + integer_cst 64 2147483641 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 +end dump +start dump +function_decl func3 test43.cpp 89:12 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + pointer_type 2147483645 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Object1 test43.cpp 60:7 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + pointer_type 2147483643 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483643 - chain + void_type 2147483642 - value + type_decl void <built-in> 0:0 2147483641 - type name + - isAutogenerated: 1 + result_decl test43.cpp 90:5 2147483646 - function result + - isAutogenerated: 1 + pointer_type 2147483645 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - decl size + - isUsed: 1 + parm_decl this test43.cpp 89:31 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + parm_decl ptr1 test43.cpp 89:25 2147483646 - argument + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + return_expr test43.cpp 91:23 2147483646 - code + init_expr 2147483645 - operand + result_decl test43.cpp 90:5 2147483644 - operand + - isAutogenerated: 1 + pointer_type 2147483643 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483643 - decl size + pointer_plus_expr test43.cpp 91:23 2147483644 - operand + nop_expr 2147483643 - operand + component_ref test43.cpp 91:17 2147483642 - operand + indirect_ref 2147483641 - object + nop_expr 2147483640 - ref + - isUsed: 1 + parm_decl this test43.cpp 89:31 2147483639 - operand + - isAutogenerated: 1 + pointer_type 2147483638 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483638 - parm size + field_decl tmp1 test43.cpp 62:12 2147483641 - field + - unsigned + integer_cst 64 2147483640 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 72 2147483643 - operand +end dump +test43.cpp: In member function 'Data1* Object1::func3(Data1*) const': +test43.cpp:91:23: warning: Using variable 'this->tmp1' without checking for null pointer + return &tmp1[1]; + ^ +start dump +function_decl func4 test43.cpp 94:10 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + void_type 2147483645 - method return type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Object1 test43.cpp 60:7 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + pointer_type 2147483643 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483643 - chain + void_type 2147483642 - value + type_decl void <built-in> 0:0 2147483641 - type name + - isAutogenerated: 1 + result_decl test43.cpp 95:5 2147483646 - function result + - isAutogenerated: 1 + void_type 2147483645 - result type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + - isUsed: 1 + parm_decl this test43.cpp 94:27 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + parm_decl ptr1 test43.cpp 94:23 2147483646 - argument + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + statement_list 2147483646 - code + cleanup_point_expr test43.cpp 96:22 2147483645 - statement + expr_stmt test43.cpp 96:22 2147483644 - operand + convert_expr 2147483643 - expresssion + modify_expr 2147483642 - operand + component_ref test43.cpp 96:9 2147483641 - operand + indirect_ref 2147483640 - object + nop_expr 2147483639 - ref + - isUsed: 1 + parm_decl this test43.cpp 94:27 2147483638 - operand + - isAutogenerated: 1 + pointer_type 2147483637 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483637 - parm size + field_decl x test43.cpp 65:9 2147483640 - field + - signed + integer_cst 32 2147483639 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + component_ref test43.cpp 96:19 2147483641 - operand + indirect_ref 2147483640 - object + component_ref test43.cpp 96:13 2147483639 - ref + indirect_ref 2147483638 - object + nop_expr 2147483637 - ref + - isUsed: 1 + parm_decl this test43.cpp 94:27 2147483636 - operand + - isAutogenerated: 1 + pointer_type 2147483635 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483635 - parm size + field_decl tmp3 test43.cpp 64:47 2147483638 - field + - unsigned + tree_list 2147483637 - attribute + identifier_node nonnullpointer 2147483636 - purpose + integer_cst 64 2147483637 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + field_decl val test43.cpp 23:9 2147483640 - field + - signed + integer_cst 32 2147483639 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + cleanup_point_expr test43.cpp 97:25 2147483645 - statement + expr_stmt test43.cpp 97:25 2147483644 - operand + convert_expr 2147483643 - expresssion + modify_expr 2147483642 - operand + component_ref test43.cpp 97:9 2147483641 - operand + indirect_ref 2147483640 - object + nop_expr 2147483639 - ref + - isUsed: 1 + parm_decl this test43.cpp 94:27 2147483638 - operand + - isAutogenerated: 1 + pointer_type 2147483637 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483637 - parm size + field_decl y test43.cpp 66:9 2147483640 - field + - signed + integer_cst 32 2147483639 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + array_ref test43.cpp 97:24 2147483641 - operand + integer_cst 0 2147483640 - low bound + integer_cst 4 2147483640 - element size + component_ref test43.cpp 97:19 2147483640 - operand + indirect_ref 2147483639 - object + component_ref test43.cpp 97:13 2147483638 - ref + indirect_ref 2147483637 - object + nop_expr 2147483636 - ref + - isUsed: 1 + parm_decl this test43.cpp 94:27 2147483635 - operand + - isAutogenerated: 1 + pointer_type 2147483634 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483634 - parm size + field_decl tmp3 test43.cpp 64:47 2147483637 - field + - unsigned + tree_list 2147483636 - attribute + identifier_node nonnullpointer 2147483635 - purpose + integer_cst 64 2147483636 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + field_decl arr test43.cpp 26:14 2147483639 - field + - signed + integer_cst 96 2147483638 - decl size + array_type 5 - field type + integer_type 4 - element type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 3 - type name + - isAutogenerated: 1 + integer_cst 32 3 - type size + integer_cst -2147483648 3 - min value + integer_cst 2147483647 3 - max value + integer_type 4 - domain + - precisionBits: 64 + - signed + integer_cst 64 3 - type size + integer_cst 0 3 - min value + integer_cst 2 3 - max value + integer_cst 0 2147483640 - operand +end dump +start dump +function_decl func5 test43.cpp 100:10 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + void_type 2147483645 - method return type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Object1 test43.cpp 60:7 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 101:5 2147483646 - function result + - isAutogenerated: 1 + void_type 2147483645 - result type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 100:16 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + bind_expr test43.cpp 105:28 2147483646 - code + var_decl idx test43.cpp 102:13 2147483645 - operand + - isUsed: 1 + integer_cst 32 2147483644 - decl size + integer_cst 5 20 - initial + integer_type 2147483644 - var type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 2147483643 - type name + - isAutogenerated: 1 + integer_cst 32 2147483643 - type size + integer_cst -2147483648 2147483643 - min value + integer_cst 2147483647 2147483643 - max value + statement_list 2147483645 - operand + cleanup_point_expr test43.cpp 102:19 2147483644 - statement + decl_expr test43.cpp 102:19 2147483643 - operand + var_decl idx test43.cpp 102:13 2147483642 - operand + - isUsed: 1 + integer_cst 32 15 - decl size 2 + integer_cst 5 20 - initial 2 + integer_type 15 - var type 2 + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 14 - type name + - isAutogenerated: 1 + integer_cst 32 14 - type size + integer_cst -2147483648 14 - min value + integer_cst 2147483647 14 - max value + decl_expr test43.cpp 103:38 2147483644 - statement + var_decl ptr1 test43.cpp 103:22 2147483643 - operand + - isUsed: 1 + integer_cst 64 2147483642 - decl size + array_ref test43.cpp 103:38 20 - initial + integer_cst 0 19 - low bound + integer_cst 8 19 - element size + var_decl garr1 test43.cpp 67:19 19 - operand + - isStatic: 1 + - isUsed: 1 + integer_cst 640 18 - decl size + array_type 18 - var type + pointer_type 17 - element type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_type 17 - domain + - precisionBits: 64 + - signed + integer_cst 64 16 - type size + integer_cst 0 16 - min value + integer_cst 9 16 - max value + var_decl idx test43.cpp 102:13 19 - operand + - isUsed: 1 + integer_cst 32 15 - decl size 2 + integer_cst 5 18 - initial 2 + integer_type 15 - var type 2 + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 14 - type name + - isAutogenerated: 1 + integer_cst 32 14 - type size + integer_cst -2147483648 14 - min value + integer_cst 2147483647 14 - max value + pointer_type 2147483642 - var type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + if_stmt test43.cpp 104:9 2147483644 - statement + ne_expr 2147483643 - condition + nop_expr 2147483642 - operand + var_decl ptr1 test43.cpp 103:22 2147483641 - operand + - isUsed: 1 + integer_cst 64 15 - decl size 2 + array_ref test43.cpp 103:38 20 - initial 2 + integer_cst 0 19 - low bound + integer_cst 8 19 - element size + var_decl garr1 test43.cpp 67:19 19 - operand + - isStatic: 1 + - isUsed: 1 + integer_cst 640 15 - decl size 2 + array_type 15 - var type 2 + pointer_type 14 - element type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_type 14 - domain + - precisionBits: 64 + - signed + integer_cst 64 13 - type size + integer_cst 0 13 - min value + integer_cst 9 13 - max value + var_decl idx test43.cpp 102:13 19 - operand + - isUsed: 1 + integer_cst 32 15 - decl size 2 + integer_cst 5 18 - initial 2 + integer_type 15 - var type 2 + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 14 - type name + - isAutogenerated: 1 + integer_cst 32 14 - type size + integer_cst -2147483648 14 - min value + integer_cst 2147483647 14 - max value + pointer_type 15 - var type 2 + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 0 2147483642 - operand + cleanup_point_expr test43.cpp 105:28 2147483643 - then + expr_stmt test43.cpp 105:28 2147483642 - operand + convert_expr 2147483641 - expresssion + modify_expr 2147483640 - operand + component_ref test43.cpp 105:19 2147483639 - operand + indirect_ref 2147483638 - object + nop_expr 2147483637 - ref + var_decl ptr1 test43.cpp 103:22 2147483636 - operand + - isUsed: 1 + integer_cst 64 15 - decl size 2 + array_ref test43.cpp 103:38 20 - initial 2 + integer_cst 0 19 - low bound + integer_cst 8 19 - element size + var_decl garr1 test43.cpp 67:19 19 - operand + - isStatic: 1 + - isUsed: 1 + integer_cst 640 15 - decl size 2 + array_type 15 - var type 2 + pointer_type 14 - element type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_type 14 - domain + - precisionBits: 64 + - signed + integer_cst 64 13 - type size + integer_cst 0 13 - min value + integer_cst 9 13 - max value + var_decl idx test43.cpp 102:13 19 - operand + - isUsed: 1 + integer_cst 32 15 - decl size 2 + integer_cst 5 18 - initial 2 + integer_type 15 - var type 2 + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 14 - type name + - isAutogenerated: 1 + integer_cst 32 14 - type size + integer_cst -2147483648 14 - min value + integer_cst 2147483647 14 - max value + pointer_type 15 - var type 2 + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + field_decl val test43.cpp 23:9 2147483638 - field + - signed + integer_cst 32 2147483637 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + integer_cst 100 2147483639 - operand + block 2147483645 - operand + var_decl idx test43.cpp 102:13 2147483644 - block vars + - isUsed: 1 + integer_cst 32 15 - decl size 2 + integer_cst 5 20 - initial 2 + integer_type 15 - var type 2 + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 14 - type name + - isAutogenerated: 1 + integer_cst 32 14 - type size + integer_cst -2147483648 14 - min value + integer_cst 2147483647 14 - max value + var_decl ptr1 test43.cpp 103:22 2147483644 - block vars + - isUsed: 1 + integer_cst 64 15 - decl size 2 + array_ref test43.cpp 103:38 20 - initial 2 + integer_cst 0 19 - low bound + integer_cst 8 19 - element size + var_decl garr1 test43.cpp 67:19 19 - operand + - isStatic: 1 + - isUsed: 1 + integer_cst 640 15 - decl size 2 + array_type 15 - var type 2 + pointer_type 14 - element type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_type 14 - domain + - precisionBits: 64 + - signed + integer_cst 64 13 - type size + integer_cst 0 13 - min value + integer_cst 9 13 - max value + var_decl idx test43.cpp 102:13 19 - operand + - isUsed: 1 + integer_cst 32 15 - decl size 2 + integer_cst 5 18 - initial 2 + integer_type 15 - var type 2 + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 14 - type name + - isAutogenerated: 1 + integer_cst 32 14 - type size + integer_cst -2147483648 14 - min value + integer_cst 2147483647 14 - max value + pointer_type 15 - var type 2 + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 +end dump +start dump +function_decl Data1 test43.cpp 21:8 2147483647 +- isAutogenerated: 1 +- isPublic: 1 + method_type 2147483646 - function type + void_type 2147483645 - method return type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data1 test43.cpp 21:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 21:8 2147483646 - function result + - isAutogenerated: 1 + void_type 2147483645 - result type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 21:8 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + bind_expr test43.cpp 21:8 2147483646 - code + statement_list 2147483645 - operand + cleanup_point_expr test43.cpp 21:8 2147483644 - statement + expr_stmt test43.cpp 21:8 2147483643 - operand + convert_expr 2147483642 - expresssion + modify_expr 2147483641 - operand + component_ref 2147483640 - operand + indirect_ref 2147483639 - object + nop_expr 2147483638 - ref + parm_decl this test43.cpp 21:8 2147483637 - operand + - isAutogenerated: 1 + pointer_type 2147483636 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483636 - parm size + field_decl _vptr.Data1 test43.cpp 21:8 2147483639 - field + - unsigned + - isVirtual: 1 + - isAutogenerated: 1 + integer_cst 64 2147483638 - decl size + pointer_type 5 - field type + pointer_type 3 - nested type + type_decl __vtbl_ptr_type <built-in> 0:0 2 - type name + - isAutogenerated: 1 + function_type 2 - nested type + integer_type 1 - function return type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 0 - type name + - isAutogenerated: 1 + integer_cst 32 0 - type size + integer_cst -2147483648 0 - min value + integer_cst 2147483647 0 - max value + pointer_plus_expr 2147483640 - operand + addr_expr 2147483639 - operand + var_decl _ZTV5Data1 test43.cpp 21:8 2147483638 - operand + - isUsed: 1 + - isVirtual: 1 + - isAutogenerated: 1 + integer_cst 384 2147483637 - decl size + constructor 20 - initial + array_type 19 - constructor type + pointer_type 18 - element type + type_decl __vtbl_ptr_type <built-in> 0:0 17 - type name + - isAutogenerated: 1 + function_type 3 - nested type + integer_type 2 - function return type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 1 - type name + - isAutogenerated: 1 + integer_cst 32 1 - type size + integer_cst -2147483648 1 - min value + integer_cst 2147483647 1 - max value + integer_type 18 - domain + - precisionBits: 64 + - signed + integer_cst 64 17 - type size + integer_cst 0 17 - min value + integer_cst 5 17 - max value + nop_expr 19 - value + integer_cst 0 18 - operand + nop_expr 19 - value + addr_expr 18 - operand + var_decl _ZTI5Data1 test43.cpp 21:8 17 - operand + - isAutogenerated: 1 + integer_cst 128 16 - decl size + record_type 16 - var type + type_decl __class_type_info_pseudo <built-in> 0:0 15 - type name + nop_expr 19 - value + addr_expr 18 - operand + function_decl __comp_dtor test43.cpp 27:13 17 - operand + - isVirtual: 1 + - isExternal: 1 + - isPublic: 1 + method_type 16 - function type + void_type 15 - method return type + type_decl void <built-in> 0:0 14 - type name + - isAutogenerated: 1 + record_type 15 - method base type + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + tree_list 15 - arg types + pointer_type 14 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 14 - chain + void_type 13 - value + type_decl void <built-in> 0:0 12 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 27:20 16 - argument + - isAutogenerated: 1 + pointer_type 15 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - parm size + nop_expr 19 - value + addr_expr 18 - operand + function_decl __deleting_dtor test43.cpp 27:13 17 - operand + - isVirtual: 1 + - isExternal: 1 + - isPublic: 1 + method_type 16 - function type + void_type 15 - method return type + type_decl void <built-in> 0:0 14 - type name + - isAutogenerated: 1 + record_type 15 - method base type + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + tree_list 15 - arg types + pointer_type 14 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 14 - chain + void_type 13 - value + type_decl void <built-in> 0:0 12 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 27:20 16 - argument + - isAutogenerated: 1 + pointer_type 15 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - parm size + nop_expr 19 - value + addr_expr 18 - operand + function_decl getData3 test43.cpp 34:20 17 - operand + - isVirtual: 1 + - isExternal: 1 + - isPublic: 1 + method_type 16 - function type + pointer_type 15 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 15 - method base type + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + tree_list 15 - arg types + pointer_type 14 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 14 - chain + reference_type 13 - value + integer_type 12 - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 11 - type name + - isAutogenerated: 1 + integer_cst 32 11 - type size + integer_cst -2147483648 11 - min value + integer_cst 2147483647 11 - max value + tree_list 13 - chain + void_type 12 - value + type_decl void <built-in> 0:0 11 - type name + - isAutogenerated: 1 + result_decl test43.cpp 35:5 16 - function result + - isAutogenerated: 1 + pointer_type 15 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - decl size + - isUsed: 1 + parm_decl this test43.cpp 34:35 16 - argument + - isAutogenerated: 1 + pointer_type 15 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - parm size + - isUsed: 1 + parm_decl k test43.cpp 34:34 16 - argument + reference_type 15 - decl type + integer_type 14 - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 13 - type name + - isAutogenerated: 1 + integer_cst 32 13 - type size + integer_cst -2147483648 13 - min value + integer_cst 2147483647 13 - max value + integer_cst 64 15 - parm size + statement_list 16 - code + cleanup_point_expr test43.cpp 36:16 15 - statement + expr_stmt test43.cpp 36:16 14 - operand + convert_expr 13 - expresssion + modify_expr 12 - operand + component_ref test43.cpp 36:9 11 - operand + indirect_ref 10 - object + nop_expr 9 - ref + - isUsed: 1 + parm_decl this test43.cpp 34:35 8 - operand + - isAutogenerated: 1 + pointer_type 7 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 7 - parm size + field_decl val test43.cpp 23:9 10 - field + - signed + integer_cst 32 9 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + indirect_ref 11 - operand + - isUsed: 1 + parm_decl k test43.cpp 34:34 10 - ref + reference_type 9 - decl type + integer_type 8 - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 7 - type name + - isAutogenerated: 1 + integer_cst 32 7 - type size + integer_cst -2147483648 7 - min value + integer_cst 2147483647 7 - max value + integer_cst 64 9 - parm size + return_expr test43.cpp 37:16 15 - statement + init_expr 14 - operand + result_decl test43.cpp 35:5 13 - operand + - isAutogenerated: 1 + pointer_type 12 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 12 - decl size + component_ref test43.cpp 37:16 13 - operand + indirect_ref 12 - object + nop_expr 11 - ref + - isUsed: 1 + parm_decl this test43.cpp 34:35 10 - operand + - isAutogenerated: 1 + pointer_type 9 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 9 - parm size + field_decl ptrval test43.cpp 24:12 12 - field + - unsigned + integer_cst 64 11 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + nop_expr 19 - value + addr_expr 18 - operand + function_decl getData6 test43.cpp 47:20 17 - operand + - isVirtual: 1 + - isExternal: 1 + - isPublic: 1 + method_type 16 - function type + pointer_type 15 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 15 - method base type + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + tree_list 15 - arg types + pointer_type 14 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 14 - chain + void_type 13 - value + type_decl void <built-in> 0:0 12 - type name + - isAutogenerated: 1 + result_decl test43.cpp 48:5 16 - function result + - isAutogenerated: 1 + pointer_type 15 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - decl size + parm_decl this test43.cpp 47:29 16 - argument + - isAutogenerated: 1 + pointer_type 15 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - parm size + return_expr test43.cpp 49:16 16 - code + init_expr 15 - operand + result_decl test43.cpp 48:5 14 - operand + - isAutogenerated: 1 + pointer_type 13 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 13 - decl size + integer_cst 0 14 - operand + array_type 2147483637 - var type + pointer_type 2147483636 - element type + type_decl __vtbl_ptr_type <built-in> 0:0 2147483635 - type name + - isAutogenerated: 1 + function_type 3 - nested type + integer_type 2 - function return type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 1 - type name + - isAutogenerated: 1 + integer_cst 32 1 - type size + integer_cst -2147483648 1 - min value + integer_cst 2147483647 1 - max value + integer_type 2147483636 - domain + - precisionBits: 64 + - signed + integer_cst 64 2147483635 - type size + integer_cst 0 2147483635 - min value + integer_cst 5 2147483635 - max value + integer_cst 16 2147483639 - operand + cleanup_point_expr test43.cpp 21:8 2147483644 - statement + expr_stmt test43.cpp 21:8 2147483643 - operand + call_expr test43.cpp 21:8 2147483642 - expresssion + addr_expr 2147483641 - function + function_decl __comp_ctor test43.cpp 8:5 50 - operand + - isPublic: 1 + method_type 49 - function type + void_type 48 - method return type + type_decl void <built-in> 0:0 47 - type name + - isAutogenerated: 1 + record_type 48 - method base type + type_decl Data2 test43.cpp 6:8 47 - type name + - isAutogenerated: 1 + tree_list 48 - arg types + pointer_type 47 - value + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + tree_list 47 - chain + void_type 46 - value + type_decl void <built-in> 0:0 45 - type name + - isAutogenerated: 1 + result_decl test43.cpp 11:5 49 - function result + - isAutogenerated: 1 + void_type 48 - result type + type_decl void <built-in> 0:0 47 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 8:11 49 - argument + - isAutogenerated: 1 + pointer_type 48 - decl type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 48 - parm size + statement_list 49 - code + addr_expr 2147483641 - arg + component_ref test43.cpp 21:8 2147483640 - operand + indirect_ref 2147483639 - object + nop_expr 2147483638 - ref + parm_decl this test43.cpp 21:8 2147483637 - operand + - isAutogenerated: 1 + pointer_type 2147483636 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483636 - parm size + field_decl perm test43.cpp 25:11 2147483639 - field + - signed + integer_cst 256 2147483638 - decl size + record_type 5 - field type + type_decl Data2 test43.cpp 6:8 4 - type name + - isAutogenerated: 1 + block 2147483645 - operand +end dump +start dump +function_decl __base_ctor test43.cpp 21:8 2147483647 +- isAutogenerated: 1 +- isPublic: 1 + method_type 2147483646 - function type + void_type 2147483645 - method return type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data1 test43.cpp 21:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 21:8 2147483646 - function result + - isAutogenerated: 1 + void_type 2147483645 - result type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 21:8 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + bind_expr test43.cpp 21:8 2147483646 - code + statement_list 2147483645 - operand + cleanup_point_expr test43.cpp 21:8 2147483644 - statement + expr_stmt test43.cpp 21:8 2147483643 - operand + convert_expr 2147483642 - expresssion + modify_expr 2147483641 - operand + component_ref 2147483640 - operand + indirect_ref 2147483639 - object + nop_expr 2147483638 - ref + parm_decl this test43.cpp 21:8 2147483637 - operand + - isAutogenerated: 1 + pointer_type 2147483636 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483636 - parm size + field_decl _vptr.Data1 test43.cpp 21:8 2147483639 - field + - unsigned + - isVirtual: 1 + - isAutogenerated: 1 + integer_cst 64 2147483638 - decl size + pointer_type 5 - field type + pointer_type 3 - nested type + type_decl __vtbl_ptr_type <built-in> 0:0 2 - type name + - isAutogenerated: 1 + function_type 2 - nested type + integer_type 1 - function return type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 0 - type name + - isAutogenerated: 1 + integer_cst 32 0 - type size + integer_cst -2147483648 0 - min value + integer_cst 2147483647 0 - max value + pointer_plus_expr 2147483640 - operand + addr_expr 2147483639 - operand + var_decl _ZTV5Data1 test43.cpp 21:8 2147483638 - operand + - isUsed: 1 + - isVirtual: 1 + - isAutogenerated: 1 + integer_cst 384 2147483637 - decl size + constructor 20 - initial + array_type 19 - constructor type + pointer_type 18 - element type + type_decl __vtbl_ptr_type <built-in> 0:0 17 - type name + - isAutogenerated: 1 + function_type 3 - nested type + integer_type 2 - function return type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 1 - type name + - isAutogenerated: 1 + integer_cst 32 1 - type size + integer_cst -2147483648 1 - min value + integer_cst 2147483647 1 - max value + integer_type 18 - domain + - precisionBits: 64 + - signed + integer_cst 64 17 - type size + integer_cst 0 17 - min value + integer_cst 5 17 - max value + nop_expr 19 - value + integer_cst 0 18 - operand + nop_expr 19 - value + addr_expr 18 - operand + var_decl _ZTI5Data1 test43.cpp 21:8 17 - operand + - isAutogenerated: 1 + integer_cst 128 16 - decl size + record_type 16 - var type + type_decl __class_type_info_pseudo <built-in> 0:0 15 - type name + nop_expr 19 - value + addr_expr 18 - operand + function_decl __comp_dtor test43.cpp 27:13 17 - operand + - isVirtual: 1 + - isExternal: 1 + - isPublic: 1 + method_type 16 - function type + void_type 15 - method return type + type_decl void <built-in> 0:0 14 - type name + - isAutogenerated: 1 + record_type 15 - method base type + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + tree_list 15 - arg types + pointer_type 14 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 14 - chain + void_type 13 - value + type_decl void <built-in> 0:0 12 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 27:20 16 - argument + - isAutogenerated: 1 + pointer_type 15 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - parm size + nop_expr 19 - value + addr_expr 18 - operand + function_decl __deleting_dtor test43.cpp 27:13 17 - operand + - isVirtual: 1 + - isExternal: 1 + - isPublic: 1 + method_type 16 - function type + void_type 15 - method return type + type_decl void <built-in> 0:0 14 - type name + - isAutogenerated: 1 + record_type 15 - method base type + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + tree_list 15 - arg types + pointer_type 14 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 14 - chain + void_type 13 - value + type_decl void <built-in> 0:0 12 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 27:20 16 - argument + - isAutogenerated: 1 + pointer_type 15 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - parm size + nop_expr 19 - value + addr_expr 18 - operand + function_decl getData3 test43.cpp 34:20 17 - operand + - isVirtual: 1 + - isExternal: 1 + - isPublic: 1 + method_type 16 - function type + pointer_type 15 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 15 - method base type + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + tree_list 15 - arg types + pointer_type 14 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 14 - chain + reference_type 13 - value + integer_type 12 - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 11 - type name + - isAutogenerated: 1 + integer_cst 32 11 - type size + integer_cst -2147483648 11 - min value + integer_cst 2147483647 11 - max value + tree_list 13 - chain + void_type 12 - value + type_decl void <built-in> 0:0 11 - type name + - isAutogenerated: 1 + result_decl test43.cpp 35:5 16 - function result + - isAutogenerated: 1 + pointer_type 15 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - decl size + - isUsed: 1 + parm_decl this test43.cpp 34:35 16 - argument + - isAutogenerated: 1 + pointer_type 15 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - parm size + - isUsed: 1 + parm_decl k test43.cpp 34:34 16 - argument + reference_type 15 - decl type + integer_type 14 - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 13 - type name + - isAutogenerated: 1 + integer_cst 32 13 - type size + integer_cst -2147483648 13 - min value + integer_cst 2147483647 13 - max value + integer_cst 64 15 - parm size + statement_list 16 - code + cleanup_point_expr test43.cpp 36:16 15 - statement + expr_stmt test43.cpp 36:16 14 - operand + convert_expr 13 - expresssion + modify_expr 12 - operand + component_ref test43.cpp 36:9 11 - operand + indirect_ref 10 - object + nop_expr 9 - ref + - isUsed: 1 + parm_decl this test43.cpp 34:35 8 - operand + - isAutogenerated: 1 + pointer_type 7 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 7 - parm size + field_decl val test43.cpp 23:9 10 - field + - signed + integer_cst 32 9 - decl size + integer_type 5 - field type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 4 - type name + - isAutogenerated: 1 + integer_cst 32 4 - type size + integer_cst -2147483648 4 - min value + integer_cst 2147483647 4 - max value + indirect_ref 11 - operand + - isUsed: 1 + parm_decl k test43.cpp 34:34 10 - ref + reference_type 9 - decl type + integer_type 8 - nested type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 7 - type name + - isAutogenerated: 1 + integer_cst 32 7 - type size + integer_cst -2147483648 7 - min value + integer_cst 2147483647 7 - max value + integer_cst 64 9 - parm size + return_expr test43.cpp 37:16 15 - statement + init_expr 14 - operand + result_decl test43.cpp 35:5 13 - operand + - isAutogenerated: 1 + pointer_type 12 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 12 - decl size + component_ref test43.cpp 37:16 13 - operand + indirect_ref 12 - object + nop_expr 11 - ref + - isUsed: 1 + parm_decl this test43.cpp 34:35 10 - operand + - isAutogenerated: 1 + pointer_type 9 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 9 - parm size + field_decl ptrval test43.cpp 24:12 12 - field + - unsigned + integer_cst 64 11 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + nop_expr 19 - value + addr_expr 18 - operand + function_decl getData6 test43.cpp 47:20 17 - operand + - isVirtual: 1 + - isExternal: 1 + - isPublic: 1 + method_type 16 - function type + pointer_type 15 - method return type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + record_type 15 - method base type + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + tree_list 15 - arg types + pointer_type 14 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 14 - chain + void_type 13 - value + type_decl void <built-in> 0:0 12 - type name + - isAutogenerated: 1 + result_decl test43.cpp 48:5 16 - function result + - isAutogenerated: 1 + pointer_type 15 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - decl size + parm_decl this test43.cpp 47:29 16 - argument + - isAutogenerated: 1 + pointer_type 15 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 15 - parm size + return_expr test43.cpp 49:16 16 - code + init_expr 15 - operand + result_decl test43.cpp 48:5 14 - operand + - isAutogenerated: 1 + pointer_type 13 - result type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 13 - decl size + integer_cst 0 14 - operand + array_type 2147483637 - var type + pointer_type 2147483636 - element type + type_decl __vtbl_ptr_type <built-in> 0:0 2147483635 - type name + - isAutogenerated: 1 + function_type 3 - nested type + integer_type 2 - function return type + - precisionBits: 32 + - signed + type_decl int <built-in> 0:0 1 - type name + - isAutogenerated: 1 + integer_cst 32 1 - type size + integer_cst -2147483648 1 - min value + integer_cst 2147483647 1 - max value + integer_type 2147483636 - domain + - precisionBits: 64 + - signed + integer_cst 64 2147483635 - type size + integer_cst 0 2147483635 - min value + integer_cst 5 2147483635 - max value + integer_cst 16 2147483639 - operand + cleanup_point_expr test43.cpp 21:8 2147483644 - statement + expr_stmt test43.cpp 21:8 2147483643 - operand + call_expr test43.cpp 21:8 2147483642 - expresssion + addr_expr 2147483641 - function + function_decl __comp_ctor test43.cpp 8:5 50 - operand + - isPublic: 1 + method_type 49 - function type + void_type 48 - method return type + type_decl void <built-in> 0:0 47 - type name + - isAutogenerated: 1 + record_type 48 - method base type + type_decl Data2 test43.cpp 6:8 47 - type name + - isAutogenerated: 1 + tree_list 48 - arg types + pointer_type 47 - value + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + tree_list 47 - chain + void_type 46 - value + type_decl void <built-in> 0:0 45 - type name + - isAutogenerated: 1 + result_decl test43.cpp 11:5 49 - function result + - isAutogenerated: 1 + void_type 48 - result type + type_decl void <built-in> 0:0 47 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 8:11 49 - argument + - isAutogenerated: 1 + pointer_type 48 - decl type + record_type 3 - nested type + type_decl Data2 test43.cpp 6:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 48 - parm size + statement_list 49 - code + addr_expr 2147483641 - arg + component_ref test43.cpp 21:8 2147483640 - operand + indirect_ref 2147483639 - object + nop_expr 2147483638 - ref + parm_decl this test43.cpp 21:8 2147483637 - operand + - isAutogenerated: 1 + pointer_type 2147483636 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483636 - parm size + field_decl perm test43.cpp 25:11 2147483639 - field + - signed + integer_cst 256 2147483638 - decl size + record_type 5 - field type + type_decl Data2 test43.cpp 6:8 4 - type name + - isAutogenerated: 1 + block 2147483645 - operand +end dump +start dump +function_decl __comp_ctor test43.cpp 21:8 2147483647 +- isAutogenerated: 1 +- isPublic: 1 + method_type 2147483646 - function type + void_type 2147483645 - method return type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Data1 test43.cpp 21:8 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + void_type 2147483643 - value + type_decl void <built-in> 0:0 2147483642 - type name + - isAutogenerated: 1 + result_decl test43.cpp 21:8 2147483646 - function result + - isAutogenerated: 1 + void_type 2147483645 - result type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 21:8 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + statement_list 2147483646 - code +end dump +start dump +function_decl func6 test43.cpp 108:10 2147483647 +- isPublic: 1 + method_type 2147483646 - function type + void_type 2147483645 - method return type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + record_type 2147483645 - method base type + type_decl Object1 test43.cpp 60:7 2147483644 - type name + - isAutogenerated: 1 + tree_list 2147483645 - arg types + pointer_type 2147483644 - value + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + tree_list 2147483644 - chain + pointer_type 2147483643 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 2147483643 - chain + void_type 2147483642 - value + type_decl void <built-in> 0:0 2147483641 - type name + - isAutogenerated: 1 + result_decl test43.cpp 109:5 2147483646 - function result + - isAutogenerated: 1 + void_type 2147483645 - result type + type_decl void <built-in> 0:0 2147483644 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 108:27 2147483646 - argument + - isAutogenerated: 1 + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Object1 test43.cpp 60:7 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + - isUsed: 1 + parm_decl ptr1 test43.cpp 108:23 2147483646 - argument + pointer_type 2147483645 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483645 - parm size + bind_expr test43.cpp 111:27 2147483646 - code + var_decl var1 test43.cpp 110:15 2147483645 - operand + - isUsed: 1 + integer_cst 576 2147483644 - decl size + record_type 2147483644 - var type + type_decl Data1 test43.cpp 21:8 2147483643 - type name + - isAutogenerated: 1 + statement_list 2147483645 - operand + decl_expr test43.cpp 110:15 2147483644 - statement + var_decl var1 test43.cpp 110:15 2147483643 - operand + - isUsed: 1 + integer_cst 576 15 - decl size 2 + record_type 15 - var type 2 + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + cleanup_point_expr test43.cpp 110:15 2147483644 - statement + expr_stmt test43.cpp 110:15 2147483643 - operand + call_expr test43.cpp 110:15 2147483642 - expresssion + addr_expr 2147483641 - function + function_decl __comp_ctor test43.cpp 21:8 50 - operand + - isAutogenerated: 1 + - isPublic: 1 + method_type 49 - function type + void_type 48 - method return type + type_decl void <built-in> 0:0 47 - type name + - isAutogenerated: 1 + record_type 48 - method base type + type_decl Data1 test43.cpp 21:8 47 - type name + - isAutogenerated: 1 + tree_list 48 - arg types + pointer_type 47 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 47 - chain + void_type 46 - value + type_decl void <built-in> 0:0 45 - type name + - isAutogenerated: 1 + result_decl test43.cpp 21:8 49 - function result + - isAutogenerated: 1 + void_type 48 - result type + type_decl void <built-in> 0:0 47 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 21:8 49 - argument + - isAutogenerated: 1 + pointer_type 48 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 48 - parm size + statement_list 49 - code + addr_expr 2147483641 - arg + var_decl var1 test43.cpp 110:15 2147483640 - operand + - isUsed: 1 + integer_cst 576 15 - decl size 2 + record_type 15 - var type 2 + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + cleanup_stmt test43.cpp 110:15 2147483644 - statement + statement_list 2147483643 - body + cleanup_point_expr test43.cpp 111:27 2147483642 - statement + expr_stmt test43.cpp 111:27 2147483641 - operand + convert_expr 2147483640 - expresssion + modify_expr 2147483639 - operand + component_ref test43.cpp 111:14 2147483638 - operand + var_decl var1 test43.cpp 110:15 2147483637 - object + - isUsed: 1 + integer_cst 576 15 - decl size 2 + record_type 15 - var type 2 + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + field_decl ptrval test43.cpp 24:12 2147483637 - field + - unsigned + integer_cst 64 2147483636 - decl size + pointer_type 5 - field type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + - isUsed: 1 + parm_decl ptr1 test43.cpp 108:23 2147483638 - operand + pointer_type 2147483637 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 2147483637 - parm size + call_expr 2147483643 - expresssion + addr_expr 2147483642 - function + function_decl __comp_dtor test43.cpp 27:13 50 - operand + - isVirtual: 1 + - isExternal: 1 + - isPublic: 1 + method_type 49 - function type + void_type 48 - method return type + type_decl void <built-in> 0:0 47 - type name + - isAutogenerated: 1 + record_type 48 - method base type + type_decl Data1 test43.cpp 21:8 47 - type name + - isAutogenerated: 1 + tree_list 48 - arg types + pointer_type 47 - value + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + tree_list 47 - chain + void_type 46 - value + type_decl void <built-in> 0:0 45 - type name + - isAutogenerated: 1 + parm_decl this test43.cpp 27:20 49 - argument + - isAutogenerated: 1 + pointer_type 48 - decl type + record_type 3 - nested type + type_decl Data1 test43.cpp 21:8 2 - type name + - isAutogenerated: 1 + integer_cst 64 48 - parm size + addr_expr 2147483642 - arg + var_decl var1 test43.cpp 110:15 2147483641 - operand + - isUsed: 1 + integer_cst 576 15 - decl size 2 + record_type 15 - var type 2 + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + var_decl var1 test43.cpp 110:15 2147483643 - decl + - isUsed: 1 + integer_cst 576 15 - decl size 2 + record_type 15 - var type 2 + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 + block 2147483645 - operand + var_decl var1 test43.cpp 110:15 2147483644 - block vars + - isUsed: 1 + integer_cst 576 15 - decl size 2 + record_type 15 - var type 2 + type_decl Data1 test43.cpp 21:8 14 - type name + - isAutogenerated: 1 +end dump |