function_decl Data2: bind_expr : expr_stmt : convert_expr : init_expr : component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data2: integer_cst 64: field_decl val: integer_cst 32: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: component_ref : indirect_ref : var_decl d1: tree_list : identifier_node nonnullpointer: integer_cst 64: pointer_type : record_type : type_decl Data2: field_decl val: integer_cst 32: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: block : function_decl __base_ctor : bind_expr : expr_stmt : convert_expr : init_expr : component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data2: integer_cst 64: field_decl val: integer_cst 32: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: component_ref : indirect_ref : var_decl d1: tree_list : identifier_node nonnullpointer: integer_cst 64: pointer_type : record_type : type_decl Data2: field_decl val: integer_cst 32: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: block : function_decl __comp_ctor : statement_list : function_decl getData3: return_expr : init_expr : result_decl : pointer_type : record_type : type_decl Data1: integer_cst 64: component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data2: integer_cst 64: field_decl ptrval: integer_cst 64: pointer_type : record_type : type_decl Data1: function_decl getData2: return_expr : init_expr : result_decl : pointer_type : record_type : type_decl Data1: integer_cst 64: component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data1: integer_cst 64: field_decl ptrval: integer_cst 64: pointer_type : record_type : type_decl Data1: function_decl getData3: statement_list : expr_stmt : convert_expr : modify_expr : component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data1: integer_cst 64: field_decl val: integer_cst 32: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: indirect_ref : parm_decl k: reference_type : integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: integer_cst 64: return_expr : init_expr : result_decl : pointer_type : record_type : type_decl Data1: integer_cst 64: component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data1: integer_cst 64: field_decl ptrval: integer_cst 64: pointer_type : record_type : type_decl Data1: function_decl getData4: return_expr : init_expr : result_decl : pointer_type : record_type : type_decl Data1: integer_cst 64: integer_cst 0: function_decl getData5: return_expr : init_expr : result_decl : pointer_type : record_type : type_decl Data2: integer_cst 64: addr_expr : component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data1: integer_cst 64: field_decl perm: integer_cst 256: record_type : type_decl Data2: function_decl getData6: return_expr : init_expr : result_decl : pointer_type : record_type : type_decl Data1: integer_cst 64: integer_cst 0: function_decl getData1: return_expr : init_expr : result_decl : pointer_type : record_type : type_decl Data1: integer_cst 64: component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Object1: integer_cst 64: field_decl tmp2: integer_cst 64: pointer_type : record_type : type_decl Data1: function_decl getData2: return_expr : init_expr : result_decl : pointer_type : record_type : type_decl Data1: integer_cst 64: component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Object1: integer_cst 64: field_decl tmp2: integer_cst 64: pointer_type : record_type : type_decl Data1: function_decl func1: return_expr : ptr1, init_expr : ptr1, result_decl : ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, integer_cst 64: ptr1, cond_expr : ptr1, ne_expr : ptr1, integer_cst 0: ptr1, var_decl k: ptr1, integer_cst 32: ptr1, integer_type : ptr1, type_decl int: ptr1, integer_cst 32: ptr1, integer_cst -2147483648: ptr1, integer_cst 2147483647: ptr1, integer_cst 0: ptr1, component_ref : ptr1, indirect_ref : ptr1, parm_decl this: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Object1: ptr1, integer_cst 64: ptr1, field_decl tmp1: ptr1, integer_cst 64: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, component_ref : ptr1, indirect_ref : ptr1, parm_decl this: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Object1: ptr1, integer_cst 64: ptr1, field_decl tmp2: ptr1, integer_cst 64: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, function_decl func2: return_expr : ptr1, init_expr : ptr1, result_decl : ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, integer_cst 64: ptr1, component_ref : ptr1, indirect_ref : ptr1, parm_decl this: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Object1: ptr1, integer_cst 64: ptr1, field_decl tmp1: ptr1, integer_cst 64: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, function_decl func3: return_expr : ptr1, init_expr : ptr1, result_decl : ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, integer_cst 64: ptr1, pointer_plus_expr : ptr1, 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]; ^ component_ref : ptr1, indirect_ref : ptr1, parm_decl this: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Object1: ptr1, integer_cst 64: ptr1, field_decl tmp1: ptr1, integer_cst 64: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, integer_cst 72: ptr1, function_decl func4: statement_list : ptr1, expr_stmt : ptr1, convert_expr : ptr1, modify_expr : ptr1, component_ref : ptr1, indirect_ref : ptr1, parm_decl this: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Object1: ptr1, integer_cst 64: ptr1, field_decl x: ptr1, integer_cst 32: ptr1, integer_type : ptr1, type_decl int: ptr1, integer_cst 32: ptr1, integer_cst -2147483648: ptr1, integer_cst 2147483647: ptr1, component_ref : ptr1, indirect_ref : ptr1, component_ref : ptr1, indirect_ref : ptr1, parm_decl this: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Object1: ptr1, integer_cst 64: ptr1, field_decl tmp3: ptr1, tree_list : ptr1, identifier_node nonnullpointer: ptr1, integer_cst 64: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, field_decl val: ptr1, integer_cst 32: ptr1, integer_type : ptr1, type_decl int: ptr1, integer_cst 32: ptr1, integer_cst -2147483648: ptr1, integer_cst 2147483647: ptr1, expr_stmt : ptr1, convert_expr : ptr1, modify_expr : ptr1, component_ref : ptr1, indirect_ref : ptr1, parm_decl this: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Object1: ptr1, integer_cst 64: ptr1, field_decl y: ptr1, integer_cst 32: ptr1, integer_type : ptr1, type_decl int: ptr1, integer_cst 32: ptr1, integer_cst -2147483648: ptr1, integer_cst 2147483647: ptr1, array_ref : ptr1, integer_cst 0: ptr1, integer_cst 4: ptr1, component_ref : ptr1, indirect_ref : ptr1, component_ref : ptr1, indirect_ref : ptr1, parm_decl this: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Object1: ptr1, integer_cst 64: ptr1, field_decl tmp3: ptr1, tree_list : ptr1, identifier_node nonnullpointer: ptr1, integer_cst 64: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, field_decl arr: ptr1, integer_cst 96: ptr1, array_type : ptr1, integer_type : ptr1, type_decl int: ptr1, integer_cst 32: ptr1, integer_cst -2147483648: ptr1, integer_cst 2147483647: ptr1, integer_type : ptr1, integer_cst 64: ptr1, integer_cst 0: ptr1, integer_cst 2: ptr1, integer_cst 0: ptr1, function_decl func5: bind_expr : statement_list : decl_expr : var_decl idx: integer_cst 32: integer_cst 5: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: decl_expr : array_ref : integer_cst 0: integer_cst 8: var_decl garr1: integer_cst 640: array_type : pointer_type : record_type : type_decl Data1: integer_type : integer_cst 64: integer_cst 0: integer_cst 9: var_decl idx: integer_cst 32: integer_cst 5: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: var_decl ptr1: integer_cst 64: array_ref : integer_cst 0: integer_cst 8: var_decl garr1: integer_cst 640: array_type : pointer_type : record_type : type_decl Data1: integer_type : integer_cst 64: integer_cst 0: integer_cst 9: var_decl idx: integer_cst 32: integer_cst 5: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: pointer_type : record_type : type_decl Data1: if_stmt : ne_expr : integer_cst 0: var_decl ptr1: integer_cst 64: array_ref : integer_cst 0: integer_cst 8: var_decl garr1: integer_cst 640: array_type : pointer_type : record_type : type_decl Data1: integer_type : integer_cst 64: integer_cst 0: integer_cst 9: var_decl idx: integer_cst 32: integer_cst 5: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: pointer_type : record_type : type_decl Data1: integer_cst 0: expr_stmt : convert_expr : modify_expr : component_ref : indirect_ref : var_decl ptr1: integer_cst 64: array_ref : integer_cst 0: integer_cst 8: var_decl garr1: integer_cst 640: array_type : pointer_type : record_type : type_decl Data1: integer_type : integer_cst 64: integer_cst 0: integer_cst 9: var_decl idx: integer_cst 32: integer_cst 5: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: pointer_type : record_type : type_decl Data1: field_decl val: integer_cst 32: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: integer_cst 100: var_decl idx: integer_cst 32: integer_cst 5: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: block : var_decl idx: integer_cst 32: integer_cst 5: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: var_decl ptr1: integer_cst 64: array_ref : integer_cst 0: integer_cst 8: var_decl garr1: integer_cst 640: array_type : pointer_type : record_type : type_decl Data1: integer_type : integer_cst 64: integer_cst 0: integer_cst 9: var_decl idx: integer_cst 32: integer_cst 5: integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: pointer_type : record_type : type_decl Data1: function_decl Data1: bind_expr : statement_list : expr_stmt : convert_expr : modify_expr : component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data1: integer_cst 64: field_decl _vptr.Data1: integer_cst 64: pointer_type : pointer_type : type_decl __vtbl_ptr_type: function_type : integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: pointer_plus_expr : addr_expr : var_decl _ZTV5Data1: integer_cst 384: constructor : array_type : pointer_type : type_decl __vtbl_ptr_type: function_type : integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: integer_type : integer_cst 64: integer_cst 0: integer_cst 5: integer_cst 0: addr_expr : var_decl _ZTI5Data1: integer_cst 128: record_type : type_decl __class_type_info_pseudo: addr_expr : function_decl __comp_dtor : addr_expr : function_decl __deleting_dtor : addr_expr : function_decl getData3: addr_expr : function_decl getData6: array_type : pointer_type : type_decl __vtbl_ptr_type: function_type : integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: integer_type : integer_cst 64: integer_cst 0: integer_cst 5: integer_cst 16: expr_stmt : call_expr : addr_expr : function_decl __comp_ctor : statement_list : addr_expr : component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data1: integer_cst 64: field_decl perm: integer_cst 256: record_type : type_decl Data2: block : function_decl __base_ctor : bind_expr : statement_list : expr_stmt : convert_expr : modify_expr : component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data1: integer_cst 64: field_decl _vptr.Data1: integer_cst 64: pointer_type : pointer_type : type_decl __vtbl_ptr_type: function_type : integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: pointer_plus_expr : addr_expr : var_decl _ZTV5Data1: integer_cst 384: constructor : array_type : pointer_type : type_decl __vtbl_ptr_type: function_type : integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: integer_type : integer_cst 64: integer_cst 0: integer_cst 5: integer_cst 0: addr_expr : var_decl _ZTI5Data1: integer_cst 128: record_type : type_decl __class_type_info_pseudo: addr_expr : function_decl __comp_dtor : addr_expr : function_decl __deleting_dtor : addr_expr : function_decl getData3: addr_expr : function_decl getData6: array_type : pointer_type : type_decl __vtbl_ptr_type: function_type : integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: integer_type : integer_cst 64: integer_cst 0: integer_cst 5: integer_cst 16: expr_stmt : call_expr : addr_expr : function_decl __comp_ctor : statement_list : addr_expr : component_ref : indirect_ref : parm_decl this: pointer_type : record_type : type_decl Data1: integer_cst 64: field_decl perm: integer_cst 256: record_type : type_decl Data2: block : function_decl __comp_ctor : statement_list : function_decl func6: bind_expr : ptr1, statement_list : ptr1, decl_expr : ptr1, var_decl var1: ptr1, integer_cst 576: ptr1, record_type : ptr1, type_decl Data1: ptr1, expr_stmt : ptr1, call_expr : ptr1, addr_expr : ptr1, function_decl __comp_ctor : ptr1, statement_list : ptr1, addr_expr : ptr1, var_decl var1: ptr1, integer_cst 576: ptr1, record_type : ptr1, type_decl Data1: ptr1, cleanup_stmt : ptr1, statement_list : ptr1, expr_stmt : ptr1, convert_expr : ptr1, modify_expr : ptr1, component_ref : ptr1, var_decl var1: ptr1, integer_cst 576: ptr1, record_type : ptr1, type_decl Data1: ptr1, field_decl ptrval: ptr1, integer_cst 64: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, parm_decl ptr1: ptr1, pointer_type : ptr1, record_type : ptr1, type_decl Data1: ptr1, integer_cst 64: ptr1, call_expr : ptr1, addr_expr : ptr1, function_decl __comp_dtor : ptr1, addr_expr : ptr1, var_decl var1: ptr1, integer_cst 576: ptr1, record_type : ptr1, type_decl Data1: ptr1, var_decl var1: ptr1, integer_cst 576: ptr1, record_type : ptr1, type_decl Data1: ptr1, var_decl var1: ptr1, integer_cst 576: ptr1, record_type : ptr1, type_decl Data1: ptr1, block : ptr1, var_decl var1: ptr1, integer_cst 576: ptr1, record_type : ptr1, type_decl Data1: ptr1,