
observer.c: (in function stx_name)
observer.c:9:10: Function returns reference to parameter x: (x->name)
observer.c:9:10: Return value exposes rep of stx: (x->name)
observer.c:9:20: Released storage x->name reachable from parameter at return
                    point
   observer.c:9:10: Storage x->name released
observer.c: (in function f)
observer.c:33:3: Suspect modification of observer s: *s = 'x'
   observer.c:32:7: Storage *s becomes observer
observer.c:34:9: Function call may modify observer s: s
   observer.c:32:7: Storage s becomes observer
observer.c:34:9: Observer storage s passed as only param: free (s)
   observer.c:32:7: Storage s becomes observer
observer.c:38:9: Exposed storage s passed as only param: free (s)
   observer.c:36:3: Storage s becomes exposed
observer.c:41:10: Observer storage *s reachable from unqualified return value
   observer.c:40:7: Storage *s becomes observer
observer.c:41:10: Observer storage s returned without qualification: s
   observer.c:40:7: Storage s becomes observer

Finished checking --- 9 code warnings, as expected

observer.c: (in function stx_name)
observer.c:9:10: Function returns reference to parameter x: (x->name)
observer.c:9:20: Released storage x->name reachable from parameter at return
                    point
   observer.c:9:10: Storage x->name released
observer.c: (in function f)
observer.c:33:3: Suspect modification of observer s: *s = 'x'
   observer.c:32:7: Storage *s becomes observer
observer.c:34:9: Function call may modify observer s: s
   observer.c:32:7: Storage s becomes observer
observer.c:34:9: Observer storage s passed as only param: free (s)
   observer.c:32:7: Storage s becomes observer
observer.c:38:9: Exposed storage s passed as only param: free (s)
   observer.c:36:3: Storage s becomes exposed
observer.c:41:10: Observer storage *s reachable from unqualified return value
   observer.c:40:7: Storage *s becomes observer
observer.c:41:10: Observer storage s returned without qualification: s
   observer.c:40:7: Storage s becomes observer

Finished checking --- 8 code warnings, as expected

observer.c: (in function stx_name)
observer.c:9:20: Released storage x->name reachable from parameter at return
                    point
   observer.c:9:10: Storage x->name released
observer.c: (in function f)
observer.c:33:3: Suspect modification of observer s: *s = 'x'
   observer.c:32:7: Storage *s becomes observer
observer.c:34:9: Function call may modify observer s: s
   observer.c:32:7: Storage s becomes observer
observer.c:34:9: Observer storage s passed as only param: free (s)
   observer.c:32:7: Storage s becomes observer
observer.c:38:9: Exposed storage s passed as only param: free (s)
   observer.c:36:3: Storage s becomes exposed
observer.c:41:10: Observer storage *s reachable from unqualified return value
   observer.c:40:7: Storage *s becomes observer
observer.c:41:10: Observer storage s returned without qualification: s
   observer.c:40:7: Storage s becomes observer

Finished checking --- 7 code warnings, as expected
