]> andersk Git - splint.git/blob - test/db1.expect
Apparently splint does not correctly handle the case in which a #defined constant...
[splint.git] / test / db1.expect
1
2 employee.c: (in function employee_equal)
3 employee.c:25: Function strncmp expects arg 3 to be size_t gets int:
4                   maxEmployeeName
5 empset.c: (in function empset_insert)
6 empset.c:28: Variable er declared but not used
7 empset.c: (in function empset_disjointUnion)
8 empset.c:85: Undocumented modification of s1 possible from call to
9                 erc_iterStart (through alias s2): erc_iterStart(s2)
10 empset.c:85: Undocumented modification of s2 possible from call to
11                 erc_iterStart: erc_iterStart(s2)
12 empset.c: (in function empset_union)
13 empset.c:108: Undocumented modification of s2 possible from call to
14                  erc_iterStart (through alias s1): erc_iterStart(s1)
15 empset.c:108: Undocumented modification of s1 possible from call to
16                  erc_iterStart: erc_iterStart(s1)
17 empset.c: (in function empset_subset)
18 empset.c:139: Undocumented modification of s1 possible from call to
19                  erc_iterStart: erc_iterStart(s1)
20 empset.c:135: Variable e declared but not used
21 ereftab.c: (in function ereftab_lookup)
22 ereftab.c:34: Undocumented modification of t possible from call to
23                  erc_iterStart: erc_iterStart(t)
24 erc.c: (in function erc_member)
25 erc.c:47: Operands of == are abstract type (eref): tmpc->val == er
26 erc.c: (in function erc_delete)
27 erc.c:78: Operands of == are abstract type (eref): elem->val == er
28 erc.c: (in function erc_sprint)
29 erc.c:141: Function malloc expects arg 1 to be size_t gets int:
30               erc_size(c) * (employeePrintSize + 1) + 1
31 erc.c:151: Undocumented modification of c possible from call to erc_iterStart:
32               erc_iterStart(c)
33 dbase.c: (in function query)
34 dbase.c:210: Variable er declared but not used
35 dbase.c:211: Variable e declared but not used
36 drive.c: (in function main)
37 drive.c:123: Return value (type db_status) ignored: hire(e)
38
39 Finished checking --- 16 code warnings, as expected
40
41 employee.h:2: Name EMPLOYEE_H is reserved for future library extensions. Macros
42     beginning with E and a digit or uppercase letter may be added to <errno.h>.
43     (ISO99:7.26.3)
44 eref.h:2: Name EREF_H is reserved for future library extensions. Macros
45     beginning with E and a digit or uppercase letter may be added to <errno.h>.
46     (ISO99:7.26.3)
47 empset.h:2: Name EMPSET_H is reserved for future library extensions. Macros
48     beginning with E and a digit or uppercase letter may be added to <errno.h>.
49     (ISO99:7.26.3)
50 erc.h:2: Name ERC_H is reserved for future library extensions. Macros beginning
51     with E and a digit or uppercase letter may be added to <errno.h>.
52     (ISO99:7.26.3)
53 ereftab.h:4: Name EREFTAB_H is reserved for future library extensions. Macros
54     beginning with E and a digit or uppercase letter may be added to <errno.h>.
55     (ISO99:7.26.3)
56 bool.h:20: Modifies list for bool_initMod uses global internal state, not
57               included in globals list.
58    bool.h:20: Declaration of bool_initMod
59 employee.h:12: Declaration parameter has name: p_e
60 employee.c:5: Definition parameter name e does not match name of corresponding
61                  parameter in declaration: p_e
62    employee.h:12: Previous declaration of p_e
63 employee.c: (in function employee_setName)
64 employee.c:12: Undefined storage e->name corresponds to storage listed in sets
65                   clause
66    This sub-reference is undefined: *(e->name)
67 employee.c:12: Body of if statement is not a block: return FALSE
68 employee.c:15: Parameter 1 (e->name) to function strcpy is declared unique but
69                   may be aliased externally by parameter 2 (na)
70 employee.c: (in function employee_equal)
71 employee.c:25: Function strncmp expects arg 3 to be size_t gets int:
72                   maxEmployeeName
73 employee.c: (in function employee_sprint)
74 employee.c:30: Read-only string literal storage used as initial value for
75                   unqualified storage: gender[0] = "male"
76 employee.c:30: Read-only string literal storage used as initial value for
77                   unqualified storage: gender[1] = "female"
78 employee.c:30: Read-only string literal storage used as initial value for
79                   unqualified storage: gender[2] = "?"
80 employee.c:31: Read-only string literal storage used as initial value for
81                   unqualified storage: jobs[0] = "manager"
82 employee.c:31: Read-only string literal storage used as initial value for
83                   unqualified storage: jobs[1] = "non-manager"
84 employee.c:31: Read-only string literal storage used as initial value for
85                   unqualified storage: jobs[2] = "?"
86 employee.c:34: Array fetch using non-integer, gender: gender[e.gen]
87 employee.c:34: Array fetch using non-integer, job: jobs[e.j]
88 employee.h: (in macro employee_initMod)
89 employee.h:15: Called procedure bool_initMod may access internal state, but
90                   globals list does not include globals internalState
91 employee.h:15: Undocumented modification of internal state possible from call
92                   to bool_initMod: bool_initMod()
93 eref.h:9: Constant exported, but not specified: used
94 eref.h:9: Constant exported, but not specified: avail
95 eref.h:9: Type exported, but not specified: eref_status
96 eref.h:14: Type exported, but not specified: eref_ERP
97 eref.h:17: Variable exported, but not specified: eref_Pool
98 eref.c: (in function eref_alloc)
99 eref.c:12: Undocumented use of global eref_Pool
100 eref.c:12: Undocumented use of global eref_Pool
101 eref.c:12: Body of for statement is empty
102 eref.c:12: Undocumented use of global eref_Pool (in post loop test)
103 eref.c:16: Undocumented use of global eref_Pool
104 eref.c:18: Undocumented use of global eref_Pool
105 eref.c:19: Undocumented use of global eref_Pool
106 eref.c:20: Undocumented use of global eref_Pool
107 eref.c:20: Parameter to sizeof is type employee: sizeof(employee)
108 eref.c:19: Undocumented modification of *(eref_Pool.conts) possible from call
109     to realloc: realloc(eref_Pool.conts, 2 * eref_Pool.size * sizeof(employee))
110 eref.c:18: Undocumented modification of eref_Pool.conts:
111     eref_Pool.conts = (employee *)realloc(eref_Pool.conts, 2 * eref_Pool.size *
112     sizeof(employee))
113 eref.c:22: Undocumented use of global eref_Pool
114 eref.c:25: Argument to exit has implementation defined behavior: 1
115 eref.c:28: Undocumented use of global eref_Pool
116 eref.c:29: Undocumented use of global eref_Pool
117 eref.c:30: Undocumented use of global eref_Pool
118 eref.c:30: Parameter to sizeof is type eref_status: sizeof(eref_status)
119 eref.c:29: Undocumented modification of *(eref_Pool.status) possible from call
120     to realloc: realloc(eref_Pool.status, 2 * eref_Pool.size *
121     sizeof(eref_status))
122 eref.c:28: Undocumented modification of eref_Pool.status:
123     eref_Pool.status = (eref_status *)realloc(eref_Pool.status, 2 *
124     eref_Pool.size * sizeof(eref_status))
125 eref.c:32: Undocumented use of global eref_Pool
126 eref.c:35: Argument to exit has implementation defined behavior: 1
127 eref.c:38: Undocumented use of global eref_Pool
128 eref.c:38: Undocumented use of global eref_Pool
129 eref.c:38: Undocumented modification of eref_Pool.size:
130               eref_Pool.size = 2 * eref_Pool.size
131 eref.c:40: Undocumented use of global eref_Pool
132 eref.c:41: Undocumented use of global eref_Pool
133 eref.c:41: Undocumented modification of eref_Pool.status[]:
134               eref_Pool.status[i] = avail
135 eref.c:41: Body of for statement is not a block: eref_Pool.status[i] = avail;
136 eref.c:41: Undocumented use of global eref_Pool (in post loop test)
137 eref.c:44: Undocumented use of global eref_Pool
138 eref.c:44: Undocumented modification of eref_Pool.status[]:
139               eref_Pool.status[res] = used
140 eref.c: (in function eref_initMod)
141 eref.c:53: Undocumented use of file static needsInit
142 eref.c:58: Undocumented use of file static needsInit
143 eref.c:58: Undocumented modification of needsInit: needsInit = FALSE
144 eref.c:60: Statement has no effect: employee_initMod()
145 eref.c:62: Undocumented use of global eref_Pool
146 eref.c:62: Parameter to sizeof is type employee: sizeof(employee)
147 eref.c:62: Undocumented modification of eref_Pool.conts:
148               eref_Pool.conts = (employee *)malloc(size * sizeof(employee))
149 eref.c:62: Implicitly only storage eref_Pool.conts (type employee *) not
150     released before assignment: eref_Pool.conts = (employee *)malloc(size *
151     sizeof(employee))
152 eref.c:64: Undocumented use of global eref_Pool
153 eref.c:67: Argument to exit has implementation defined behavior: 1
154 eref.c:70: Undocumented use of global eref_Pool
155 eref.c:70: Parameter to sizeof is type eref_status: sizeof(eref_status)
156 eref.c:70: Undocumented modification of eref_Pool.status:
157     eref_Pool.status = (eref_status *)malloc(size * sizeof(eref_status))
158 eref.c:70: Implicitly only storage eref_Pool.status (type eref_status *) not
159     released before assignment: eref_Pool.status = (eref_status *)malloc(size *
160     sizeof(eref_status))
161 eref.c:72: Undocumented use of global eref_Pool
162 eref.c:75: Argument to exit has implementation defined behavior: 1
163 eref.c:78: Undocumented use of global eref_Pool
164 eref.c:78: Undocumented modification of eref_Pool.size: eref_Pool.size = size
165 eref.c:82: Undocumented use of global eref_Pool
166 eref.c:82: Undocumented modification of eref_Pool.status[]:
167               eref_Pool.status[i] = avail
168 eref.c:84: Global storage *(eref_Pool.conts) contains 5 undefined fields when
169               call returns: ssNum, name, salary, gen, j
170 eref.c:84: Global storage eref_Pool contains 1 undefined field when call
171               returns: status
172 eref.h: (in macro eref_free)
173 eref.h:23: Undocumented use of global eref_Pool
174 eref.h:23: Undocumented modification of eref_Pool.status[]:
175               eref_Pool.status[er] = avail
176 eref.h: (in macro eref_assign)
177 eref.h:24: Undocumented use of global eref_Pool
178 eref.h:24: Macro parameter used without parentheses: e
179 eref.h:24: Undocumented modification of eref_Pool.conts[]:
180               eref_Pool.conts[er] = e
181 eref.h: (in macro eref_get)
182 eref.h:25: Undocumented use of global eref_Pool
183 eref.h: (in macro eref_equal)
184 eref.h:26: Macro parameter used without parentheses: er1
185 eref.h:26: Macro parameter used without parentheses: er2
186 erc.h:6: Name _elem is in the implementation name space (any identifier
187             beginning with underscore)
188 erc.h:6: Type exported, but not specified: ercElem
189 erc.h:7: Type exported, but not specified: ercList
190 erc.h:8: Type exported, but not specified: ercInfo
191 empset.h:10: Variable exported, but not specified: known
192 empset.c:5: Name _empset_get is in the implementation name space (any
193                identifier beginning with underscore)
194 empset.c: (in function _empset_get)
195 empset.c:11: Undocumented modification of s possible from call to
196                 erc_iterStart: erc_iterStart(s)
197 empset.c:15: Body of if statement is not a block: do { { erc_iterFinal(it);
198                 return er } } while (FALSE);
199 empset.c: (in function empset_insert)
200 empset.c:30: Undetected modification possible from call to unconstrained
201                 function _empset_get: _empset_get
202 empset.c:28: Variable er declared but not used
203 empset.c: (in function empset_insertUnique)
204 empset.c:43: Undocumented use of global known
205 empset.c:49: Undocumented use of global known
206 empset.c:49: Undocumented modification of known possible from call to
207                 ereftab_insert: ereftab_insert(known, e, er)
208 empset.c: (in function empset_delete)
209 empset.c:59: Undetected modification possible from call to unconstrained
210                 function _empset_get: _empset_get
211 empset.c: (in function empset_disjointUnion)
212 empset.c:85: Undocumented modification of s1 possible from call to
213                 erc_iterStart (through alias s2): erc_iterStart(s2)
214 empset.c:85: Undocumented modification of s2 possible from call to
215                 erc_iterStart: erc_iterStart(s2)
216 empset.c:86: Body of for statement is not a block:
217                 empset_insertUnique(result, eref_get(er));
218 empset.c: (in function empset_union)
219 empset.c:108: Undocumented modification of s2 possible from call to
220                  erc_iterStart (through alias s1): erc_iterStart(s1)
221 empset.c:108: Undocumented modification of s1 possible from call to
222                  erc_iterStart: erc_iterStart(s1)
223 empset.c:110: Body of if statement is not a block: erc_insert(result, er);
224 empset.c:109: Body of for statement is not a block:
225                  if (!empset_member(eref_get(er), s2)) erc_insert(result, er);
226 empset.c: (in function empset_intersect)
227 empset.c:125: Body of if statement is not a block: erc_insert(toDelete, er);
228 empset.c:124: Body of for statement is not a block:
229     if (!empset_member(eref_get(er), s2)) erc_insert(toDelete, er);
230 empset.c:128: Return value (type bool) ignored: erc_delete(s1, er)
231 empset.c:128: Body of for statement is not a block: erc_delete(s1, er);
232 empset.c: (in function empset_subset)
233 empset.c:139: Undocumented modification of s1 possible from call to
234                  erc_iterStart: erc_iterStart(s1)
235 empset.c:141: Body of if statement is not a block: do { { erc_iterFinal(it);
236                  return FALSE } } while (FALSE);
237 empset.c:140: Body of for statement is not a block:
238     if (!empset_member(eref_get(er), s2)) do { { erc_iterFinal(it);
239     return FALSE } } while (FALSE);
240 empset.c:135: Variable e declared but not used
241 empset.c: (in function empset_initMod)
242 empset.c:148: Undocumented use of file static initDone
243 empset.c:148: Body of if statement is not a block: return
244 empset.c:151: Statement has no effect: employee_initMod()
245 empset.c:153: Statement has no effect: erc_initMod()
246 empset.c:154: Statement has no effect: ereftab_initMod()
247 empset.c:155: Undocumented use of global known
248 empset.c:155: Undocumented modification of known: known = ereftab_create()
249 empset.c:156: Undocumented use of file static initDone
250 empset.c:156: Undocumented modification of initDone: initDone = TRUE
251 empset.h: (in macro empset_member)
252 empset.h:30: Undetected modification possible from call to unconstrained
253                 function _empset_get: _empset_get
254 ereftab.c: (in function ereftab_delete)
255 ereftab.c:24: Return value (type bool) ignored: erc_delete(t, er)
256 ereftab.c: (in function ereftab_lookup)
257 ereftab.c:34: Undocumented modification of t possible from call to
258                  erc_iterStart: erc_iterStart(t)
259 ereftab.c:37: Body of if statement is not a block: return er
260 ereftab.c: (in function ereftab_initMod)
261 ereftab.c:47: Statement has no effect: erc_initMod()
262 erc.c: (in function erc_create)
263 erc.c:8: Parameter to sizeof is type ercInfo: sizeof(ercInfo)
264 erc.c:13: Argument to exit has implementation defined behavior: 1
265 erc.c:18: Null storage c->vals derivable from return value: c
266    erc.c:16: Storage c->vals becomes null
267 erc.c:18: Fresh storage returned as unqualified (should be only): c
268    erc.c:8: Fresh storage c allocated
269 erc.c: (in function erc_clear)
270 erc.c:34: Function returns with null storage derivable from parameter c->vals
271    erc.c:32: Storage c->vals becomes null
272 erc.c: (in function erc_final)
273 erc.c:39: Implicitly temp storage c passed as only param: free (c)
274 erc.c: (in function erc_member)
275 erc.c:47: Operands of == are abstract type (eref): tmpc->val == er
276 erc.c:47: Body of if statement is not a block: return TRUE
277 erc.c:47: Body of for statement is not a block:
278              if (tmpc->val == er) return TRUE
279 erc.c: (in function erc_insert)
280 erc.c:55: Parameter to sizeof is type ercElem: sizeof(ercElem)
281 erc.c:60: Argument to exit has implementation defined behavior: 1
282 erc.c: (in function erc_delete)
283 erc.c:78: Operands of == are abstract type (eref): elem->val == er
284 erc.c:83: Implicitly only storage prev->next (type struct _elem *) not released
285              before assignment: prev->next = elem->next
286 erc.c:84: Clauses exit with elem referencing implicitly only storage in true
287              branch, local storage in false branch
288    erc.c:81: Storage elem becomes implicitly only
289 erc.c:87: Released storage c->vals reachable from parameter at return point
290    erc.c:85: Storage c->vals is released
291 erc.c: (in function erc_iterStart)
292 erc.c:98: Parameter to sizeof is type ercList: sizeof(ercList)
293 erc.c:103: Argument to exit has implementation defined behavior: 1
294 erc.c:107: Fresh storage returned as unqualified (should be only): result
295    erc.c:98: Fresh storage result allocated
296 erc.c:108: Suspect object listed in modifies of erc_iterStart not modified: c
297    erc.lcl:49: Specification of erc_iterStart
298 erc.c: (in function erc_yield)
299 erc.c:117: Implicitly temp storage it passed as only param: free (it)
300 erc.c:117: Unreachable code: free(it)
301 erc.c:118: Variable it is released in true branch, but live in continuation.
302    erc.c:117: Storage it is released
303 erc.c:121: Only storage *it->next assigned to unqualified: *(it) = (*it)->next
304 erc.c: (in function erc_join)
305 erc.c:130: Body of for statement is not a block: erc_insert(c1, tmpc->val);
306 erc.c: (in function erc_sprint)
307 erc.c:141: Function malloc expects arg 1 to be size_t gets int:
308               erc_size(c) * (employeePrintSize + 1) + 1
309 erc.c:146: Argument to exit has implementation defined behavior: 1
310 erc.c:151: Undocumented modification of c possible from call to erc_iterStart:
311               erc_iterStart(c)
312 erc.c:159: Fresh storage returned as unqualified (should be only): result
313    erc.c:140: Fresh storage result allocated
314 erc.h: (in macro erc_choose)
315 erc.h:15: Macro parameter used without parentheses: c
316 erc.h: (in macro erc_initMod)
317 erc.h:16: Called procedure bool_initMod may access internal state, but globals
318              list does not include globals internalState
319 erc.h:16: Undocumented modification of internal state possible from call to
320              bool_initMod: bool_initMod()
321 erc.h:16: Statement has no effect: employee_initMod()
322 erc.h: (in macro erc_iterFinal)
323 erc.h:20: Only storage *it->next (type struct _elem *) derived from released
324              storage is not released (memory leak): it
325 erc.h:20: Implicitly temp storage it passed as only param: free (it)
326 dbase.c: (in function db_initMod)
327 dbase.c:21: Undocumented use of global initDone
328 dbase.c:27: Statement has no effect: employee_initMod()
329 dbase.c:29: Statement has no effect: erc_initMod()
330 dbase.c:30: Statement has no effect: empset_initMod()
331 dbase.c:32: Assignment of enum { mMGRS, fMGRS, mNON, fNON } to int: i = mMGRS
332 dbase.c:32: Operands of <= have incompatible types (int, enum { mMGRS, fMGRS,
333                mNON, fNON }): i <= fNON
334 dbase.c:34: Undocumented use of global db
335 dbase.c:34: Undocumented modification of db[]: db[i] = erc_create()
336 dbase.c:32: Incompatible types for <= (int, enum { mMGRS, fMGRS, mNON, fNON })
337                (in post loop test): i <= fNON
338 dbase.c:37: Undocumented use of global initDone
339 dbase.c:37: Undocumented modification of initDone: initDone = TRUE
340 dbase.c:40: Name _db_ercKeyGet is in the implementation name space (any
341                identifier beginning with underscore)
342 dbase.c: (in function _db_ercKeyGet)
343 dbase.c:45: Undocumented modification of c possible from call to erc_iterStart:
344                erc_iterStart(c)
345 dbase.c:56: Name _db_keyGet is in the implementation name space (any identifier
346                beginning with underscore)
347 dbase.c: (in function _db_keyGet)
348 dbase.c:61: Assignment of enum { mMGRS, fMGRS, mNON, fNON } to int: i = mMGRS
349 dbase.c:61: Operands of <= have incompatible types (int, enum { mMGRS, fMGRS,
350                mNON, fNON }): i <= fNON
351 dbase.c:63: Undocumented use of global db
352 dbase.c:63: Undetected modification possible from call to unconstrained
353                function _db_ercKeyGet: _db_ercKeyGet
354 dbase.c:61: Incompatible types for <= (int, enum { mMGRS, fMGRS, mNON, fNON })
355                (in post loop test): i <= fNON
356 dbase.c:73: Name _db_addEmpls is in the implementation name space (any
357                identifier beginning with underscore)
358 dbase.c: (in function _db_addEmpls)
359 dbase.c:81: Undocumented modification of c possible from call to erc_iterStart:
360                erc_iterStart(c)
361 dbase.c:86: Undocumented modification of s possible from call to empset_insert:
362                empset_insert(s, e)
363 dbase.c:86: Return value (type bool) ignored: empset_insert(s, e)
364 dbase.c: (in function hire)
365 dbase.c:97: Body of if statement is not a block: return genderERR
366 dbase.c:100: Body of if statement is not a block: return jobERR
367 dbase.c:103: Body of if statement is not a block: return salERR
368 dbase.c:105: Undetected modification possible from call to unconstrained
369                 function _db_keyGet: _db_keyGet
370 dbase.c:106: Body of if statement is not a block: return duplERR
371 dbase.c: (in function uncheckedHire)
372 dbase.c:121: Undocumented use of global db
373 dbase.c:121: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
374                 db[mMGRS]
375 dbase.c:121: Undocumented modification of db[] possible from call to
376                 erc_insert: erc_insert(db[mMGRS], er)
377 dbase.c:123: Undocumented use of global db
378 dbase.c:123: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
379                 db[mNON]
380 dbase.c:123: Undocumented modification of db[] possible from call to
381                 erc_insert: erc_insert(db[mNON], er)
382 dbase.c:121: Body of if clause of if statement is not a block:
383                 erc_insert(db[mMGRS], er);
384 dbase.c:123: Body of else clause of if statement is not a block:
385                 erc_insert(db[mNON], er);
386 dbase.c:126: Undocumented use of global db
387 dbase.c:126: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
388                 db[fMGRS]
389 dbase.c:126: Undocumented modification of db[] possible from call to
390                 erc_insert: erc_insert(db[fMGRS], er)
391 dbase.c:128: Undocumented use of global db
392 dbase.c:128: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
393                 db[fNON]
394 dbase.c:128: Undocumented modification of db[] possible from call to
395                 erc_insert: erc_insert(db[fNON], er)
396 dbase.c:126: Body of if clause of if statement is not a block:
397                 erc_insert(db[fMGRS], er);
398 dbase.c:128: Body of else clause of if statement is not a block:
399                 erc_insert(db[fNON], er);
400 dbase.c:123: Body of if clause of if statement is not a block:
401     if (e.j == MGR) erc_insert(db[mMGRS], er); else erc_insert(db[mNON], er);
402 dbase.c: (in function fire)
403 dbase.c:137: Assignment of enum { mMGRS, fMGRS, mNON, fNON } to int: i = mMGRS
404 dbase.c:137: Operands of <= have incompatible types (int, enum { mMGRS, fMGRS,
405                 mNON, fNON }): i <= fNON
406 dbase.c:138: Undocumented use of global db
407 dbase.c:138: Undocumented modification of db[] possible from call to
408                 erc_iterStart: erc_iterStart(db[i])
409 dbase.c:142: Undocumented use of global db
410 dbase.c:142: Undocumented modification of db[] possible from call to
411                 erc_delete: erc_delete(db[i], er)
412 dbase.c:142: Return value (type bool) ignored: erc_delete(db[i]...
413 dbase.c:139: Body of for statement is not a block:
414                 if (eref_get(er).ssNum == ssNum) { erc_iterFinal(it);
415                 erc_delete(db[i], er);; return TRUE }
416 dbase.c:139: Body of for statement is not a block:
417     for (er = erc_yield(it = erc_iterStart(db[i])); !eref_equal(er, erefNIL);
418     er = erc_yield(it)) if (eref_get(er).ssNum == ssNum) { erc_iterFinal(it);
419     erc_delete(db[i], er);; return TRUE }
420 dbase.c:137: Incompatible types for <= (int, enum { mMGRS, fMGRS, mNON, fNON })
421                 (in post loop test): i <= fNON
422 dbase.c: (in function promote)
423 dbase.c:156: Undocumented use of global db
424 dbase.c:156: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
425                 db[mNON]
426 dbase.c:156: Undetected modification possible from call to unconstrained
427                 function _db_ercKeyGet: _db_ercKeyGet
428 dbase.c:160: Undocumented use of global db
429 dbase.c:160: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
430                 db[fNON]
431 dbase.c:160: Undetected modification possible from call to unconstrained
432                 function _db_ercKeyGet: _db_ercKeyGet
433 dbase.c:162: Body of if statement is not a block: return FALSE
434 dbase.c:172: Undocumented use of global db
435 dbase.c:172: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
436                 db[mNON]
437 dbase.c:172: Undocumented modification of db[] possible from call to
438                 erc_delete: erc_delete(db[mNON], er)
439 dbase.c:172: Return value (type bool) ignored: erc_delete(db[mN...
440 dbase.c:173: Undocumented use of global db
441 dbase.c:173: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
442                 db[mMGRS]
443 dbase.c:173: Undocumented modification of db[] possible from call to
444                 erc_insert: erc_insert(db[mMGRS], er)
445 dbase.c:177: Undocumented use of global db
446 dbase.c:177: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
447                 db[fNON]
448 dbase.c:177: Undocumented modification of db[] possible from call to
449                 erc_delete: erc_delete(db[fNON], er)
450 dbase.c:177: Return value (type bool) ignored: erc_delete(db[fN...
451 dbase.c:178: Undocumented use of global db
452 dbase.c:178: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
453                 db[fMGRS]
454 dbase.c:178: Undocumented modification of db[] possible from call to
455                 erc_insert: erc_insert(db[fMGRS], er)
456 dbase.c: (in function setSalary)
457 dbase.c:194: Undetected modification possible from call to unconstrained
458                 function _db_keyGet: _db_keyGet
459 dbase.c: (in function query)
460 dbase.c:226: Assignment of enum { mMGRS, fMGRS, mNON, fNON } to int: i = mMGRS
461 dbase.c:226: Operands of <= have incompatible types (int, enum { mMGRS, fMGRS,
462                 mNON, fNON }): i <= fNON
463 dbase.c:227: Undocumented use of global db
464 dbase.c:227: Undetected modification possible from call to unconstrained
465                 function _db_addEmpls: _db_addEmpls
466 dbase.c:227: Body of for statement is not a block:
467                 numAdded += _db_addEmpls(db[i], l, h, s);
468 dbase.c:226: Incompatible types for <= (int, enum { mMGRS, fMGRS, mNON, fNON })
469                 (in post loop test): i <= fNON
470 dbase.c:230: Undocumented use of global db
471 dbase.c:230: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
472                 db[mMGRS]
473 dbase.c:230: Undetected modification possible from call to unconstrained
474                 function _db_addEmpls: _db_addEmpls
475 dbase.c:231: Undocumented use of global db
476 dbase.c:231: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
477                 db[fMGRS]
478 dbase.c:231: Undetected modification possible from call to unconstrained
479                 function _db_addEmpls: _db_addEmpls
480 dbase.c:234: Undocumented use of global db
481 dbase.c:234: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
482                 db[mNON]
483 dbase.c:234: Undetected modification possible from call to unconstrained
484                 function _db_addEmpls: _db_addEmpls
485 dbase.c:235: Undocumented use of global db
486 dbase.c:235: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
487                 db[fNON]
488 dbase.c:235: Undetected modification possible from call to unconstrained
489                 function _db_addEmpls: _db_addEmpls
490 dbase.c:242: Undocumented use of global db
491 dbase.c:242: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
492                 db[mMGRS]
493 dbase.c:242: Undetected modification possible from call to unconstrained
494                 function _db_addEmpls: _db_addEmpls
495 dbase.c:243: Undocumented use of global db
496 dbase.c:243: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
497                 db[mNON]
498 dbase.c:243: Undetected modification possible from call to unconstrained
499                 function _db_addEmpls: _db_addEmpls
500 dbase.c:246: Undocumented use of global db
501 dbase.c:246: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
502                 db[mMGRS]
503 dbase.c:246: Undetected modification possible from call to unconstrained
504                 function _db_addEmpls: _db_addEmpls
505 dbase.c:248: Undocumented use of global db
506 dbase.c:248: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
507                 db[mNON]
508 dbase.c:248: Undetected modification possible from call to unconstrained
509                 function _db_addEmpls: _db_addEmpls
510 dbase.c:254: Undocumented use of global db
511 dbase.c:254: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
512                 db[fMGRS]
513 dbase.c:254: Undetected modification possible from call to unconstrained
514                 function _db_addEmpls: _db_addEmpls
515 dbase.c:255: Undocumented use of global db
516 dbase.c:255: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
517                 db[fNON]
518 dbase.c:255: Undetected modification possible from call to unconstrained
519                 function _db_addEmpls: _db_addEmpls
520 dbase.c:258: Undocumented use of global db
521 dbase.c:258: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
522                 db[fMGRS]
523 dbase.c:258: Undetected modification possible from call to unconstrained
524                 function _db_addEmpls: _db_addEmpls
525 dbase.c:260: Undocumented use of global db
526 dbase.c:260: Array fetch using non-integer, enum { mMGRS, fMGRS, mNON, fNON }:
527                 db[fNON]
528 dbase.c:260: Undetected modification possible from call to unconstrained
529                 function _db_addEmpls: _db_addEmpls
530 dbase.c:210: Variable er declared but not used
531 dbase.c:211: Variable e declared but not used
532 dbase.c:263: Suspect object listed in modifies of query not modified: s
533    dbase.lcl:49: Specification of query
534 dbase.c: (in function db_print)
535 dbase.c:272: Assignment of enum { mMGRS, fMGRS, mNON, fNON } to int: i = mMGRS
536 dbase.c:272: Operands of <= have incompatible types (int, enum { mMGRS, fMGRS,
537                 mNON, fNON }): i <= fNON
538 dbase.c:274: Undocumented use of global db
539 dbase.c:272: Incompatible types for <= (int, enum { mMGRS, fMGRS, mNON, fNON })
540                 (in post loop test): i <= fNON
541 drive.c: (in function main)
542 drive.c:22: Statement has no effect: employee_initMod()
543 drive.c:23: Statement has no effect: empset_initMod()
544 drive.c:48: Return value (type bool) ignored: employee_setName...
545 drive.c:49: Return value (type bool) ignored: empset_insert(em...
546 drive.c:64: Return value (type bool) ignored: employee_setName...
547 drive.c:65: Return value (type bool) ignored: empset_delete(em...
548 drive.c:82: Return value (type bool) ignored: employee_setName...
549 drive.c:83: Return value (type bool) ignored: empset_insert(em...
550 drive.c:107: Return value (type bool) ignored: empset_delete(em...
551 drive.c:116: Body of if clause of if statement is not a block: e.gen = MALE;
552 drive.c:116: Body of else clause of if statement is not a block:
553                 e.gen = FEMALE;
554 drive.c:117: Body of if clause of if statement is not a block: e.j = NONMGR;
555 drive.c:117: Body of else clause of if statement is not a block: e.j = MGR;
556 drive.c:119: Return value (type bool) ignored: employee_setName...
557 drive.c:123: Return value (type db_status) ignored: hire(e)
558 drive.c:127: Assignment of db_status to int: j = hire(e)
559 drive.c:131: Variable j used before definition
560 drive.c:134: Return value (type bool) ignored: fire(17)
561 drive.c:158: Return value (type bool) ignored: fire(empset_choo...
562 drive.c:11: Parameter argv not used
563 dbase.c:11: Type employeeKinds declared but not used
564 eref.lh:7: Function exported but not used outside eref: eref_free
565    eref.h:23: Definition of eref_free
566 empset.lh:7: Function exported but not used outside empset: empset_final
567    empset.h:29: Definition of empset_final
568 empset.lh:8: Function exported but not used outside empset: empset_clear
569    empset.c:24: Definition of empset_clear
570 empset.lh:10: Function exported but not used outside empset:
571                  empset_insertUnique
572    empset.c:53: Definition of empset_insertUnique
573 empset.lh:16: Function exported but not used outside empset: empset_member
574    empset.h:30: Definition of empset_member
575 empset.lh:17: Function exported but not used outside empset: empset_subset
576    empset.c:144: Definition of empset_subset
577 ereftab.lh:9: Function exported but not used outside ereftab: ereftab_delete
578    ereftab.c:26: Definition of ereftab_delete
579 dbase.c:13: Variable exported but not used outside dbase: db
580 dbase.lh:26: Function exported but not used outside dbase: promote
581    dbase.c:182: Definition of promote
582 dbase.lh:27: Function exported but not used outside dbase: setSalary
583    dbase.c:206: Definition of setSalary
584 empset.h:10: Variable exported but not used outside empset: known
585 dbase.c:15: Variable exported but not used outside dbase: initDone
586 dbase.c:40: Function exported but not used outside dbase: _db_ercKeyGet
587    dbase.c:54: Definition of _db_ercKeyGet
588 dbase.c:56: Function exported but not used outside dbase: _db_keyGet
589    dbase.c:71: Definition of _db_keyGet
590 dbase.c:73: Function exported but not used outside dbase: _db_addEmpls
591    dbase.c:92: Definition of _db_addEmpls
592 dbase.c:13: Variable db exported but not declared in header file
593 empset.c:5: Function _empset_get exported but not declared in header file
594    empset.c:19: Definition of _empset_get
595 dbase.c:15: Variable initDone exported but not declared in header file
596 dbase.c:40: Function _db_ercKeyGet exported but not declared in header file
597    dbase.c:54: Definition of _db_ercKeyGet
598 dbase.c:56: Function _db_keyGet exported but not declared in header file
599    dbase.c:71: Definition of _db_keyGet
600 dbase.c:73: Function _db_addEmpls exported but not declared in header file
601    dbase.c:92: Definition of _db_addEmpls
602
603 Error Type                Reported  Suppressed
604 ===================       ========  =========
605 nullret                      1           0
606 nullstate                    1           0
607 usedef                       1           0
608 compdef                      3           0
609 incondefs                    0           1
610 sizeoftype                   7           0
611 formalarray                  0          24
612 abstract                     2           0
613 mustfreeonly                 3           0
614 usereleased                  1           0
615 compdestroy                  1           0
616 branchstate                  2           1
617 onlytrans                    1           0
618 freshtrans                   3           0
619 temptrans                    3           2
620 readonlytrans                6           0
621 mayaliasunique               1           0
622 mods                        38           0
623 mustmod                      2           0
624 modfilesys                   0          25
625 modnomods                    4           0
626 moduncon                    20           0
627 modunconnomods               1           0
628 globs                       64           1
629 internalglobs                2           0
630 warnmissingglobs             1           6
631 forempty                     1           0
632 forblock                    11           0
633 ifblock                     22           0
634 unreachable                  1           0
635 noeffect                    11           0
636 retvalother                  1           0
637 retvalbool                  16           0
638 macroparens                  4           0
639 namechecks                  11           6
640 protoparammatch              1           0
641 exportlocal                 15           0
642 exportheader                 4           0
643 exportheadervar              2           0
644 paramuse                     1           0
645 typeuse                      1           0
646 varuse                       4           0
647 exitarg                      8           0
648 redecl                       0           7
649 exporttype                   5           0
650 exportvar                    2           0
651 exportconst                  2           0
652 type                         1           0
653 enumindex                   24           0
654 enumint                     15           0
655 matchanyintegral             2           0
656                           ========  =========
657 Total                      333          73
658
659 Finished checking --- 333 code warnings, as expected
This page took 0.08842 seconds and 5 git commands to generate.