X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/885824d34f6f6626fde2fb041801408cbaf1f6f1..4fab1d8aadad5dcf9d016c8f99655a7abab65845:/test/db2.expect diff --git a/test/db2.expect b/test/db2.expect index 9ad7275..24a5672 100644 --- a/test/db2.expect +++ b/test/db2.expect @@ -1,16 +1,7 @@ -< 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_setName) -employee.c:14: Parameter 1 (e->name) to function strcpy is declared unique but +employee.c:17: Parameter 1 (e->name) to function strcpy is declared unique but may be aliased externally by parameter 2 (na) -< checking eref.c > eref.c: (in function eref_alloc) eref.c:19: Unqualified storage eref_Pool.conts passed as only param: realloc (eref_Pool.conts, ...) @@ -18,29 +9,26 @@ eref.c:29: Unqualified storage eref_Pool.status passed as only param: realloc (eref_Pool.status, ...) eref.c:45: Storage eref_Pool.status reachable from global is only (should be unqualified) - eref.c:30: Storage eref_Pool.status becomes only + eref.c:29: Storage eref_Pool.status becomes only eref.c:45: Storage eref_Pool.conts reachable from global is only (should be unqualified) - eref.c:20: Storage eref_Pool.conts becomes only + eref.c:19: Storage eref_Pool.conts becomes only eref.c: (in function eref_initMod) eref.c:84: Storage eref_Pool.conts reachable from global is fresh (should be unqualified) - eref.c:62: Fresh storage eref_Pool.conts allocated -eref.c:84: Global storage *(eref_Pool.conts) contains 4 undefined fields when - call returns: ssNum, salary, gen, j + eref.c:62: Fresh storage eref_Pool.conts created +eref.c:84: Global storage *(eref_Pool.conts) contains 5 undefined fields when + call returns: ssNum, name, salary, gen, j eref.c:84: Storage eref_Pool.status reachable from global is fresh (should be unqualified) - eref.c:70: Fresh storage eref_Pool.status allocated + eref.c:70: Fresh storage eref_Pool.status created eref.c:84: Global storage eref_Pool contains 1 undefined field when call returns: status -< checking empset.c > -< checking ereftab.c > -< checking erc.c > erc.c: (in function erc_create) erc.c:33: Null storage c->vals derivable from return value: c erc.c:31: Storage c->vals becomes null erc.c:33: Fresh storage returned as unqualified (should be only): c - erc.c:23: Fresh storage c allocated + erc.c:23: Fresh storage c created erc.c: (in function erc_clear) erc.c:49: Function returns with null storage derivable from parameter c->vals erc.c:47: Storage c->vals becomes null @@ -48,49 +36,30 @@ erc.c: (in function erc_final) erc.c:54: Implicitly temp storage c passed as only param: free (c) erc.c: (in function erc_delete) erc.c:102: Released storage c->vals reachable from parameter at return point - erc.c:100: Storage c->vals is released + erc.c:100: Storage c->vals released erc.c: (in function erc_sprint) erc.c:141: Fresh storage returned as unqualified (should be only): result - erc.c:122: Fresh storage result allocated -< checking dbase.c > -< checking drive.c > -< checking macros bool.h > -< global checks > + erc.c:122: Fresh storage result created -Finished LCLint checking --- 15 code errors found, as expected +Finished checking --- 15 code warnings, as expected -< 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_setName) -employee.c:14: Parameter 1 (e->name) to function strcpy is declared unique but +employee.c:17: Parameter 1 (e->name) to function strcpy is declared unique but may be aliased externally by parameter 2 (na) -< checking eref.c > eref.c: (in function eref_initMod) -eref.c:62: Implicitly only storage eref_Pool.conts not released before - assignment: eref_Pool.conts = (employee *)malloc(size * sizeof(employee)) -eref.c:70: Implicitly only storage eref_Pool.status not released before - assignment: eref_Pool.status = (eref_status *)malloc(size * +eref.c:62: Implicitly only storage eref_Pool.conts (type employee *) not + released before assignment: eref_Pool.conts = (employee *)malloc(size * + sizeof(employee)) +eref.c:70: Implicitly only storage eref_Pool.status (type eref_status *) not + released before assignment: eref_Pool.status = (eref_status *)malloc(size * sizeof(eref_status)) -eref.c:84: Global storage *(eref_Pool.conts) contains 4 undefined fields when - call returns: ssNum, salary, gen, j +eref.c:84: Global storage *(eref_Pool.conts) contains 5 undefined fields when + call returns: ssNum, name, salary, gen, j eref.c:84: Global storage eref_Pool contains 1 undefined field when call returns: status -< checking empset.c > -empset.c: (in function empset_insertUnique) -empset.c:44: Clauses exit with er referencing fresh storage in true branch, - local storage in continuation - empset.c:41: Fresh storage er allocated empset.c: (in function empset_intersect) empset.c:126: Fresh storage toDelete not released before return - empset.c:112: Fresh storage toDelete allocated -< checking ereftab.c > -< checking erc.c > + empset.c:112: Fresh storage toDelete created erc.c: (in function erc_create) erc.c:33: Null storage c->vals derivable from return value: c erc.c:31: Storage c->vals becomes null @@ -100,20 +69,13 @@ erc.c:49: Function returns with null storage derivable from parameter c->vals erc.c: (in function erc_final) erc.c:54: Implicitly temp storage c passed as only param: free (c) erc.c: (in function erc_delete) -erc.c:98: Implicitly only storage prev->next not released before assignment: - prev->next = elem->next +erc.c:98: Implicitly only storage prev->next (type struct _elem *) not released + before assignment: prev->next = elem->next erc.c:98: Clauses exit with elem referencing implicitly only storage in true branch, local storage in false branch - erc.c:96: Storage elem becomes implicitly only -erc.c:98: Storage c->vals->next is kept in one path, but live in another. - erc.c:98: Storage c->vals->next becomes kept + erc.c:96: Storage elem becomes implicitly only (through alias c->vals) erc.c:102: Released storage c->vals reachable from parameter at return point - erc.c:100: Storage c->vals is released -< checking dbase.c > -dbase.c: (in function uncheckedHire) -dbase.c:121: Fresh storage er not released before return - dbase.c:108: Fresh storage er allocated -< checking drive.c > + erc.c:100: Storage c->vals released drive.c: (in function main) drive.c:49: Variable m_res name is not a macro variable (it is a local variable), but matches the macro variable namespace prefix "m_" @@ -127,43 +89,24 @@ drive.c:124: Variable m_res name is not a macro variable (it is a local variable), but matches the macro variable namespace prefix "m_" drive.c:135: Variable m_res name is not a macro variable (it is a local variable), but matches the macro variable namespace prefix "m_" -drive.c:140: Fresh storage em1 not released before assignment: +drive.c:140: Fresh storage em1 (type empset) not released before assignment: em1 = empset_create() - drive.c:35: Fresh storage em1 allocated -drive.c:146: Fresh storage em2 not released before assignment: + drive.c:35: Fresh storage em1 created +drive.c:146: Fresh storage em2 (type empset) not released before assignment: em2 = empset_create() - drive.c:74: Fresh storage em2 allocated -drive.c:147: Fresh storage em3 not released before assignment: + drive.c:74: Fresh storage em2 created +drive.c:147: Fresh storage em3 (type empset) not released before assignment: em3 = empset_disjointUnion(em2, em1) - drive.c:87: Fresh storage em3 allocated + drive.c:87: Fresh storage em3 created drive.c:159: Variable m_res name is not a macro variable (it is a local variable), but matches the macro variable namespace prefix "m_" drive.c:163: Fresh storage em1 not released before return - drive.c:140: Fresh storage em1 allocated + drive.c:140: Fresh storage em1 created drive.c:163: Fresh storage em2 not released before return - drive.c:146: Fresh storage em2 allocated + drive.c:146: Fresh storage em2 created drive.c:163: Fresh storage em3 not released before return - drive.c:147: Fresh storage em3 allocated -< checking macros bool.h > -< global checks > + drive.c:147: Fresh storage em3 created -Finished LCLint checking --- 28 code errors found, as expected +Finished checking --- 25 code warnings, as expected -< 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 > -< checking eref.c > -< checking empset.c > -< checking ereftab.c > -< checking erc.c > -< checking dbase.c > -< checking drive.c > -< checking macros bool.h > -< global checks > - -Finished LCLint checking --- no code errors found +Finished checking --- no warnings