Here, the -weak mode is used so only the most relevant errors are reported.
lclint +lh -weak +showscan +stats +showscan +stats employee eref empset ereftab erc dbase drive.c LCLint 2.1a --- 18 Apr 96 Warning: setting +showscan redundant with current value Warning: setting +stats redundant with current value < reading spec employee.lcl > < reading spec eref.lcl > < reading spec empset.lcl > < reading spec ereftab.lcl > < reading spec erc.lcl > < reading spec dbase.lcl > < preprocessing > < checking employee.c > employee.c: (in function employee_equal) employee.c:18,17: Function strncmp expects arg 3 to be size_t gets int: maxEmployeeName To allow arbitrary integral types to match any integral type, use +matchanyintegral. < checking eref.c > < checking empset.c > empset.c: (in function empset_insert) empset.c:22,8: Variable er declared but not used A variable is declared but never used. Use /*@unused@*/ in front of declaration to suppress message. Use -varuse to suppress message. empset.c: (in function empset_disjointUnion) empset.c:58,32: Undocumented modification of s1 possible from call to erc_iterStart (through alias s2): erc_iterStart(s2) An externally-visible object is modified by a function, but not listed in its modifies clause. Use -mods to suppress message. empset.c:58,32: Undocumented modification of s2 possible from call to erc_iterStart: erc_iterStart(s2) empset.c: (in function empset_union) empset.c:75,32: Undocumented modification of s2 possible from call to erc_iterStart (through alias s1): erc_iterStart(s1) empset.c:75,32: Undocumented modification of s1 possible from call to erc_iterStart: erc_iterStart(s1) empset.c: (in function empset_subset) empset.c:99,32: Undocumented modification of s1 possible from call to erc_iterStart: erc_iterStart(s1) empset.c:95,12: Variable e declared but not used < checking ereftab.c > ereftab.c: (in function ereftab_lookup) ereftab.c:30,32: Undocumented modification of t possible from call to erc_iterStart: erc_iterStart(t) < checking erc.c > erc.c: (in function erc_member) erc.c:34,9: Operands of == are abstract type (eref): tmpc->val == er An abstraction barrier is broken. If necessary, use /*@accessBefore looking at these messages, we will remove the lsl dependencies and reformat the code a bit for readability.@*/ to allow access to an abstract type. Use -abstract to suppress message. erc.c: (in function erc_delete) erc.c:58,9: Operands of == are abstract type (eref): elem->val == er erc.c: (in function erc_sprint) erc.c:103,26: Function malloc expects arg 1 to be size_t gets int: erc_size(c) * (employeePrintSize + 1) + 1 erc.c:110,32: Undocumented modification of c possible from call to erc_iterStart: erc_iterStart(c) < checking dbase.c > dbase.c: (in function query) dbase.c:137,8: Variable er declared but not used dbase.c:138,12: Variable e declared but not used < checking drive.c > drive.c: (in function main) drive.c:87,25: Return value (type db_status) ignored: hire(e) Result returned by function call is not used. If this is intended, can cast result to (void) to eliminate message. Use -retvalother to suppress message. < checking macros bool.h > < global checks > < cleaning .......... > Finished LCLint checking --- 16 code errors found 299 spec, 2449 source (948 before pre-processing) lines in 8.83 s.