function_decl ftest1: bind_expr : return_expr : modify_expr : result_decl : integer_type : type_decl int: integer_cst 32: integer_cst -2147483648: integer_cst 2147483647: integer_cst 32: integer_cst 1: block : function_decl ftest2: bind_expr : ptr0, return_expr : ptr0, modify_expr : ptr0, result_decl : ptr0, integer_type : ptr0, type_decl int: ptr0, integer_cst 32: ptr0, integer_cst -2147483648: ptr0, integer_cst 2147483647: ptr0, integer_cst 32: ptr0, integer_cst 1: ptr0, block : ptr0, function_decl ftest3: bind_expr : ptr0, statement_list : ptr0, block : ptr0, function_decl func1: bind_expr : ptr1, call_expr : ptr1, parm_decl ptr1: ptr1, pointer_type : ptr1, type_decl FuncPtr1: ptr1, function_type : ptr1, void_type : ptr1, type_decl void: ptr1, tree_list : ptr1, void_type : ptr1, type_decl void: ptr1, integer_cst 64: ptr1, test24.c: In function 'func1': test24.c:33:5: warning: Using variable 'ptr1' without checking for null pointer ptr1(); ^ block : ptr1, function_decl func2: bind_expr : ptr1, statement_list : ptr1, decl_expr : ptr1, var_decl fptr2: fptr2, ptr1, integer_cst 64: fptr2, ptr1, pointer_type : fptr2, ptr1, type_decl FuncPtr2: fptr2, ptr1, function_type : fptr2, ptr1, void_type : fptr2, ptr1, type_decl void: fptr2, ptr1, tree_list : fptr2, ptr1, pointer_type : fptr2, ptr1, record_type : fptr2, ptr1, tree_list : fptr2, ptr1, void_type : fptr2, ptr1, call_expr : fptr2, ptr1, var_decl fptr2: fptr2, ptr1, integer_cst 64: fptr2, ptr1, pointer_type : fptr2, ptr1, type_decl FuncPtr2: fptr2, ptr1, function_type : fptr2, ptr1, void_type : fptr2, ptr1, type_decl void: fptr2, ptr1, tree_list : fptr2, ptr1, pointer_type : fptr2, ptr1, record_type : fptr2, ptr1, tree_list : fptr2, ptr1, void_type : fptr2, ptr1, parm_decl ptr1: fptr2, ptr1, pointer_type : fptr2, ptr1, record_type : fptr2, ptr1, identifier_node Data1: fptr2, ptr1, integer_cst 64: fptr2, ptr1, var_decl fptr2: ptr1, integer_cst 64: fptr2, ptr1, pointer_type : fptr2, ptr1, type_decl FuncPtr2: fptr2, ptr1, function_type : fptr2, ptr1, void_type : fptr2, ptr1, type_decl void: fptr2, ptr1, tree_list : fptr2, ptr1, pointer_type : fptr2, ptr1, record_type : fptr2, ptr1, tree_list : fptr2, ptr1, void_type : fptr2, ptr1, block : fptr2, ptr1, var_decl fptr2: fptr2, ptr1, integer_cst 64: fptr2, ptr1, pointer_type : fptr2, ptr1, type_decl FuncPtr2: fptr2, ptr1, function_type : fptr2, ptr1, void_type : fptr2, ptr1, type_decl void: fptr2, ptr1, tree_list : fptr2, ptr1, pointer_type : fptr2, ptr1, record_type : fptr2, ptr1, tree_list : fptr2, ptr1, void_type : fptr2, ptr1, function_decl func3: bind_expr : ptr1, statement_list : ptr1, decl_expr : ptr1, var_decl data: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, call_expr : data, ptr1, component_ref : data, ptr1, indirect_ref : data, ptr1, var_decl data: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, field_decl fptr1: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, type_decl FuncPtr2: data, ptr1, function_type : data, ptr1, void_type : data, ptr1, type_decl void: data, ptr1, tree_list : data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, tree_list : data, ptr1, void_type : data, ptr1, test24.c: In function 'func3': test24.c:45:5: warning: Using variable 'data' without checking for null pointer data->fptr1(ptr1); ^ test24.c:45:5: warning: Using variable 'data->fptr1' without checking for null pointer parm_decl ptr1: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, integer_cst 64: data, ptr1, var_decl data: ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, block : data, ptr1, var_decl data: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, function_decl func4: bind_expr : ptr1, statement_list : ptr1, decl_expr : ptr1, var_decl ptr2: ptr1, ptr2, integer_cst 64: ptr1, ptr2, pointer_type : ptr1, ptr2, record_type : ptr1, ptr2, identifier_node Data1: ptr1, ptr2, call_expr : ptr1, ptr2, component_ref : ptr1, ptr2, indirect_ref : ptr1, ptr2, parm_decl ptr1: ptr1, ptr2, pointer_type : ptr1, ptr2, record_type : ptr1, ptr2, identifier_node Data1: ptr1, ptr2, integer_cst 64: ptr1, ptr2, field_decl fptr1: ptr1, ptr2, integer_cst 64: ptr1, ptr2, pointer_type : ptr1, ptr2, type_decl FuncPtr2: ptr1, ptr2, function_type : ptr1, ptr2, void_type : ptr1, ptr2, type_decl void: ptr1, ptr2, tree_list : ptr1, ptr2, pointer_type : ptr1, ptr2, record_type : ptr1, ptr2, tree_list : ptr1, ptr2, void_type : ptr1, ptr2, test24.c: In function 'func4': test24.c:51:5: warning: Using variable 'ptr1' without checking for null pointer ptr1->fptr1(ptr2); ^ test24.c:51:5: warning: Using variable 'ptr1->fptr1' without checking for null pointer var_decl ptr2: ptr1, ptr2, integer_cst 64: ptr1, ptr2, pointer_type : ptr1, ptr2, record_type : ptr1, ptr2, identifier_node Data1: ptr1, ptr2, var_decl ptr2: ptr1, integer_cst 64: ptr1, ptr2, pointer_type : ptr1, ptr2, record_type : ptr1, ptr2, identifier_node Data1: ptr1, ptr2, block : ptr1, ptr2, var_decl ptr2: ptr1, ptr2, integer_cst 64: ptr1, ptr2, pointer_type : ptr1, ptr2, record_type : ptr1, ptr2, identifier_node Data1: ptr1, ptr2, function_decl func5: bind_expr : ptr1, statement_list : ptr1, decl_expr : ptr1, var_decl data: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, call_expr : data, ptr1, array_ref : data, ptr1, test24.c: In function 'func5': test24.c:58:5: warning: Using variable 'data' without checking for null pointer (*data->fptr2[1])(ptr1); ^ test24.c:58:5: warning: Using variable 'data->fptr2' without checking for null pointer integer_cst 0: data, ptr1, integer_cst 8: data, ptr1, component_ref : data, ptr1, indirect_ref : data, ptr1, var_decl data: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, field_decl fptr2: data, ptr1, integer_cst 192: data, ptr1, array_type : data, ptr1, pointer_type : data, ptr1, type_decl FuncPtr2: data, ptr1, function_type : data, ptr1, void_type : data, ptr1, type_decl void: data, ptr1, tree_list : data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, tree_list : data, ptr1, void_type : data, ptr1, integer_type : data, ptr1, integer_cst 64: data, ptr1, integer_cst 0: data, ptr1, integer_cst 2: data, ptr1, integer_cst 1: data, ptr1, test24.c:58:5: warning: Using variable 'data' without checking for null pointer test24.c:58:5: warning: Using variable 'data->fptr2' without checking for null pointer test24.c:58:5: warning: Using variable 'ptr1' without checking for null pointer parm_decl ptr1: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, integer_cst 64: data, ptr1, var_decl data: ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, block : data, ptr1, var_decl data: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, function_decl func6: bind_expr : ptr1, statement_list : ptr1, decl_expr : ptr1, var_decl data: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, call_expr : data, ptr1, indirect_ref : data, ptr1, pointer_plus_expr : data, ptr1, test24.c: In function 'func6': test24.c:64:11: warning: Using variable 'ptr1' without checking for null pointer (*ptr1[1])(data); ^ parm_decl ptr1: data, ptr1, pointer_type : data, ptr1, pointer_type : data, ptr1, type_decl FuncPtr2: data, ptr1, function_type : data, ptr1, void_type : data, ptr1, type_decl void: data, ptr1, tree_list : data, ptr1, pointer_type : data, ptr1, tree_list : data, ptr1, integer_cst 64: data, ptr1, integer_cst 8: data, ptr1, test24.c:64:5: warning: Using variable 'data' without checking for null pointer (*ptr1[1])(data); ^ var_decl data: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, var_decl data: ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, block : data, ptr1, var_decl data: data, ptr1, integer_cst 64: data, ptr1, pointer_type : data, ptr1, record_type : data, ptr1, identifier_node Data1: data, ptr1, function_decl test1: bind_expr : w1, w2, statement_list : w1, w2, block : w1, w2, function_decl func7: bind_expr : w1, w2, statement_list : w1, w2, decl_expr : 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, 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, decl_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, modify_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 0: w1, w2, goto_expr : w1, w2, label_expr : w1, w2, label_decl : w1, w2, cond_expr : w1, w2, ne_expr : w1, w2, integer_cst 0: w1, w2, call_expr : w1, w2, array_ref : w1, w2, integer_cst 0: w1, w2, integer_cst 8: 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, 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, test24.c: In function 'func7': test24.c:80:13: warning: Using variable 'w1' without checking for null pointer if ((*fptr[i])(w1,w2)) ^ parm_decl w1: w1, w2, pointer_type : w1, w2, integer_type : w1, w2, type_decl char: w1, w2, integer_cst 8: w1, w2, integer_cst -128: w1, w2, integer_cst 127: w1, w2, integer_cst 64: w1, w2, parm_decl w2: w1, w2, pointer_type : w1, w2, integer_type : w1, w2, type_decl char: w1, w2, integer_cst 8: w1, w2, integer_cst -128: w1, w2, integer_cst 127: w1, w2, integer_cst 64: w1, w2, integer_cst 0: w1, w2, goto_expr : w1, w2, postincrement_expr : 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 : cond_expr : 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 : var_decl fptr: 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 : 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: 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 : 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, indirect_ref : fptr, pointer_plus_expr : fptr, test24.c: In function 'func8': test24.c:87:9: warning: Using variable 'fptr' without checking for null pointer fptr[1]("", ""); ^ parm_decl fptr: fptr, pointer_type : fptr, pointer_type : fptr, function_type : fptr, integer_type : fptr, type_decl int: fptr, integer_cst 32: fptr, integer_cst -2147483648: fptr, integer_cst 2147483647: fptr, tree_list : fptr, pointer_type : fptr, tree_list : fptr, integer_cst 64: fptr, integer_cst 8: fptr, addr_expr : fptr, string_cst : fptr, addr_expr : fptr, string_cst : fptr, block : fptr,