2 employee.c: (in function employee_setName)
3 employee.c:17: Parameter 1 (e->name) to function strcpy is declared unique but
4 may be aliased externally by parameter 2 (na)
5 eref.c: (in function eref_alloc)
6 eref.c:19: Unqualified storage eref_Pool.conts passed as only param:
7 realloc (eref_Pool.conts, ...)
8 eref.c:29: Unqualified storage eref_Pool.status passed as only param:
9 realloc (eref_Pool.status, ...)
10 eref.c:45: Storage eref_Pool.status reachable from global is only (should be
12 eref.c:29: Storage eref_Pool.status becomes only
13 eref.c:45: Storage eref_Pool.conts reachable from global is only (should be
15 eref.c:19: Storage eref_Pool.conts becomes only
16 eref.c: (in function eref_initMod)
17 eref.c:84: Storage eref_Pool.conts reachable from global is fresh (should be
19 eref.c:62: Fresh storage eref_Pool.conts created
20 eref.c:84: Global storage *(eref_Pool.conts) contains 5 undefined fields when
21 call returns: ssNum, name, salary, gen, j
22 eref.c:84: Storage eref_Pool.status reachable from global is fresh (should be
24 eref.c:70: Fresh storage eref_Pool.status created
25 eref.c:84: Global storage eref_Pool contains 1 undefined field when call
27 erc.c: (in function erc_create)
28 erc.c:33: Null storage c->vals derivable from return value: c
29 erc.c:31: Storage c->vals becomes null
30 erc.c:33: Fresh storage returned as unqualified (should be only): c
31 erc.c:23: Fresh storage c created
32 erc.c: (in function erc_clear)
33 erc.c:49: Function returns with null storage derivable from parameter c->vals
34 erc.c:47: Storage c->vals becomes null
35 erc.c: (in function erc_final)
36 erc.c:54: Implicitly temp storage c passed as only param: free (c)
37 erc.c: (in function erc_delete)
38 erc.c:102: Released storage c->vals reachable from parameter at return point
39 erc.c:100: Storage c->vals released
40 erc.c: (in function erc_sprint)
41 erc.c:141: Fresh storage returned as unqualified (should be only): result
42 erc.c:122: Fresh storage result created
44 Finished checking --- 15 code warnings, as expected
46 employee.c: (in function employee_setName)
47 employee.c:17: Parameter 1 (e->name) to function strcpy is declared unique but
48 may be aliased externally by parameter 2 (na)
49 eref.c: (in function eref_initMod)
50 eref.c:62: Implicitly only storage eref_Pool.conts (type employee *) not
51 released before assignment: eref_Pool.conts = (employee *)malloc(size *
53 eref.c:70: Implicitly only storage eref_Pool.status (type eref_status *) not
54 released before assignment: eref_Pool.status = (eref_status *)malloc(size *
56 eref.c:84: Global storage *(eref_Pool.conts) contains 5 undefined fields when
57 call returns: ssNum, name, salary, gen, j
58 eref.c:84: Global storage eref_Pool contains 1 undefined field when call
60 empset.c: (in function empset_intersect)
61 empset.c:126: Fresh storage toDelete not released before return
62 empset.c:112: Fresh storage toDelete created
63 erc.c: (in function erc_create)
64 erc.c:33: Null storage c->vals derivable from return value: c
65 erc.c:31: Storage c->vals becomes null
66 erc.c: (in function erc_clear)
67 erc.c:49: Function returns with null storage derivable from parameter c->vals
68 erc.c:47: Storage c->vals becomes null
69 erc.c: (in function erc_final)
70 erc.c:54: Implicitly temp storage c passed as only param: free (c)
71 erc.c: (in function erc_delete)
72 erc.c:98: Implicitly only storage prev->next (type struct _elem *) not released
73 before assignment: prev->next = elem->next
74 erc.c:98: Clauses exit with elem referencing implicitly only storage in true
75 branch, local storage in false branch
76 erc.c:96: Storage elem becomes implicitly only (through alias c->vals)
77 erc.c:102: Released storage c->vals reachable from parameter at return point
78 erc.c:100: Storage c->vals released
79 drive.c: (in function main)
80 drive.c:49: Variable m_res name is not a macro variable (it is a local
81 variable), but matches the macro variable namespace prefix "m_"
82 drive.c:65: Variable m_res name is not a macro variable (it is a local
83 variable), but matches the macro variable namespace prefix "m_"
84 drive.c:83: Variable m_res name is not a macro variable (it is a local
85 variable), but matches the macro variable namespace prefix "m_"
86 drive.c:120: Variable m_res name is not a macro variable (it is a local
87 variable), but matches the macro variable namespace prefix "m_"
88 drive.c:124: Variable m_res name is not a macro variable (it is a local
89 variable), but matches the macro variable namespace prefix "m_"
90 drive.c:135: Variable m_res name is not a macro variable (it is a local
91 variable), but matches the macro variable namespace prefix "m_"
92 drive.c:140: Fresh storage em1 (type empset) not released before assignment:
94 drive.c:35: Fresh storage em1 created
95 drive.c:146: Fresh storage em2 (type empset) not released before assignment:
97 drive.c:74: Fresh storage em2 created
98 drive.c:147: Fresh storage em3 (type empset) not released before assignment:
99 em3 = empset_disjointUnion(em2, em1)
100 drive.c:87: Fresh storage em3 created
101 drive.c:159: Variable m_res name is not a macro variable (it is a local
102 variable), but matches the macro variable namespace prefix "m_"
103 drive.c:163: Fresh storage em1 not released before return
104 drive.c:140: Fresh storage em1 created
105 drive.c:163: Fresh storage em2 not released before return
106 drive.c:146: Fresh storage em2 created
107 drive.c:163: Fresh storage em3 not released before return
108 drive.c:147: Fresh storage em3 created
110 Finished checking --- 25 code warnings, as expected
112 Finished checking --- no warnings