funcpointer.c: (in function func2) funcpointer.c:13:27: Possibly null storage returned as non-null: (int *)malloc(sizeof(int)) funcpointer.c:13:27: Returned storage not completely defined (storage pointed to by [result of malloc] is undefined): (int *)malloc(sizeof(int)) funcpointer.c: (in function func5) funcpointer.c:19:28: Immediate address &i returned as implicitly only: &i funcpointer.c: (in function main) funcpointer.c:28:3: Assignment of [function (void) returns int] to f1: t1 = func1 funcpointer.c:29:3: Assignment of [function (void) returns int ***] to f1: t1 = func4 funcpointer.c:33:3: Assignment of [function (void) returns int *] to f2: t2 = func2 funcpointer.c:36:3: Assignment of [function (void) returns int **] to f3 *: t3p = func3 funcpointer.c:38:3: Assignment of [function (void) returns int *] to f4 *: t4 = func2 funcpointer.c:41:7: Call to non-function (type f1): (t1) funcpointer.c:43:3: Assignment of int *** to int *: xp = (*t1)() funcpointer.c:44:8: Call to non-function (type f4 *): (t4) funcpointer.c:46:3: Assignment of [function (void) returns int] to f6: t6 = func1 funcpointer.c:46:3: Invalid left-hand side of assignment (function type f6): t6 funcpointer.c:47:3: Invalid left-hand side of assignment (function type f6): t6 funcpointer.c:48:10: Function (t6) called with 0 args, expects 2 funcpointer.c:49:10: Function (t6) called with 1 args, expects 2 funcpointer.c:50:11: Function (t6) called with 1 args, expects 2 funcpointer.c:50:10: Function ((t6)(3)) called with 0 args, expects 1 Finished checking --- 18 code warnings, as expected