
fields.c: (in function pair_create1)
fields.c:37:10: Storage p->z reachable from return value is owned (should be
                   dependent)
   fields.c:34:3: Storage p->z becomes owned (through alias p->y)
fields.c: (in function mangle)
fields.c:43:2: Released storage p->x reachable from parameter at return point
   fields.c:42:9: Storage p->x released
fields.c: (in function mangle2)
fields.c:49:2: Storage p->y reachable from parameter is dependent (should be
                  owned)
   fields.c:48:3: Storage p->y becomes dependent
fields.c: (in function mangle3)
fields.c:55:10: Storage p->y reachable from return value is dependent (should
                   be owned)
   fields.c:54:3: Storage p->y becomes dependent
fields.c: (in function f)
fields.c:60:3: Owned storage p->x (type int *) not released before assignment:
                  p->x = NULL
fields.c:62:18: Function returns with null storage derivable from parameter
                   p->x
   fields.c:60:10: Storage p->x becomes null

Finished checking --- 6 code warnings, as expected

fields2.c: (in function pair_copy)
fields2.c:21:16: Storage p->x reachable from parameter is kept (should be
                    implicitly only)
   fields2.c:17:3: Storage p->x becomes kept
fields2.c:21:16: Storage p->y reachable from parameter is kept (should be
                    implicitly only)
   fields2.c:18:3: Storage p->y becomes kept
fields2.c: (in function pair_create)
fields2.c:30:3: Only storage p->y assigned to dependent: p->z = p->y
fields2.c:35:10: Storage p->y reachable from return value is unqualified
                    (should be implicitly only)
fields2.c: (in function pair_swankle)
fields2.c:43:14: Storage p->x reachable from passed parameter is kept (should
                    be implicitly only): p
   fields2.c:42:3: Storage p->x becomes kept

Finished checking --- 5 code warnings, as expected

Finished checking --- no warnings
