
specclauses.c: (in function f)
specclauses.c:24:28: Only storage r.name (type char *) derived from variable
                        declared in this scope is not released (memory leak)
specclauses.c:28:24: Undefined storage r.name corresponds to storage listed in
                        uses clause of called function: r
specclauses.c:28:28: Only storage name not released before return
   specclauses.c:17:49: Storage name becomes only
specclauses.c:33:16: Allocated storage r.name corresponds to storage listed in
                        defines clause of called function: &r
specclauses.c:34:17: Only storage r.name (type char *) derived from variable
                        declared in this scope is not released (memory leak)
specclauses.c:40:23: Field r.name used after being released
   specclauses.c:39:17: Storage r.name released

Finished checking --- 6 code warnings, as expected

specclauses2.c:10:13: Allocates clauses includes r->year of non-dynamically
                         allocated type int
specclauses2.c: (in function allocYear)
specclauses2.c:14:2: Unallocated storage r->year corresponds to storage listed
                        in allocates clause
specclauses2.c: (in function setName1)
specclauses2.c:26:2: Undefined storage r->name corresponds to storage listed in
                        defines clause
specclauses2.c: (in function setName3)
specclauses2.c:37:2: Undefined storage r->name corresponds to storage listed in
                        sets clause
   This sub-reference is undefined: *(r->name)
specclauses2.c: (in function setName4)
specclauses2.c:42:3: Implicitly only storage r->name (type char *) not released
                        before assignment: r->name = name
specclauses2.c: (in function allocName2)
specclauses2.c:54:2: Unallocated storage r->name corresponds to storage listed
                        in allocates clause
specclauses2.c: (in function freeName2)
specclauses2.c:65:2: Unreleased storage r.name corresponds to storage listed in
                        releases clause
specclauses2.c: (in function freeName4)
specclauses2.c:76:2: Unreleased storage r->name corresponds to storage listed
                        in releases clause

Finished checking --- 8 code warnings, as expected

specclauses3.c:7:6: Special clause accesses field of non-struct or union result
                       (int): *(result).name
specclauses3.c: (in function badResult)
specclauses3.c:12:10: Null storage returned as non-null: NULL
specclauses3.c: (in function createName2)
specclauses3.c:29:10: Undefined storage res->name corresponds to storage
                         result->name listed in defines clause: res
specclauses3.c:29:10: Possibly null storage res returned as non-null: res
   specclauses3.c:28:16: Storage res may become null
specclauses3.c: (in function createName4)
specclauses3.c:55:10: Unallocated storage res->name corresponds to storage
                         result->name listed in allocates clause: res

Finished checking --- 5 code warnings, as expected

specclauses4.c: (in function usename)
specclauses4.c:13:4: Dereference of null pointer *name: **name
   specclauses4.c:11:8: Storage *name becomes null
specclauses4.c: (in function callname)
specclauses4.c:27:12: Non-null storage *s corresponds to storage listed in
                         requires isnull clause of called function: s
specclauses4.c: (in function nullname2)
specclauses4.c:42:2: Non-null storage *name corresponds to storage listed in
                        ensures isnull clause

Finished checking --- 3 code warnings, as expected

specclauses5.c: (in function createrecord2)
specclauses5.c:31:10: Null storage r->name derivable from return value: r
   specclauses5.c:30:14: Storage r->name becomes null
specclauses5.c: (in function newrecord2)
specclauses5.c:43:10: Non-observer storage r->name corresponds to storage
                         result->name listed in ensures observer clause: r
specclauses5.c: (in function createrecordx)
specclauses5.c:49:10: Observer storage r->name reachable from unqualified
                         return value
   specclauses5.c:48:14: Storage r->name becomes observer

Finished checking --- 3 code warnings, as expected
