refcounts.c: (in function rp_release) refcounts.c:18:13: Reference counted storage passed as only param: free (x) refcounts.c: (in function rp_temp) refcounts.c:24:10: New reference returned as temp reference: rp_create2() refcounts.c: (in function rp_f) refcounts.c:32:3: Kill reference parameter r2 (type rp) not released before assignment: r2 = rp_temp() refcounts.c:27:50: Storage r2 becomes killref refcounts.c: (in function rp_ref) refcounts.c:48:10: Reference counted storage returned without modifying reference count: x refcounts.c: (in function rp_waste) refcounts.c:63:13: New reference z2 not released before return refcounts.c:60:23: Storage z2 becomes newref refcounts.c: (in function rp_waste2) refcounts.c:71:3: New reference z2 (type rp) not released before assignment: z2 = rp_ref(z1) refcounts.c:69:23: Storage z2 becomes newref refcounts.c:72:13: New reference z2 not released before return refcounts.c:71:3: Storage z2 becomes newref Finished checking --- 7 code warnings, as expected