+++ /dev/null
-
-abstptr.c: (in function main)
-abstptr.c:13:3: Assignment of abst * to void *: vp = ap
-abstptr.c:14:3: Assignment of abst * to int *: ip = ap2
-abstptr.c:15:3: Assignment of int * to abst *: ap = ip
-abstptr.c:16:17: Cast from underlying abstract type abst *: (void *)ap
-abstptr.c:17:8: Dereference of null pointer ap: *ap
- abstptr.c:15:8: Storage ap becomes null
-abstptr.c:19:16: Cast from underlying abstract type abst *: (void *)&a
-abstptr.c:20:16: Cast to underlying abstract type abst *: (abst *)&b
-abstptr.c:21:3: Assignment of int * to abst *: ap = &b
-abstptr.c:22:3: Assignment of int to abst: *ap = b
-
-Finished LCLint checking --- 9 code errors found, as expected
-
-abstptr.c: (in function main)
-abstptr.c:14:3: Assignment of abst * to int *: ip = ap2
-abstptr.c:15:3: Assignment of int * to abst *: ap = ip
-abstptr.c:17:8: Dereference of null pointer ap: *ap
- abstptr.c:15:8: Storage ap becomes null
-abstptr.c:20:16: Cast to underlying abstract type abst *: (abst *)&b
-abstptr.c:21:3: Assignment of int * to abst *: ap = &b
-abstptr.c:22:3: Assignment of int to abst: *ap = b
-
-Finished LCLint checking --- 6 code errors found, as expected
+++ /dev/null
-
-commentcmd.c:1:13: Mutable abstract type abst1 declared without pointer
- indirection: int (violates assignment semantics)
-commentcmd.c:1:20: Mutable abstract type abst2 declared without pointer
- indirection: int (violates assignment semantics)
-commentcmd.c:2:13: Mutable abstract type abst3 declared without pointer
- indirection: int (violates assignment semantics)
-commentcmd.c: (in function main)
-commentcmd.c:11:22: Cast to abstract type abst2: (abst2)i
-commentcmd.c:16:22: Cast to abstract type abst1: (abst1)i
-commentcmd.c:17:22: Cast to abstract type abst2: (abst2)i
-commentcmd.c:18:22: Cast to abstract type abst3: (abst3)i
-commentcmd.c:22:22: Cast to abstract type abst1: (abst1)i
-commentcmd.c:24:22: Cast to abstract type abst3: (abst3)i
-commentcmd.c:34:22: Cast to abstract type abst1: (abst1)i
-commentcmd.c:40:22: Cast to abstract type abst1: (abst1)i
-commentcmd.c:41:22: Cast to abstract type abst2: (abst2)i
-commentcmd.c:46:22: Cast to abstract type abst1: (abst1)i
-commentcmd.c:47:22: Cast to abstract type abst2: (abst2)i
-commentcmd.c:48:22: Cast to abstract type abst3: (abst3)i
-
-Finished LCLint checking --- 15 code errors found, as expected
+++ /dev/null
-
-alttypes.c:19:20: Function f2 inconsistently redeclared to return alternate
- types int | bool (types match, but alternates are not identical, so
- checking may not be correct)
- alttypes.c:17:20: Previous declaration of f2: int | void
-alttypes.c:25:20: Variable x inconsistently redeclared with alternate types int
- | char (types match, but alternates are not identical, so checking may not
- be correct)
- alttypes.c:24:33: Previous declaration of x: int | char | bool
-
-Finished LCLint checking --- 2 code errors found, as expected
+++ /dev/null
-
-ansireserved.c:9: Name EVANS is reserved for future ANSI library extensions.
- Macros beginning with E and a digit or uppercase letter may be added to
- <errno.h>. (See ANSI, Section 4.13.1)
-ansireserved.c:1:5: Name decimal_point is reserved for the standard library
-ansireserved.c:2:5: Name srand is reserved for the standard library
-ansireserved.c:3:5: Name labs is reserved for the standard library
-ansireserved.c:4:5: Name _x is in the implementation name space (any identifier
- beginning with underscore)
-ansireserved.c:5:5: Name atan2f is reserved for future ANSI library extensions.
- The names of all existing functions in <math.h> suffixed with 'f' or 'l'
- may be added to <math.h>. (See ANSI, Section 4.13.4)
-ansireserved.c:7:13: Name wcst is reserved for future ANSI library extensions.
- Functions that begin with "mem" or "wcs" and a lowercase letter letter may
- be added to <string.h>. (See ANSI, Section 4.13.8)
-ansireserved.c:11:5: Name isaFish is reserved for future ANSI library
- extensions. Functions beginning with "is" or "to" and a lowercase letter
- may be added to <ctype.h>. (See ANSI, Section 4.13.2)
-ansireserved.c: (in function isaFish)
-ansireserved.c:16:20: Name wctomb is reserved for the standard library
-
-Finished LCLint checking --- 9 code errors found, as expected
-
-ansireserved.c:9: Name EVANS is reserved for future ANSI library extensions.
- Macros beginning with E and a digit or uppercase letter may be added to
- <errno.h>. (See ANSI, Section 4.13.1)
-ansireserved.c:1:5: Name decimal_point is reserved for the standard library
-ansireserved.c:2:5: Name srand is reserved for the standard library
-ansireserved.c:3:5: Name labs is reserved for the standard library
-ansireserved.c:4:5: Name _x is in the implementation name space (any identifier
- beginning with underscore)
-ansireserved.c:5:5: Name atan2f is reserved for future ANSI library extensions.
- The names of all existing functions in <math.h> suffixed with 'f' or 'l'
- may be added to <math.h>. (See ANSI, Section 4.13.4)
-ansireserved.c:7:13: Name wcst is reserved for future ANSI library extensions.
- Functions that begin with "mem" or "wcs" and a lowercase letter letter may
- be added to <string.h>. (See ANSI, Section 4.13.8)
-ansireserved.c:11:5: Name isaFish is reserved for future ANSI library
- extensions. Functions beginning with "is" or "to" and a lowercase letter
- may be added to <ctype.h>. (See ANSI, Section 4.13.2)
-ansireserved.c: (in function isaFish)
-ansireserved.c:13:20: Name powl is reserved for future ANSI library extensions.
- The names of all existing functions in <math.h> suffixed with 'f' or 'l'
- may be added to <math.h>. (See ANSI, Section 4.13.4)
-ansireserved.c:15:22: Name memory is reserved for future ANSI library
- extensions. Functions that begin with "mem" or "wcs" and a lowercase
- letter letter may be added to <string.h>. (See ANSI, Section 4.13.8)
-ansireserved.c:16:20: Name wctomb is reserved for the standard library
-
-Finished LCLint checking --- 11 code errors found, as expected
-
-ansireserved.c:9: Name EVANS is reserved for future ANSI library extensions.
- Macros beginning with E and a digit or uppercase letter may be added to
- <errno.h>. (See ANSI, Section 4.13.1)
-ansireserved.c:1:5: Name decimal_point is reserved for the standard library
-ansireserved.c:2:5: Function srand inconsistently declared as variable: int
- load file ansi.lcd:897:1: Specification of srand:
- [function (unsigned int) returns void]
-ansireserved.c:2:5: Name srand is reserved for the standard library
-ansireserved.c:3:5: Function labs inconsistently declared as variable: int
- load file ansi.lcd:919:1: Specification of labs:
- [function (long int) returns long int]
-ansireserved.c:3:5: Name labs is reserved for the standard library
-ansireserved.c:4:5: Name _x is in the implementation name space (any identifier
- beginning with underscore)
-ansireserved.c:5:5: Name atan2f is reserved for future ANSI library extensions.
- The names of all existing functions in <math.h> suffixed with 'f' or 'l'
- may be added to <math.h>. (See ANSI, Section 4.13.4)
-ansireserved.c:7:13: Name wcst is reserved for future ANSI library extensions.
- Functions that begin with "mem" or "wcs" and a lowercase letter letter may
- be added to <string.h>. (See ANSI, Section 4.13.8)
-ansireserved.c:11:5: Name isaFish is reserved for future ANSI library
- extensions. Functions beginning with "is" or "to" and a lowercase letter
- may be added to <ctype.h>. (See ANSI, Section 4.13.2)
-ansireserved.c: (in function isaFish)
-ansireserved.c:16:20: Name wctomb is reserved for the standard library
-ansireserved.c:5:5: Function atan2f declared but not defined
-
-Finished LCLint checking --- 12 code errors found, as expected
-
-ansireserved2.c:4:2: Name _s1 is in the implementation name space (any
- identifier beginning with underscore)
-
-Finished LCLint checking --- 1 code error found, as expected
+++ /dev/null
-
-argorder.c: (in function f)
-argorder.c:8:20: Argument 2 modifies z, used by argument 3 (order of evaluation
- of actual parameters is undefined): printf("%d %d", z++, z)
-argorder.c:10:13: Argument 1 modifies i, used by argument 2 (order of
- evaluation of actual parameters is undefined): f((i++, j++), (i = 3), j)
-argorder.c:10:13: Argument 1 modifies j, used by argument 3 (order of
- evaluation of actual parameters is undefined): f((i++, j++), (i = 3), j)
-argorder.c:10:25: Argument 2 modifies i, used by argument 1 (order of
- evaluation of actual parameters is undefined): f((i++, j++), (i = 3), j)
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-argorder2.c: (in function g)
-argorder2.c:16:12: Argument 1 modifies i, used by argument 2 (order of
- evaluation of actual parameters is undefined): f(f(1, 2), f(1, 2))
-argorder2.c:16:21: Argument 2 modifies i, used by argument 1 (order of
- evaluation of actual parameters is undefined): f(f(1, 2), f(1, 2))
-argorder2.c:17:12: Argument 1 modifies i, used by argument 2 (order of
- evaluation of actual parameters is undefined): f(f(1, 2), h())
-argorder2.c:18:12: Argument 1 modifies i, used by argument 2 (order of
- evaluation of actual parameters is undefined): f(f(1, 2), i)
-argorder2.c:19:14: Argument 1 modifies i, used by argument 2 (order of
- evaluation of actual parameters is undefined): f(i++, i)
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-argorder3.c: (in function f)
-argorder3.c:7:8: Expression has undefined behavior (value of left operand i is
- modified by right operand i++): i = i++
-argorder3.c:8:11: Expression has undefined behavior (left operand uses i,
- modified by right operand): a[i] = i++
-argorder3.c:9:12: Expression has undefined behavior (value of right operand
- modified by left operand): a[i++] = i
-argorder3.c:10:13: Expression has undefined behavior (value of right operand
- modified by left operand): i++ * i
-argorder3.c:11:12: Expression has undefined behavior (value of left operand i
- is modified by right operand i++): i * i++
-argorder3.c:12:14: Expression has undefined behavior (left operand uses i,
- modified by right operand): --i * ++i
-argorder3.c:12:14: Expression has undefined behavior (left operand modifies i,
- used by right operand): --i * ++i
-argorder3.c:13:2: Path with no return in function declared to return int
-
-Finished LCLint checking --- 8 code errors found, as expected
-
-argorder4.c: (in function h)
-argorder4.c:19:21: Expression has undefined behavior (left operand uses glob,
- modified by right operand): f() + g()
-argorder4.c:25:18: Expression has undefined behavior (left operand uses glob,
- modified by right operand): f() + (++glob)
-argorder4.c:29:18: Expression has undefined behavior (left operand uses glob,
- modified by right operand): g() + h()
-argorder4.c:29:18: Expression has undefined behavior (left operand modifies
- glob, used by right operand): g() + h()
-argorder4.c:35:16: Argument 1 modifies file system state, used by argument 2
- (order of evaluation of actual parameters is undefined):
- add((printf("hullo"), 3), (printf("goodbye"), 4))
-argorder4.c:35:16: Argument 1 modifies *stdout, set by argument 2 (order of
- evaluation of actual parameters is undefined):
- add((printf("hullo"), 3), (printf("goodbye"), 4))
-argorder4.c:35:38: Argument 2 modifies file system state, used by argument 1
- (order of evaluation of actual parameters is undefined):
- add((printf("hullo"), 3), (printf("goodbye"), 4))
-argorder4.c:35:38: Argument 2 modifies *stdout, set by argument 1 (order of
- evaluation of actual parameters is undefined):
- add((printf("hullo"), 3), (printf("goodbye"), 4))
-argorder4.c:35:10: Unreachable code: return (add((pri...
-
-Finished LCLint checking --- 9 code errors found, as expected
-
-argorder4.c: (in function h)
-argorder4.c:35:10: Unreachable code: return (add((pri...
-
-Finished LCLint checking --- 1 code error found, as expected
-
-argorder5.c: (in function f)
-argorder5.c:8:9: Variable name used after being released
- argorder5.c:8:17: Storage name released
-argorder5.c:9:19: Variable name used after being released
- argorder5.c:9:12: Storage name released
-argorder5.c:10:28: Argument 2 modifies *name, used by argument 1 (order of
- evaluation of actual parameters is undefined):
- test2(copystring(name), f(name))
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-args.c: (in function sumn)
-args.c:14:7: Assignment of char * to int: y = va_arg(args, char *)
-args.c:15:19: First argument to va_arg is not a va_list (type void *): yaba
-args.c: (in function test)
-args.c:22:7: Function sumn called with 0 args, expects at least 1
-args.c:24:12: Function sumn expects arg 1 to be int gets char *: s
-args.c:27:7: Function test called with 3 args, expects 2
-args.c:37:5: Function severalargs declared with 3 args, specified with 2
- args.lcl:1: Specification of severalargs
-args.c:37:23: Parameter 1, c, of function severalargs has inconsistent type:
- declared char, specified int
- args.lcl:1: Specification of severalargs
-args.c:37:30: Parameter 2, y, of function severalargs has inconsistent type:
- declared int, specified char *
- args.lcl:1: Specification of severalargs
-args.c:43:5: Function severalargs2 declared with 1 arg, specified with 2
- args.lcl:2: Specification of severalargs2
-args.c:48:5: Function voidargs declared with 1 arg, specified with 0
- args.lcl:7: Specification of voidargs
-args.c:59:33: Parameter 3, f, of function many1 has inconsistent type:
- declared float, specified ...
- args.lcl:4: Specification of many1
-args.c:73:5: Function many3 declared with 1 arg, specified with 3
- args.lcl:6: Specification of many3
-
-Finished LCLint checking --- 12 code errors found, as expected
+++ /dev/null
-
-blocks.c: (in function f)
-blocks.c:3:15: Body of if statement is empty
-blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-blocks.c:21:16: Body of if clause of if statement is empty
-blocks.c:22:9: Body of else clause of if statement is empty
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-blocks.c: (in function f)
-blocks.c:3:15: Body of if statement is empty
-blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-blocks.c:6:15: Body of if statement is not a block: x++
-blocks.c:16:12: Incomplete else if logic (no final else): if (x == 1) { x = 4 }
-blocks.c:19:8: Body of else clause of if statement is not a block: x = 4
-blocks.c:21:16: Body of if clause of if statement is empty
-blocks.c:22:9: Body of else clause of if statement is empty
-
-Finished LCLint checking --- 7 code errors found, as expected
-
-blocks.c: (in function f)
-blocks.c:4:18: Body of while statement is empty
-blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-blocks.c:7:18: Body of while statement is not a block: x++
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-blocks.c: (in function f)
-blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-blocks.c:12:23: Body of for statement is empty
-blocks.c:13:23: Body of for statement is not a block: x++
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-blocks.c: (in function f)
-blocks.c:3:15: Body of if statement is empty
-blocks.c:4:18: Body of while statement is empty
-blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-blocks.c:12:23: Body of for statement is empty
-blocks.c:21:16: Body of if clause of if statement is empty
-blocks.c:22:9: Body of else clause of if statement is empty
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-blocks.c: (in function f)
-blocks.c:3:15: Body of if statement is empty
-blocks.c:4:18: Body of while statement is empty
-blocks.c:4:10: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-blocks.c:6:15: Body of if statement is not a block: x++
-blocks.c:7:18: Body of while statement is not a block: x++
-blocks.c:12:23: Body of for statement is empty
-blocks.c:13:23: Body of for statement is not a block: x++
-blocks.c:16:12: Incomplete else if logic (no final else): if (x == 1) { x = 4 }
-blocks.c:19:8: Body of else clause of if statement is not a block: x = 4
-blocks.c:21:16: Body of if clause of if statement is empty
-blocks.c:22:9: Body of else clause of if statement is empty
-
-Finished LCLint checking --- 11 code errors found, as expected
+++ /dev/null
-
-break.c: (in function f)
-break.c:12:4: Break preceded by loopbreak is breaking a switch
-break.c:17:14: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-break.c:3:10: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-break.c:34:24: Break preceded by innerbreak is not in a deep loop
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-break.c: (in function f)
-break.c:12:4: Break preceded by loopbreak is breaking a switch
-break.c:14:4: Break statement in switch inside loop
-break.c:21:8: Break statement in nested loop
-break.c:17:14: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-break.c:3:10: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-break.c:34:24: Break preceded by innerbreak is not in a deep loop
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-break.c: (in function f)
-break.c:12:4: Break preceded by loopbreak is breaking a switch
-break.c:14:4: Break statement in switch inside loop
-break.c:17:14: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-break.c:3:10: Suspected infinite loop. No value used in loop test (x) is
- modified by test or loop body.
-break.c:34:24: Break preceded by innerbreak is not in a deep loop
-
-Finished LCLint checking --- 5 code errors found, as expected
+++ /dev/null
-
-cases.c: (in function f)
-cases.c:12:10: Fall through case (no preceding break)
-cases.c:13:11: Variable i used before definition
-cases.c:30:10: Fall through case (no preceding break)
-cases.c:37:13: Fall through case (no preceding break)
-cases.c:40:2: Path with no return in function declared to return int
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-cases2.c: (in function f2)
-cases2.c:26:5: Variable x is released in one possible execution, but live in
- other possible execution.
- cases2.c:23:16: Storage x is released
-cases2.c: (in function f3)
-cases2.c:37:5: Variable x is released in one possible execution, but live in
- other possible execution.
- cases2.c:36:16: Storage x is released
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-cases2.c: (in function f2)
-cases2.c:26:5: Variable x is released in one possible execution, but live in
- other possible execution.
- cases2.c:23:16: Storage x is released
-cases2.c: (in function f3)
-cases2.c:37:5: Variable x is released in one possible execution, but live in
- other possible execution.
- cases2.c:36:16: Storage x is released
-cases2.c:1:24: Function g declared but not defined
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-cases2.c: (in function f2)
-cases2.c:28:12: Variable x used after being released
- cases2.c:23:16: Storage x released
-cases2.c: (in function f3)
-cases2.c:39:12: Variable x used after being released
- cases2.c:36:16: Storage x released
-cases2.c:1:24: Function g declared but not defined
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-cast.c:1:13: Mutable abstract type abst1 declared without pointer indirection:
- int (violates assignment semantics)
-cast.c:1:20: Mutable abstract type abst2 declared without pointer indirection:
- int (violates assignment semantics)
-cast.c: (in function main)
-cast.c:6:13: Variable b initialized to type int, expects abst2: 3
-cast.c:7:25: Cast to underlying abstract type abst2 *:
- (abst2 *)malloc(sizeof(abst2))
-cast.c:11:10: Dereference of possibly null pointer ip: *ip
- cast.c:9:14: Storage ip may become null
-cast.c:12:10: Dereference of possibly null pointer bp: *bp
- cast.c:7:15: Storage bp may become null
-cast.c:12:9: Assignment of int to abst2: *bp = 5
-cast.c:13:21: Cast to abstract type abst1: (abst1)ip
-cast.c:14:24: Cast to underlying abstract type abst1 *: (abst1 *)ip
-cast.c:15:22: Cast to underlying abstract type FILE *: (FILE *)ip
-cast.c:16:21: Redundant cast involving abstract type abst1: (abst1)a
-cast.c:17:22: Cast from underlying abstract type abst1 *: (int *)ap
-cast.c:18:22: Cast from underlying abstract type FILE *: (int *)f
-cast.c:19:22: Cast from underlying abstract type abst1: (int *)a
-cast.c:20:21: Cast from abstract type abst2: (abst1)b
-cast.c:20:21: Cast to abstract type abst1: (abst1)b
-cast.c:21:24: Cast to underlying abstract type abst1 *: (abst1 *)bp
-cast.c:21:24: Cast from underlying abstract type abst2 *: (abst1 *)bp
-cast.c:22:19: Owned storage ap not released before return
- cast.c:21:10: Storage ap becomes owned
-cast.c:22:19: Last reference ip to owned storage a not released before return
- cast.c:20:10: Original reference lost
-
-Finished LCLint checking --- 20 code errors found, as expected
-
-cast2.c: (in function f1)
-cast2.c:9:10: Implicitly temp storage x returned as implicitly only: x
-cast2.c:9:10: Function returns reference to parameter x: x
-cast2.c: (in function f2)
-cast2.c:15:10: Implicitly dependent storage x returned as implicitly only:
- (abst1)x
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-charlit.c: (in function f)
-charlit.c:3:11: Variable x initialized to type char, expects int: 'a'
- A character constant is used as an int. Use +charintliteral to allow
- character constants to be used as ints. (This is safe since the actual type
- of a char constant is int.)
-charlit.c:6:7: Incompatible types for + (int, char): x + 'c'
-charlit.c:8:10: Return value type char does not match declared type int: 'a'
-charlit.c:12:14: Variable u initialized to type int, expects unsigned int: -3
- To ignore signs in type comparisons use +ignoresigns
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-charlit.c: (in function f)
-charlit.c:3:11: Variable x initialized to type char, expects int: 'a'
- A character constant is used as an int. Use +charintliteral to allow
- character constants to be used as ints. (This is safe since the actual type
- of a char constant is int.)
-charlit.c:4:14: Variable z initialized to type int, expects double: 3
- An int literal is used as any numeric type (including float and long long).
- Use +numliteral to allow int literals to be used as any numeric type.
-charlit.c:6:7: Incompatible types for + (int, char): x + 'c'
-charlit.c:8:10: Return value type char does not match declared type int: 'a'
-charlit.c:11:18: Initial value of s[1] is type int, expects short int: -1
- To ignore type qualifiers in type comparisons use +ignorequals.
-charlit.c:12:14: Variable u initialized to type int, expects unsigned int: -3
- To ignore signs in type comparisons use +ignoresigns
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
+++ /dev/null
-
-clauses.c: (in function f)
-clauses.c:6:5: Variable x is released in true branch, but live in continuation.
- clauses.c:5:13: Storage x is released
-clauses.c:11:5: Variable y is released in while body, but live if loop is not
- taken.
- clauses.c:10:13: Storage y is released
-clauses.c:20:5: Variable z2 is released in false branch, but live in true
- branch.
- clauses.c:19:13: Storage z2 is released
-clauses.c:20:5: Variable z is released in true branch, but live in false
- branch.
- clauses.c:15:13: Storage z is released
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-clauses3.c: (in function h)
-clauses3.c:48:5: Storage x->x is released in one path, but live in another.
- clauses3.c:46:10: Storage x->x is released
-clauses3.c: (in function m)
-clauses3.c:61:5: Storage x->x is released in one path, but live in another.
- clauses3.c:60:13: Storage x->x is released
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-Warning: selecting unix library. Unix library is ad hoc addition to POSIX
-library. Recommend use +posixlib to select POSIX library instead. Use
--warnunixlib to suppress this message.
-clauses3.c: (in function h)
-clauses3.c:48:5: Storage x->x is released in one path, but live in another.
- clauses3.c:46:10: Storage x->x is released
-clauses3.c: (in function m)
-clauses3.c:60:13: Possibly null storage x->x passed as non-null param:
- free (x->x)
-clauses3.c:61:5: Storage x->x is released in one path, but live in another.
- clauses3.c:60:13: Storage x->x is released
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-commentchar.c:14:1: Syntactic commentchar comment is not followed by a
- whitespace character: 5
-commentchar.c:15:1: Cannot restore commentchar
-commentchar.c:10:5: Variable x redefined
- commentchar.c:6:5: Previous definition of x
-commentchar.c:10:9: Variable x initialized to type char, expects int: 'c'
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-commentchar.c:14:1: Syntactic commentchar comment is not followed by a
- whitespace character: 5
-commentchar.c:15:1: Cannot restore commentchar
-commentchar.c:1:26: Unrecognized identifier in modifies comment: x
-commentchar.c:6:9: Variable x initialized to type char, expects int: 'c'
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-compdestroy.c: (in function sip_free2)
-compdestroy.c:25:9: Only storage *(x->ips) (type oip) derived from released
- storage is not released (memory leak): x->ips
-
-Finished LCLint checking --- 1 code error found, as expected
-
-compdestroy.c: (in function sip_free)
-compdestroy.c:19:9: Only storage x->ips[] (type oip) derived from released
- storage may not have been released: x->ips
-compdestroy.c: (in function sip_free2)
-compdestroy.c:25:9: Only storage *(x->ips) (type oip) derived from released
- storage is not released (memory leak): x->ips
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-compdestroy.c: (in function sip_free)
-compdestroy.c:16:13: Possibly dead storage x->ips[] passed as out parameter:
- x->ips[i]
- compdestroy.c:15:13: Storage x->ips[] becomes probably dead
-compdestroy.c:19:9: Only storage x->ips[] (type oip) derived from released
- storage may not have been released: x->ips
-compdestroy.c: (in function sip_free2)
-compdestroy.c:25:9: Only storage *(x->ips) (type oip) derived from released
- storage is not released (memory leak): x->ips
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-compdestroy.c: (in function sip_free)
-compdestroy.c:16:13: Possibly dead storage x->ips[] passed as out parameter:
- x->ips[i]
- compdestroy.c:15:13: Storage x->ips[] becomes probably dead
-compdestroy.c:19:9: Only storage x->ips[] (type oip) derived from released
- storage may not have been released: x->ips
-compdestroy.c: (in function sip_free2)
-compdestroy.c:25:9: Only storage *(x->ips) (type oip) derived from released
- storage is not released (memory leak): x->ips
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-controldepth.c: (in function f)
-controldepth.c:8:15: Maximum control nesting depth (2) exceeded
- Maximum number of control levels exceeded. (-controlnestdepth will suppress
- message)
-controldepth.c:15:17: Maximum control nesting depth (2) exceeded
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-controldepth.c: (in function f)
-controldepth.c:6:15: Maximum control nesting depth (1) exceeded
- Maximum number of control levels exceeded. (-controlnestdepth will suppress
- message)
-controldepth.c:11:13: Maximum control nesting depth (1) exceeded
-
-Finished LCLint checking --- 2 code errors found, as expected
+++ /dev/null
-csyntax.c:20:5: Function main declared with 1 arg, should have 2 (int argc,
- char *argv[])
-
-csyntax2.c: (in function mapping_create)
-csyntax2.c:13:3: Assignment of size_t to int: x = sizeof((t))
-csyntax2.c:14:3: Assignment of size_t to int: x = sizeof(*t)
-
-csyntax3.c:3:4: Function main declared to return a1, should return int
-
-csyntax13.c: (in function f)
-csyntax13.c:9:11: Variable isrs shadows outer declaration
- csyntax13.c:7:9: Previous definition of isrs: isr_t
-
-csyntax16.c: (in function main)
-csyntax16.c:18:11: Variable getbuiltout used before definition
-csyntax16.c: (in function getbuiltout)
-csyntax16.c:43:14: Variable qpolygon used before definition
-
-csyntax17.c: (in function f)
-csyntax17.c:11:11: Variable x initialized to type EID_UNIT_NUM, expects int:
- (EID_UNIT_NUM)3
-csyntax17.c:12:2: Path with no return in function declared to return int
-csyntax17.c:11:7: Variable x declared but not used
-
+++ /dev/null
-
-Finished LCLint checking --- no code errors found
-
-czechnames.c:5:5: Variable michelob_light name violates Czech naming
- convention. Czech prefix michelob is not the name of a type.
- Variable name is not consistent with Czech naming convention. (Setting either
- -czechvars or -namechecks will suppress message)
-czechnames.c:26:5: Function budweiser name is not consistent with Czech naming
- convention. Accessible types: pivo
- Function or iterator name is not consistent with Czech naming convention.
- (Setting either -czechfcns or -namechecks will suppress message)
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-czechnames.c:26:5: Function budweiser name is not consistent with Czech naming
- convention. Accessible types: pivo
- Function or iterator name is not consistent with Czech naming convention.
- (Setting either -czechfcns or -namechecks will suppress message)
-
-Finished LCLint checking --- 1 code error found, as expected
-
-czechnames.c:4:5: Variable pivo_pyet name violates Czech naming convention.
- Czech prefix pivo names an abstract type that is not accessible.
- Use +accessczech to allow access to type <t> in functions named <t>_<name>.
-czechnames.c:5:5: Variable michelob_light name violates Czech naming
- convention. Czech prefix michelob is not the name of a type.
- Variable name is not consistent with Czech naming convention. (Setting either
- -czechvars or -namechecks will suppress message)
-czechnames.c:8:17: Constant pivo_devenast name violates Czech naming
- convention. Czech prefix pivo names an abstract type that is not
- accessible.
- Use +accessczech to allow access to type <t> in functions named <t>_<name>.
-czechnames.c:11:6: Function pivo_yedno name violates Czech naming convention.
- Czech prefix pivo names an abstract type that is not accessible.
- Use +accessczech to allow access to type <t> in functions named <t>_<name>.
-czechnames.c: (in function pivo_yedno)
-czechnames.c:15:11: Left operand of == is abstract type (pivo): p == 1
- An abstraction barrier is broken. If necessary, use /*@access <type>@*/ to
- allow access to an abstract type. (-abstract will suppress message)
-czechnames.c:26:5: Function budweiser name is not consistent with Czech naming
- convention. Accessible types: pivo
-
-Finished LCLint checking --- 6 code errors found, as expected
%LCLop 9 : -> int
%LCLop MALE : -> _eemployee0e_Enum
%LCLop FEMALE : -> _eemployee0e_Enum
+%LCLop gender_ANY : -> _eemployee0e_Enum
%LCLop __ * __ :int, int -> int
%LCLop __ * __ :double, double -> double
-%LCLop gender_ANY : -> _eemployee0e_Enum
%LCLop true : -> bool
%LCLop false : -> bool
%LCLop MGR : -> _eemployee1e_Enum
%LCLop NONMGR : -> _eemployee1e_Enum
-%LCLop __ \and __ :bool, bool -> bool
%LCLop job_ANY : -> _eemployee1e_Enum
+%LCLop __ \and __ :bool, bool -> bool
%LCLop __ \or __ :bool, bool -> bool
%LCLop __ \eq __ :bool, bool -> bool
%LCLop __ \eq __ :int, int -> bool
%LCLsort __semployee0s_Struct_Arr arr _semployee0s_Struct nil
%LCLsort __semployee0s_Struct_Tuple_Vec vec _semployee0s_Struct_Tuple __semployee0s_Struct_Arr
%LCLsort _employee synonym _semployee0s_Struct nil
-%LCLsort eref immutable nil nil
-%LCLsort map immutable nil nil
-%LCLsort _map_Obj obj map nil
%LCLsort empset immutable nil nil
%LCLsort _empset_Obj mutable empset nil
%LCLSortTableEnd
%LCLop 7 : -> int
%LCLop 8 : -> int
%LCLop 9 : -> int
-%LCLop MALE : -> _eemployee0e_Enum
+%LCLtag eemployee0e enum
+%LCLop gender_ANY : -> _eemployee0e_Enum
%LCLop FEMALE : -> _eemployee0e_Enum
+%LCLop MALE : -> _eemployee0e_Enum
%LCLop __ * __ :int, int -> int
%LCLop __ * __ :double, double -> double
-%LCLop gender_ANY : -> _eemployee0e_Enum
%LCLop true : -> bool
-%LCLtag eemployee0e enum
+%LCLtag eemployee1e enum
+%LCLop job_ANY : -> _eemployee1e_Enum
%LCLop false : -> bool
-%LCLop MGR : -> _eemployee1e_Enum
%LCLop NONMGR : -> _eemployee1e_Enum
+%LCLop MGR : -> _eemployee1e_Enum
%LCLop __ \and __ :bool, bool -> bool
-%LCLop job_ANY : -> _eemployee1e_Enum
%LCLop __ \or __ :bool, bool -> bool
+%LCLtag semployee0s struct
%LCLop __ \eq __ :bool, bool -> bool
%LCLop __ \eq __ :int, int -> bool
%LCLop __ \eq __ :double, double -> bool
%LCLop __ \eq __ :_char_Vec, _char_Vec -> bool
%LCLop __ \eq __ :char, char -> bool
%LCLop \not __ :bool -> bool
-%LCLtag eemployee1e enum
%LCLop __ \neq __ :bool, bool -> bool
%LCLop __ \neq __ :int, int -> bool
%LCLop __ \neq __ :double, double -> bool
%LCLop __ \neq __ :_char_Vec, _char_Vec -> bool
%LCLop __ \neq __ :char, char -> bool
%LCLop { __ } :char -> _char_Vec
-%LCLtag semployee0s struct
%LCLop __ [] :__char_Obj_Ptr -> __char_Obj_Arr
%LCLop __ [] :__semployee0s_Struct_Ptr -> __semployee0s_Struct_Arr
%LCLop __ |- __ :_char_Vec, char -> _char_Vec
%LCLop __ \geq __ :int, int -> bool
%LCLop __ \geq __ :double, double -> bool
%LCLop null : -> char
-%LCLop __ \select ssNum :_semployee0s_Struct_Tuple -> int
-%LCLop __ \select ssNum :_semployee0s_Struct -> _int_Obj
-%LCLop __ \select name :_semployee0s_Struct_Tuple -> _char_Vec
-%LCLop __ \select name :_semployee0s_Struct -> __char_Obj_Arr
-%LCLop __ \field_arrow ssNum :__semployee0s_Struct_Ptr -> _int_Obj
-%LCLop __ \select salary :_semployee0s_Struct_Tuple -> int
-%LCLop __ \select salary :_semployee0s_Struct -> _int_Obj
-%LCLop __ \field_arrow name :__semployee0s_Struct_Ptr -> __char_Obj_Arr
-%LCLop __ \select gen :_semployee0s_Struct_Tuple -> _eemployee0e_Enum
-%LCLop __ \select gen :_semployee0s_Struct -> __eemployee0e_Enum_Obj
-%LCLop __ \field_arrow salary :__semployee0s_Struct_Ptr -> _int_Obj
%LCLop __ \select j :_semployee0s_Struct_Tuple -> _eemployee1e_Enum
%LCLop __ \select j :_semployee0s_Struct -> __eemployee1e_Enum_Obj
-%LCLop __ \field_arrow gen :__semployee0s_Struct_Ptr -> __eemployee0e_Enum_Obj
%LCLop __ \field_arrow j :__semployee0s_Struct_Ptr -> __eemployee1e_Enum_Obj
+%LCLop __ \select gen :_semployee0s_Struct_Tuple -> _eemployee0e_Enum
+%LCLop __ \select gen :_semployee0s_Struct -> __eemployee0e_Enum_Obj
+%LCLop __ \field_arrow gen :__semployee0s_Struct_Ptr -> __eemployee0e_Enum_Obj
+%LCLop __ \select salary :_semployee0s_Struct_Tuple -> int
+%LCLop __ \select salary :_semployee0s_Struct -> _int_Obj
+%LCLop __ \field_arrow salary :__semployee0s_Struct_Ptr -> _int_Obj
+%LCLop __ \select name :_semployee0s_Struct_Tuple -> _char_Vec
+%LCLop __ \select name :_semployee0s_Struct -> __char_Obj_Arr
+%LCLop __ \select ssNum :_semployee0s_Struct_Tuple -> int
+%LCLop __ \select ssNum :_semployee0s_Struct -> _int_Obj
+%LCLop __ \field_arrow name :__semployee0s_Struct_Ptr -> __char_Obj_Arr
+%LCLop __ \field_arrow ssNum :__semployee0s_Struct_Ptr -> _int_Obj
%LCLop NIL : -> __char_Obj_Ptr
%LCLop NIL : -> __semployee0s_Struct_Ptr
%LCLop - __ :int -> int
%LCLop sizeof :double -> int
%LCLop sizeof :_eemployee0e_Enum -> int
%LCLop sizeof :_eemployee1e_Enum -> int
-%LCLop sizeof :eref -> int
-%LCLop sizeof :map -> int
%LCLop sizeof :empset -> int
%LCLop isSub :_char_Vec, int -> bool
%LCLop isSub :__char_Obj_Arr, int -> bool
+++ /dev/null
-
-decl.c: (in function main)
-decl.c:7:3: Call to non-function (type [function (int) returns int] **): x
-decl.c:8:2: Path with no return in function declared to return int
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-decl.c:3:5: Function main declared without parameter list
-decl.c: (in function main)
-decl.c:7:3: Call to non-function (type [function (int) returns int] **): x
-decl.c:8:2: Path with no return in function declared to return int
-decl.c:1:5: Function test declared but not defined
-decl.c:1:5: Function test exported but not declared in header file
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-decl2.c:3:6: Variable glob2 defined with inconsistent type (arrays and pointers
- are not identical in variable declarations): int *
- decl2.h:3:12: Previous declaration of glob2: int []
-decl2.c:4:5: Variable glob2 redefined
- decl2.c:3:6: Previous definition of glob2
-decl2.c:6:6: Variable glob3 redeclared with inconsistent type: char
- decl2.h:4:12: Previous declaration of glob3: int
-decl2.c:9:5: Variable glob redefined
- decl2.c:8:5: Previous definition of glob
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-enum.c:2:16: Enumerator member cero declared with inconsistent type:
- enum { cero, uno, dos, tres }
- enum.lcl:2:16: Specification of cero: enum { cero, uno, dos }
-enum.c:2:22: Enumerator member uno declared with inconsistent type:
- enum { cero, uno, dos, tres }
- enum.lcl:2:22: Specification of uno: enum { cero, uno, dos }
-enum.c:2:27: Enumerator member dos declared with inconsistent type:
- enum { cero, uno, dos, tres }
- enum.lcl:2:27: Specification of dos: enum { cero, uno, dos }
-enum.c:2:39: Enum stype declared with members { cero, uno, dos, tres } but
- specified with members { cero, uno, dos }
- enum.lcl:2:33: Specification of stype
-enum.c:4:22: Enumerator member siete declared with inconsistent type:
- enum _itag { siete }
- enum.lcl:3:23: Specification of siete: enum _ietag { siete }
-enum.c:6:34: Structure st2 declared with fields { int a; int b; }, specified
- with fields { int a; int b; int c; }
- enum.lcl:6:41: Specification of st2
- enum.lcl:7:1: Field present in specification, missing in declaration: int c
-enum.c: (in function f)
-enum.c:15:7: Value a[] used before definition
-enum.c:23:6: Missing cases in switch: two, three
-enum.c:30:12: Case in switch not mtype member: three
-enum.c:36:8: Missing case in switch: threem
-enum.c:38:10: Duplicate case in switch: one
-enum.c:47:2: Path with no return in function declared to return int
-enum.c:51:8: Enumerator member hasta declared with inconsistent type:
- enum { hasta, pasta, yummy }
- enum.lcl:8:8: Specification of hasta: enum { hasta, pasta, yasta }
-enum.c:51:15: Enumerator member pasta declared with inconsistent type:
- enum { hasta, pasta, yummy }
- enum.lcl:8:15: Specification of pasta: enum { hasta, pasta, yasta }
-enum.lcl:3:9: Enum tag enum _ietag specified but not defined
-enum.lcl:8:22: Enum member yasta specified but not defined
-
-Finished LCLint checking --- 16 code errors found, as expected
-
-enum.c:2:16: Enumerator member cero declared with inconsistent type:
- enum { cero, uno, dos, tres }
- enum.lcl:2:16: Specification of cero: enum { cero, uno, dos }
-enum.c:2:22: Enumerator member uno declared with inconsistent type:
- enum { cero, uno, dos, tres }
- enum.lcl:2:22: Specification of uno: enum { cero, uno, dos }
-enum.c:2:27: Enumerator member dos declared with inconsistent type:
- enum { cero, uno, dos, tres }
- enum.lcl:2:27: Specification of dos: enum { cero, uno, dos }
-enum.c:2:39: Enum stype declared with members { cero, uno, dos, tres } but
- specified with members { cero, uno, dos }
- enum.lcl:2:33: Specification of stype
-enum.c:4:22: Enumerator member siete declared with inconsistent type:
- enum _itag { siete }
- enum.lcl:3:23: Specification of siete: enum _ietag { siete }
-enum.c:6:34: Structure st2 declared with fields { int a; int b; }, specified
- with fields { int a; int b; int c; }
- enum.lcl:6:41: Specification of st2
- enum.lcl:7:1: Field present in specification, missing in declaration: int c
-enum.c: (in function f)
-enum.c:15:7: Value a[] used before definition
-enum.c:30:12: Case in switch not mtype member: three
-enum.c:38:10: Duplicate case in switch: one
-enum.c:47:2: Path with no return in function declared to return int
-enum.c:51:8: Enumerator member hasta declared with inconsistent type:
- enum { hasta, pasta, yummy }
- enum.lcl:8:8: Specification of hasta: enum { hasta, pasta, yasta }
-enum.c:51:15: Enumerator member pasta declared with inconsistent type:
- enum { hasta, pasta, yummy }
- enum.lcl:8:15: Specification of pasta: enum { hasta, pasta, yasta }
-enum.lcl:3:9: Enum tag enum _ietag specified but not defined
-enum.lcl:8:22: Enum member yasta specified but not defined
-
-Finished LCLint checking --- 14 code errors found, as expected
+++ /dev/null
-
-Warning: setting +typeuse redundant with current value
-exports.h:1:13: Type exported, but not specified: myint
-exports.h:3:12: Variable exported, but not specified: glob
-exports.h:5:12: Function exported, but not specified: f
-exports.h:1:13: Type myint declared but not used
-exports.h:3:12: Variable glob declared but not used
- exports.c:3:5: Definition of glob
-exports.h:5:12: Function f declared but not used
- exports.c:8:1: Definition of f
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-exports.h:1:13: Type exported, but not specified: myint
-exports.h:3:12: Variable exported, but not specified: glob
-exports.h:5:12: Function exported, but not specified: f
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
+++ /dev/null
-
-Finished LCLint checking --- no code errors found
-
-external.c:2:5: External identifier Func is not distinguishable from func in
- the first 6 characters because alphabetical case is ignored
- external.c:1:5: Declaration of func
-external.c:8:5: External identifier longfunction2 is not distinguishable from
- longfunction1 in the first 6 characters (longfu)
- external.c:7:5: Declaration of longfunction1
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-external.c:2:5: External identifier Func is not distinguishable from func in
- the first 3 characters because alphabetical case is ignored
- external.c:1:5: Declaration of func
-external.c:5:5: External identifier small2 is not distinguishable from small1
- in the first 3 characters (sma)
- external.c:4:5: Declaration of small1
-external.c:8:5: External identifier longfunction2 is not distinguishable from
- longfunction1 in the first 3 characters (lon)
- external.c:7:5: Declaration of longfunction1
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-external.c:2:5: External identifier Func is not distinguishable from func in
- the first 3 characters because alphabetical case is ignored
- external.c:1:5: Declaration of func
-external.c:5:5: External identifier small2 is not distinguishable from small1
- in the first 3 characters (sma)
- external.c:4:5: Declaration of small1
-external.c:8:5: External identifier longfunction2 is not distinguishable from
- longfunction1 in the first 3 characters (lon)
- external.c:7:5: Declaration of longfunction1
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-external.c:2:5: External identifier Func is not distinguishable from func in
- the first 3 characters because alphabetical case is ignored
- external.c:1:5: Declaration of func
-external.c:5:5: External identifier small2 is not distinguishable from small1
- in the first 3 characters (sma)
- external.c:4:5: Declaration of small1
-external.c:7:5: External identifier longfunction1 is not distinguishable from
- LONG_MAX in the first 3 characters because alphabetical case is ignored
- load file ansi.lcd:785:1: Specification of LONG_MAX
- One or more additional indistinguishable external names not reported
-external.c:8:5: External identifier longfunction2 is not distinguishable from
- LONG_MAX in the first 3 characters because alphabetical case is ignored
- load file ansi.lcd:785:1: Specification of LONG_MAX
- One or more additional indistinguishable external names not reported
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-fields.c: (in function pair_create1)
-fields.c:37:10: Storage p->z reachable from return value is owned (should be
- dependent)
- fields.c:34:3: Storage p->z becomes owned
-fields.c: (in function mangle)
-fields.c:43:2: Released storage p->x reachable from parameter at return point
- fields.c:42:9: Storage p->x is released
-fields.c: (in function mangle2)
-fields.c:49:2: Storage p->y reachable from parameter is dependent (should be
- owned)
- fields.c:48:3: Storage p->y becomes dependent
-fields.c: (in function mangle3)
-fields.c:55:10: Storage p->y reachable from return value is dependent (should
- be owned)
- fields.c:54:3: Storage p->y becomes dependent
-fields.c: (in function f)
-fields.c:60:3: Owned storage p->x (type int *) not released before assignment:
- p->x = NULL
-fields.c:62:18: Function returns with null storage derivable from parameter
- p->x
- fields.c:60:10: Storage p->x becomes null
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-fields2.c: (in function pair_copy)
-fields2.c:21:16: Storage p->x reachable from parameter is kept (should be
- implicitly only)
- fields2.c:17:3: Storage p->x becomes kept
-fields2.c:21:16: Storage p->y reachable from parameter is kept (should be
- implicitly only)
- fields2.c:18:3: Storage p->y becomes kept
-fields2.c: (in function pair_create)
-fields2.c:30:3: Only storage p->y assigned to dependent: p->z = p->y
-fields2.c:35:10: Storage p->y reachable from return value is unqualified
- (should be implicitly only)
-fields2.c: (in function pair_swankle)
-fields2.c:43:14: Storage p->x reachable from passed parameter is kept (should
- be implicitly only): p
- fields2.c:42:3: Storage p->x becomes kept
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
+++ /dev/null
-
-flags.c:1:9: Variable x initialized to type char, expects int: 'c'
-flags.c:5:9: Variable y
- initialized to type
- char, expects int:
- 'c'
-flags.c:7:18: Warning:
- Value for linelen
- must be at least 20
- (given 13)
-flags.c:11:5:
- Internal identifier
- xx2 is not
- distinguishable
- from xx1 in the
- first 2 characters
- (xx)
- flags.c:10:5:
- Declaration of
- xx1
-flags.c:13:18:
- Semantic comment
- attempts to restore
- flag linelen. A
- flag for setting a
- value cannot be
- restored.
-flags.c:15:17: Semantic comment attempts to set global flag dump. A
- global flag cannot be set locally.
-flags.c:16:22: Flag macrovarprefix (in semantic comment) must be
- followed by an argument
-flags.c:17:26: Flag macrovarprefix (in semantic comment) must be
- followed by an argument
-flags.c:18:20: Flag linelen must be followed by a positive number
- number. Followed by asdf
-
-Finished LCLint checking --- 8 code errors found, as expected
-
-flags.c:1:9: Variable x initialized to type char, expects int: 'c'
-flags.c:5:9: Variable y initialized to type char, expects int: 'c'
-
-Finished LCLint checking --- 2 code errors found, as expected
+++ /dev/null
-
-funcpointer.c: (in function func2)
-funcpointer.c:13:27: Possibly null storage returned as non-null:
- (int *)malloc(sizeof(int))
-funcpointer.c:13:27: Returned storage not completely defined (storage pointed
- to by [result of malloc] is undefined): (int *)malloc(sizeof(int))
-funcpointer.c: (in function func5)
-funcpointer.c:19:28: Immediate address &i returned as implicitly only: &i
-funcpointer.c: (in function main)
-funcpointer.c:28:3: Assignment of [function (void) returns int] to f1:
- t1 = func1
-funcpointer.c:29:3: Assignment of [function (void) returns int ***] to f1:
- t1 = func4
-funcpointer.c:33:3: Assignment of [function (void) returns int *] to f2:
- t2 = func2
-funcpointer.c:36:3: Assignment of [function (void) returns int **] to f3 *:
- t3p = func3
-funcpointer.c:38:3: Assignment of [function (void) returns int *] to f4 *:
- t4 = func2
-funcpointer.c:41:7: Call to non-function (type f1): (t1)
-funcpointer.c:43:3: Assignment of int *** to int *: xp = (*t1)()
-funcpointer.c:44:8: Call to non-function (type f4 *): (t4)
-funcpointer.c:46:3: Assignment of [function (void) returns int] to f6:
- t6 = func1
-funcpointer.c:46:3: Invalid left-hand side of assignment (function type f6): t6
-funcpointer.c:47:3: Invalid left-hand side of assignment (function type f6): t6
-funcpointer.c:48:10: Function (t6) called with 0 args, expects 2
-funcpointer.c:49:10: Function (t6) called with 1 args, expects 2
-funcpointer.c:50:11: Function (t6) called with 1 args, expects 2
-funcpointer.c:50:10: Function ((t6)(3)) called with 0 args, expects 1
-
-Finished LCLint checking --- 18 code errors found, as expected
+++ /dev/null
-
-glob.c: (in function useGlob)
-glob.lcl:3: Global z listed but not used
-glob.c: (in function dontuseGlob)
-glob.c:13:11: Undocumented use of global x
-glob.c: (in function callsUseGlob)
-glob.c:23:11: Called procedure useGlob may access global y
-glob.c:23:11: Called procedure useGlob may access global z
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-glob.c: (in function dontuseGlob)
-glob.c:13:11: Undocumented use of global x
-glob.c: (in function callsUseGlob)
-glob.c:23:11: Called procedure useGlob may access global y
-glob.c:23:11: Called procedure useGlob may access global z
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-glob.c: (in function useGlob)
-glob.lcl:3: Global z listed but not used
-glob.c: (in function dontuseGlob)
-glob.c:13:11: Undocumented use of global x
-glob.c: (in function unspec)
-glob.c:18:11: Undocumented use of global y
-glob.c:18:15: Undocumented use of global z
-glob.c: (in function callsUseGlob)
-glob.c:23:11: Called procedure useGlob may access global y
-glob.c:23:11: Called procedure useGlob may access global z
-
-Finished LCLint checking --- 6 code errors found, as expected
+++ /dev/null
-
-globals.c:5:41: Redundant checked qualifier on doubled
-globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict
-globals.c: (in function noglobs)
-globals.c:13:3: Undocumented use of global checkstrict
-globals.c: (in function specglobs)
-globals.c:19:3: Undocumented use of global check
-globals.c:21:3: Undocumented use of global checkstrict
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-globals.c:5:41: Redundant checked qualifier on doubled
-globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict
-globals.c: (in function noglobs)
-globals.c:13:3: Undocumented use of global checkstrict
-globals.c: (in function specglobs)
-globals.c:18:3: Undocumented use of global imp
-globals.c:19:3: Undocumented use of global check
-globals.c:21:3: Undocumented use of global checkstrict
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-globals.c:5:41: Redundant checked qualifier on doubled
-globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict
-globals.c: (in function noglobs)
-globals.c:13:3: Undocumented use of global checkstrict
-globals.c: (in function specglobs)
-globals.c:18:3: Undocumented use of global imp
-globals.c:19:3: Undocumented use of global check
-globals.c:21:3: Undocumented use of global checkstrict
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-globals.c:5:41: Redundant checked qualifier on doubled
-globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-globals.c:5:41: Redundant checked qualifier on doubled
-globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict
-globals.c: (in function noglobs)
-globals.c:11:3: Undocumented use of global check
-globals.c:13:3: Undocumented use of global checkstrict
-globals.c: (in function specglobs)
-globals.c:19:3: Undocumented use of global check
-globals.c:21:3: Undocumented use of global checkstrict
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-globals.c:5:41: Redundant checked qualifier on doubled
-globals.c:6:46: Contradictory checked and unchecked qualifiers on contradict
-globals.c: (in function noglobs)
-globals.c:10:3: Undocumented use of global imp
-globals.c:11:3: Undocumented use of global check
-globals.c:13:3: Undocumented use of global checkstrict
-globals.c: (in function specglobs)
-globals.c:18:3: Undocumented use of global imp
-globals.c:19:3: Undocumented use of global check
-globals.c:21:3: Undocumented use of global checkstrict
-
-Finished LCLint checking --- 8 code errors found, as expected
+++ /dev/null
-
-Finished LCLint checking --- no code errors found
-
-impabstract.c: (in function f)
-impabstract.c:11:7: Left operand of < is abstract type (mint): m < 2
- An abstraction barrier is broken. If necessary, use /*@access <type>@*/ to
- allow access to an abstract type. (-abstract will suppress message)
-impabstract.c:13:14: Return value type mint does not match declared type int: m
- Underlying types match, but mint is an abstract type that is not accessible
- here.
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-impabstract.c:2:28: Mutable abstract type cint declared without pointer
- indirection: int (violates assignment semantics)
- LCL semantics requires that a mutable type exhibits sharing semantics. In
- order for objects to be shared a indirection is necessary in the
- representation. A mutable type may be represented by a pointer or an abstract
- mutable type. Handles into static data are fine, too, but will generate this
- error message unless it is suppressed. (-mutrep will suppress message)
-impabstract.c:2:28: Datatype cint inconsistently declared as concrete type
- A function, variable or constant is redefined with a different type.
- (-incondefs will suppress message)
- impabstract.lcl:2:1: Specification of cint
-impabstract.c: (in function f)
-impabstract.c:6:7: Left operand of > is abstract type (cint): c > 3
- An abstraction barrier is broken. If necessary, use /*@access <type>@*/ to
- allow access to an abstract type. (-abstract will suppress message)
-impabstract.c:8:14: Return value type cint does not match declared type int: c
- Underlying types match, but cint is an abstract type that is not accessible
- here.
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-init.c:1:16: Global c[0] initialized to null value: c[0] = NULL
-init.c:1:43: Initial value of c[2][2] is type int, expects char: 3
-init.c:1:48: Global c[3] initialized to null value: c[3] = NULL
-init.c:4:23: Global st.uname initialized to null value: st.uname = NULL
-init.c:4:29: Initial value of st.y is type double, expects int: 1.2
-init.c:7:7: Initializer block for st2[0] has 3 fields, but struct { char *
- name; int [] x; char * uname;, ... } has 4 fields: "bob", { 1, 2 }, NULL
-init.c:8:19: Initial value of st2[1].x is type int, expects int []: 3
-init.c:8:22: Global st2[1].uname initialized to null value: st2[1].uname = NULL
-init.c:10:13: Initializer block for a has 7 elements, but declared as int [10]:
- 1, 2, 3, 4, 3.4, 6, 4
-init.c:10:27: Initial value of a[4] is type double, expects int: 3.4
-init.c:12:34: Initial value of aa[1][1] is type double, expects int: 3.2
-init.c:14:13: Initializer block for b has 2 elements, but declared as int [10]:
- { 1, 2 }, { 3, 4 }
-init.c:14:15: Initializer block used for b[0] where int is expected: { 1, 2 }
-init.c:14:25: Initializer block used for b[1] where int is expected: { 3, 4 }
-
-Finished LCLint checking --- 14 code errors found, as expected
-
-init.c:1:16: Global c[0] initialized to null value: c[0] = NULL
-init.c:1:22: Read-only string literal storage used as initial value for
- unqualified storage: c[1] = "hullo"
-init.c:1:43: Initial value of c[2][2] is type int, expects char: 3
-init.c:1:48: Global c[3] initialized to null value: c[3] = NULL
-init.c:4:7: Read-only string literal storage used as initial value for
- unqualified storage: st.name = "bob"
-init.c:4:23: Global st.uname initialized to null value: st.uname = NULL
-init.c:4:29: Initial value of st.y is type double, expects int: 1.2
-init.c:7:7: Initializer block for st2[0] has 3 fields, but struct { char *
- name; int [] x; char * uname;, ... } has 4 fields: "bob", { 1, 2 }, NULL
-init.c:8:9: Read-only string literal storage used as initial value for
- unqualified storage: st2[1].name = "charly"
-init.c:8:19: Initial value of st2[1].x is type int, expects int []: 3
-init.c:8:22: Global st2[1].uname initialized to null value: st2[1].uname = NULL
-init.c:10:13: Initializer block for a has 7 elements, but declared as int [10]:
- 1, 2, 3, 4, 3.4, 6, 4
-init.c:10:27: Initial value of a[4] is type double, expects int: 3.4
-init.c:12:34: Initial value of aa[1][1] is type double, expects int: 3.2
-init.c:14:13: Initializer block for b has 2 elements, but declared as int [10]:
- { 1, 2 }, { 3, 4 }
-init.c:14:15: Initializer block used for b[0] where int is expected: { 1, 2 }
-init.c:14:25: Initializer block used for b[1] where int is expected: { 3, 4 }
-
-Finished LCLint checking --- 17 code errors found, as expected
+++ /dev/null
-
-inparam.c: (in function f)
-inparam.c:8:16: Passed storage x not completely defined (*x is undefined):
- unknown (x)
-inparam.c:12:16: Passed storage x not completely defined (*x is undefined):
- inparam (x)
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-inparam.c: (in function f)
-inparam.c:12:16: Passed storage x not completely defined (*x is undefined):
- inparam (x)
-
-Finished LCLint checking --- 1 code error found, as expected
+++ /dev/null
-
-internal.c: (in function f1)
-internal.c:21:9: Variable e1 shadows outer declaration
- internal.c:12:7: Previous definition of e1: int
-
-Finished LCLint checking --- 1 code error found, as expected
-
-internal.c:4:5: Internal identifier iwonderhowmanycharactersaresignificant2 is
- not distinguishable from iwonderhowmanycharactersaresignificant1 in the
- first 31 characters (iwonderhowmanycharactersaresign)
- internal.c:3:5: Declaration of iwonderhowmanycharactersaresignificant1
-internal.c: (in function f1)
-internal.c:21:9: Variable e1 shadows outer declaration
- internal.c:12:7: Previous definition of e1: int
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-internal.c:4:5: Internal identifier iwonderhowmanycharactersaresignificant2 is
- not distinguishable from iwonderhowmanycharactersaresignificant1 in the
- first 28 characters (iwonderhowmanycharactersares)
- internal.c:3:5: Declaration of iwonderhowmanycharactersaresignificant1
-internal.c:6:5: Internal identifier manycharactersaresignificant2 is not
- distinguishable from manycharactersaresignificant1 in the first 28
- characters (manycharactersaresignificant)
- internal.c:5:5: Declaration of manycharactersaresignificant1
-internal.c: (in function f1)
-internal.c:21:9: Variable e1 shadows outer declaration
- internal.c:12:7: Previous definition of e1: int
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-internal.c: (in function f1)
-internal.c:15:8: Internal identifier Alphabet is not distinguishable from
- alphabet without case sensitivity
- internal.c:14:7: Declaration of alphabet
-internal.c:21:9: Variable e1 shadows outer declaration
- internal.c:12:7: Previous definition of e1: int
-internal.c:23:11: Internal identifier lcAse is not distinguishable from lcase
- without case sensitivity
- internal.c:18:7: Declaration of lcase
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-internal.c:10:6: Internal identifier f1 is not distinguishable from fl except
- by lookalike characters
- internal.c:8:12: Declaration of fl
-internal.c: (in function f1)
-internal.c:13:9: Internal identifier el is not distinguishable from e1 except
- by lookalike characters
- internal.c:12:7: Declaration of e1
-internal.c:15:8: Internal identifier Alphabet is not distinguishable from
- alphabet without case sensitivity
- internal.c:14:7: Declaration of alphabet
-internal.c:17:8: Internal identifier alphabetlsoup is not distinguishable from
- alphabet1soup except by lookalike characters
- internal.c:16:7: Declaration of alphabet1soup
-internal.c:21:9: Variable e1 shadows outer declaration
- internal.c:12:7: Previous definition of e1: int
-internal.c:21:9: Internal identifier e1 is not distinguishable from el except
- by lookalike characters
- internal.c:13:9: Declaration of el
-internal.c:22:9: Internal identifier a1phabet is not distinguishable from
- alphabet except by lookalike characters
- internal.c:14:7: Declaration of alphabet
-internal.c:23:11: Internal identifier lcAse is not distinguishable from lcase
- without case sensitivity
- internal.c:18:7: Declaration of lcase
-internal.c:25:9: Internal identifier sS2 is not distinguishable from s52 except
- by lookalike characters
- internal.c:24:9: Declaration of s52
-internal.c:26:9: Internal identifier s5Z is not distinguishable from s52 except
- by lookalike characters
- internal.c:24:9: Declaration of s52
-internal.c:28:9: Internal identifier num0 is not distinguishable from numO
- except by lookalike characters
- internal.c:27:9: Declaration of numO
-
-Finished LCLint checking --- 11 code errors found, as expected
+++ /dev/null
-
-iter.lcl:3:6: Iterator has no yield parameters: noYield
-iter.c: (in function test)
-iter.c:9:14: Unrecognized identifier: x
-iter.c:14:16: Yield parameter shadows local declaration: i
- iter.c:6:7: Declaration of i
-iter.c:18:8: Iter intFor not balanced with end_intFor
-iter.c:14:12: Iter intFor expects arg 2 to be int gets char: c
-iter.c:20:20: Variable i used before definition
-iter.c:20:20: Yield parameter is not simple identifier: i + 3
-iter.c:24:24: Iter intFor not balanced with end_intFor: end_arrayElements
-iter.h: (in iter intFor)
-iter.h:1:27: Parameter ___x name is not consistent with macro variable
- namespace prefix "m_"
-iter.h: (in iter arrayElements)
-iter.h:7:31: Parameter ___x name is not consistent with macro variable
- namespace prefix "m_"
-iter.h:7:43: Variable ___c name is not consistent with macro variable namespace
- prefix "m_"
-iter.h:7:55: Variable ___b name is not consistent with macro variable namespace
- prefix "m_"
-iter.h:8:1: Macro parameter j used in conditionally executed code (may or may
- not be evaluated exactly once) (in post loop test)
-iter.lcl:3:6: Iterator noYield specified but not defined
-iter.lcl:3:6: Iterator finalizer end_noYield specified but not defined
-
-Finished LCLint checking --- 1 spec error found, as expected
- 14 code errors found, as expected
-
-iter2.c: (in function test)
-iter2.c:9:14: Unrecognized identifier: x
-iter2.c:14:16: Yield parameter shadows local declaration: i
- iter2.c:6:7: Declaration of i
-iter2.c:17:8: Iter intFor not balanced with end_intFor
-iter2.c:14:12: Iter intFor expects arg 2 to be int gets char: c
-iter2.c:19:17: Variable i used before definition
-iter2.c:19:17: Yield parameter is not simple identifier: i + 3
-iter2.c:22:24: Iter intFor not balanced with end_intFor: end_arrayElements
-iter2.h: (in iter intFor)
-iter2.h:2:27: Parameter ___x name is not consistent with macro variable
- namespace prefix "m_"
-iter2.h: (in iter arrayElements)
-iter2.h:8:31: Parameter ___x name is not consistent with macro variable
- namespace prefix "m_"
-iter2.h:8:43: Variable ___c name is not consistent with macro variable
- namespace prefix "m_"
-iter2.h:8:55: Variable ___b name is not consistent with macro variable
- namespace prefix "m_"
-iter2.h:9:1: Macro parameter j used in conditionally executed code (may or may
- not be evaluated exactly once) (in post loop test)
-
-Finished LCLint checking --- 12 code errors found, as expected
+++ /dev/null
-
-libs.c: (in function compare2)
-libs.c:14:10: Observer storage returned without qualification: "ok"
- libs.c:14:10: Storage becomes observer
-libs.c: (in function leave)
-libs.c:20:9: Function exit expects arg 1 to be int gets char *: "hullo"
-libs.c:21:3: Unreachable code: exit(i)
-libs.c: (in function print)
-libs.c:29:3: Format string parameter to fprintf is not a compile-time constant:
- s
-libs.c:30:3: Format string parameter to printf is not a compile-time constant:
- s
-libs.c:31:3: Format string parameter to fprintf is not a compile-time constant:
- s
-libs.c:33:3: Assignment of int to char: c = fgetc(f)
-libs.c:34:3: Assignment of int to char: c = getc(f)
-libs.c: (in function main)
-libs.c:46:44: Function bsearch expects arg 4 to be size_t gets [function (int,
- int) returns int]: compare
-libs.c:46:10: Function bsearch called with 4 args, expects 5
-libs.c:48:50: Function bsearch expects arg 5 to be [function (void *, void *)
- returns int] * gets [function () returns char] *:
- ([function () returns char] *)compare2
-libs.c:48:3: Return value (type void *) ignored: bsearch(NULL, NU...
-libs.c:52:10: Function qsort expects arg 1 to be void * gets unsigned int: x
-libs.c:52:19: Function qsort expects arg 4 to be [function (void *, void *)
- returns int] * gets [function () returns char] *:
- ([function () returns char] *)compare2
-libs.c:54:11: Unrecognized identifier: SIGHUP
-libs.c:54:19: Function signal expects arg 2 to be [function (int) returns void]
- * gets [function (int, int) returns int]: compare
-libs.c:54:3: Return value (type [function (int) returns void]) ignored:
- signal(SIGHUP, c...
-libs.c:55:3: Return value (type [function (int) returns void]) ignored:
- signal(SIGHUP, l...
-
-Finished LCLint checking --- 18 code errors found, as expected
-
-libs.c: (in function compare2)
-libs.c:14:10: Observer storage returned without qualification: "ok"
- libs.c:14:10: Storage becomes observer
-libs.c: (in function leave)
-libs.c:20:9: Function exit expects arg 1 to be int gets char *: "hullo"
-libs.c:21:3: Unreachable code: exit(i)
-libs.c: (in function print)
-libs.c:29:3: Format string parameter to fprintf is not a compile-time constant:
- s
-libs.c:30:3: Format string parameter to printf is not a compile-time constant:
- s
-libs.c:31:3: Format string parameter to fprintf is not a compile-time constant:
- s
-libs.c:33:3: Assignment of int to char: c = fgetc(f)
-libs.c:34:3: Assignment of int to char: c = getc(f)
-libs.c: (in function main)
-libs.c:46:44: Function bsearch expects arg 4 to be size_t gets [function (int,
- int) returns int]: compare
-libs.c:46:10: Function bsearch called with 4 args, expects 5
-libs.c:48:50: Function bsearch expects arg 5 to be [function (void *, void *)
- returns int] * gets [function () returns char] *:
- ([function () returns char] *)compare2
-libs.c:48:3: Return value (type void *) ignored: bsearch(NULL, NU...
-libs.c:51:16: Function qsort expects arg 2 to be size_t gets unsigned int: x
-libs.c:51:19: Function qsort expects arg 3 to be size_t gets unsigned int: x
-libs.c:52:10: Function qsort expects arg 1 to be void * gets unsigned int: x
-libs.c:52:13: Function qsort expects arg 2 to be size_t gets unsigned int: x
-libs.c:52:16: Function qsort expects arg 3 to be size_t gets unsigned int: x
-libs.c:52:19: Function qsort expects arg 4 to be [function (void *, void *)
- returns int] * gets [function () returns char] *:
- ([function () returns char] *)compare2
-libs.c:54:11: Unrecognized identifier: SIGHUP
-libs.c:54:19: Function signal expects arg 2 to be [function (int) returns void]
- * gets [function (int, int) returns int]: compare
-libs.c:54:3: Return value (type [function (int) returns void]) ignored:
- signal(SIGHUP, c...
-libs.c:55:3: Return value (type [function (int) returns void]) ignored:
- signal(SIGHUP, l...
-
-Finished LCLint checking --- 22 code errors found, as expected
-
-libs.c: (in function compare2)
-libs.c:14:10: Observer storage returned without qualification: "ok"
- libs.c:14:10: Storage becomes observer
-libs.c: (in function leave)
-libs.c:20:9: Function exit expects arg 1 to be int gets char *: "hullo"
-libs.c:21:3: Unreachable code: exit(i)
-libs.c: (in function print)
-libs.c:29:3: Format string parameter to fprintf is not a compile-time constant:
- s
-libs.c:29:3: Undocumented modification of *f possible from call to fprintf:
- fprintf(f, s)
-libs.c:30:3: Format string parameter to printf is not a compile-time constant:
- s
-libs.c:31:3: Format string parameter to fprintf is not a compile-time constant:
- s
-libs.c:33:7: Undocumented modification of *f possible from call to fgetc:
- fgetc(f)
-libs.c:33:3: Assignment of int to char: c = fgetc(f)
-libs.c:34:7: Undocumented modification of *f possible from call to getc:
- getc(f)
-libs.c:34:3: Assignment of int to char: c = getc(f)
-libs.c: (in function main)
-libs.c:46:44: Function bsearch expects arg 4 to be size_t gets [function (int,
- int) returns int]: compare
-libs.c:46:10: Function bsearch called with 4 args, expects 5
-libs.c:48:50: Function bsearch expects arg 5 to be [function (void *, void *)
- returns int] * gets [function () returns char] *:
- ([function () returns char] *)compare2
-libs.c:48:3: Return value (type void *) ignored: bsearch(NULL, NU...
-libs.c:51:16: Function qsort expects arg 2 to be size_t gets unsigned int: x
-libs.c:51:19: Function qsort expects arg 3 to be size_t gets unsigned int: x
-libs.c:52:10: Function qsort expects arg 1 to be void * gets unsigned int: x
-libs.c:52:13: Function qsort expects arg 2 to be size_t gets unsigned int: x
-libs.c:52:16: Function qsort expects arg 3 to be size_t gets unsigned int: x
-libs.c:52:19: Function qsort expects arg 4 to be [function (void *, void *)
- returns int] * gets [function () returns char] *:
- ([function () returns char] *)compare2
-libs.c:54:11: Unrecognized identifier: SIGHUP
-libs.c:54:19: Function signal expects arg 2 to be [function (int) returns void]
- * gets [function (int, int) returns int]: compare
-libs.c:54:3: Return value (type [function (int) returns void]) ignored:
- signal(SIGHUP, c...
-libs.c:55:3: Return value (type [function (int) returns void]) ignored:
- signal(SIGHUP, l...
-
-Finished LCLint checking --- 25 code errors found, as expected
-
-libs.c: (in function compare2)
-libs.c:14:10: Observer storage returned without qualification: "ok"
- libs.c:14:10: Storage becomes observer
-libs.c: (in function leave)
-libs.c:20:9: Function exit expects arg 1 to be int gets char *: "hullo"
-libs.c:21:3: Unreachable code: exit(i)
-libs.c: (in function print)
-libs.c:29:3: Format string parameter to fprintf is not a compile-time constant:
- s
-libs.c:29:3: Undocumented modification of *f possible from call to fprintf:
- fprintf(f, s)
-libs.c:29:3: Return value (type int) ignored: fprintf(f, s)
-libs.c:30:3: Format string parameter to printf is not a compile-time constant:
- s
-libs.c:30:3: Called procedure printf may access global stdout
-libs.c:30:3: Undocumented modification of *stdout possible from call to printf:
- printf(s)
-libs.c:30:3: Return value (type int) ignored: printf(s)
-libs.c:31:12: Undocumented use of global stderr
-libs.c:31:3: Format string parameter to fprintf is not a compile-time constant:
- s
-libs.c:31:3: Undocumented modification of *stderr possible from call to
- fprintf: fprintf(stderr, s)
-libs.c:31:3: Return value (type int) ignored: fprintf(stderr, s)
-libs.c:33:7: Called procedure fgetc may access global errno
-libs.c:33:7: Undocumented modification of *f possible from call to fgetc:
- fgetc(f)
-libs.c:33:7: Undocumented modification of errno possible from call to fgetc:
- fgetc(f)
-libs.c:33:3: Assignment of int to char: c = fgetc(f)
-libs.c:34:7: Undocumented modification of *f possible from call to getc:
- getc(f)
-libs.c:34:3: Assignment of int to char: c = getc(f)
-libs.c: (in function main)
-libs.c:46:44: Function bsearch expects arg 4 to be size_t gets [function (int,
- int) returns int]: compare
-libs.c:46:10: Function bsearch called with 4 args, expects 5
-libs.c:48:50: Function bsearch expects arg 5 to be [function (void *, void *)
- returns int] * gets [function () returns char] *:
- ([function () returns char] *)compare2
-libs.c:48:3: Return value (type void *) ignored: bsearch(NULL, NU...
-libs.c:51:16: Function qsort expects arg 2 to be size_t gets unsigned int: x
-libs.c:51:19: Function qsort expects arg 3 to be size_t gets unsigned int: x
-libs.c:51:3: Called procedure qsort may access global errno
-libs.c:51:3: Undocumented modification of errno possible from call to qsort:
- qsort(NULL, x, x, ([function () returns int] *)compare)
-libs.c:52:10: Function qsort expects arg 1 to be void * gets unsigned int: x
-libs.c:52:13: Function qsort expects arg 2 to be size_t gets unsigned int: x
-libs.c:52:16: Function qsort expects arg 3 to be size_t gets unsigned int: x
-libs.c:52:19: Function qsort expects arg 4 to be [function (void *, void *)
- returns int] * gets [function () returns char] *:
- ([function () returns char] *)compare2
-libs.c:52:3: Called procedure qsort may access global errno
-libs.c:52:3: Undocumented modification of errno possible from call to qsort:
- qsort(x, x, x, ([function () returns char] *)compare2)
-libs.c:54:11: Unrecognized identifier: SIGHUP
-libs.c:54:19: Function signal expects arg 2 to be [function (int) returns void]
- * gets [function (int, int) returns int]: compare
-libs.c:54:3: Called procedure signal may access global errno
-libs.c:54:3: Undocumented modification of errno possible from call to signal:
- signal(SIGHUP, compare)
-libs.c:54:3: Return value (type [function (int) returns void]) ignored:
- signal(SIGHUP, c...
-libs.c:55:3: Called procedure signal may access global errno
-libs.c:55:3: Undocumented modification of errno possible from call to signal:
- signal(SIGHUP, leave)
-libs.c:55:3: Return value (type [function (int) returns void]) ignored:
- signal(SIGHUP, l...
-
-Finished LCLint checking --- 42 code errors found, as expected
+++ /dev/null
-
-lintcomments.c: (in function f)
-lintcomments.c:8:33: Traditional lint comment /*FALLTHROUGH*/ used. This is
- interpreted by LCLint in the same way as most Unix lints, but it is
- preferable to replace it with the /*@fallthrough@*/ semantic comment
-lintcomments.c:9:30: Traditional lint comment /*FALLTHRU*/ used. This is
- interpreted by LCLint in the same way as most Unix lints, but it is
- preferable to replace it with the /*@fallthrough@*/ semantic comment
-lintcomments.c:11:13: Fall through case (no preceding break)
-lintcomments.c:23:21: Traditional lint comment /*NOTREACHED*/ used. This is
- interpreted by LCLint in the same way as most Unix lints, but it is
- preferable to replace it with the /*@notreached@*/ semantic comment.
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-lintcomments.c: (in function f)
-lintcomments.c:11:13: Fall through case (no preceding break)
-
-Finished LCLint checking --- 1 code error found, as expected
-
-lintcomments.c: (in function f)
-lintcomments.c:9:10: Fall through case (no preceding break)
-lintcomments.c:10:10: Fall through case (no preceding break)
-lintcomments.c:11:13: Fall through case (no preceding break)
-lintcomments.c:24:8: Unreachable code: i++
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-list.c: (in function list_addh)
-list.c:24:5: Variable e is kept in true branch, but not kept in continuation.
- list.c:23:7: Storage e becomes kept
-list.c:25:2: Storage *(l->next) reachable from parameter contains 1 undefined
- field: next
-list.c: (in function list_addh2)
-list.c:39:2: Storage *(l->next) reachable from parameter contains 1 undefined
- field: next
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-macrosef.c: (in macro f)
-macrosef.c:2:14: Macro parameter y used more than once
-macrosef.c: (in function m)
-macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify
- file system state: (printf("yo\n"), 3)
-macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify
- *stdout: (printf("yo\n"), 3)
-macrosef.c:14:14: Parameter 1 to f is declared sef, but the argument may modify
- *p: g(p)
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-macrosef.c: (in macro f)
-macrosef.c:2:14: Macro parameter y used more than once
-macrosef.c: (in function m)
-macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify
- file system state: (printf("yo\n"), 3)
-macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify
- *stdout: (printf("yo\n"), 3)
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-macrosef.c: (in macro f)
-macrosef.c:2:14: Macro parameter y used more than once
-macrosef.c: (in function m)
-macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify
- file system state: (printf("yo\n"), 3)
-macrosef.c:12:14: Parameter 1 to f is declared sef, but the argument may modify
- *stdout: (printf("yo\n"), 3)
-macrosef.c:14:14: Parameter 1 to f is declared sef, but the argument calls
- unconstrained function g (no guarantee it will not modify something): g(p)
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-merge.c: (in function f2)
-merge.c:33:4: Variable y used in inconsistent state
- merge.c:30:28: Storage y becomes inconsistent (released on one branch)
-merge.c:33:4: Dereference of possibly null pointer y: *y
- merge.c:21:12: Storage y may become null
-merge.c: (in function f3)
-merge.c:51:4: Dereference of possibly null pointer y: *y
- merge.c:50:7: Storage y may become null
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-modifies.c:7:29: Modifies list uses internalState which is a variable and has
- special meaning in a modifies list. (Special meaning assumed.)
- modifies.c:4:25: Declaration of internalState
-modifies.c:13:26: Modifies list uses fileSystem which is a parameter and has
- special meaning in a modifies list. (Special meaning assumed.)
-modifies.c:17:5: Globals list for f6 includes internal state, mstat, but
- previously declared without globals internalState.
- modifies.c:15:5: Declaration of f6
-modifies.c:17:5: Modifies list for f6 includes internal state, but previously
- declared without modifies internal.
- modifies.c:15:5: Declaration of f6
-modifies.c: (in function f1)
-modifies.c:24:3: Undocumented modification of mstat: mstat++
-modifies.c: (in function g2)
-modifies.c:37:1: Function g2 specified to modify internal state but no internal
- state is modified
- modifies.h:3:12: Declaration of g2
-modclient.c: (in function mod)
-modclient.c:3:3: Statement has no effect: (void)f1(p)
-
-Finished LCLint checking --- 7 code errors found, as expected
+++ /dev/null
-
-modtest.c: (in function g)
-modtest.lcl:15: Global x listed but not used
-modtest.lcl:15: Global y listed but not used
-modtest.c:9:12: Parameter a not used
-modtest.c:9:22: Parameter p not used
-modtest.c: (in function f)
-modtest.c:16:3: Undocumented modification of i[3]: i[3] = y
-modtest.c:17:3: Undocumented modification of j[2]: j[2] = x
-modtest.c:22:3: Undocumented modification of y: y++
-modtest.c:25:3: Undocumented modification of tstp->b: tstp->b = 6
-modtest.c:26:3: Undocumented modification of y possible from call to g: g(j, i)
-modtest.c:26:3: Return value (type int) ignored: g(j, i)
-
-Finished LCLint checking --- 10 code errors found, as expected
-
-modtest.c: (in function g)
-modtest.lcl:15: Global x listed but not used
-modtest.lcl:15: Global y listed but not used
-modtest.c:9:12: Parameter a not used
-modtest.c:9:22: Parameter p not used
-modtest.c: (in function f)
-modtest.c:16:3: Undocumented modification of i[3]: i[3] = y
-modtest.c:17:3: Undocumented modification of j[2]: j[2] = x
-modtest.c:22:3: Undocumented modification of y: y++
-modtest.c:25:3: Undocumented modification of tstp->b: tstp->b = 6
-modtest.c:26:3: Undocumented modification of y possible from call to g: g(j, i)
-modtest.c:26:3: Return value (type int) ignored: g(j, i)
-modtest.c: (in function h)
-modtest.c:33:3: Undocumented modification of y: y++
-modtest.c:34:10: Undocumented modification of x possible from call to g:
- g(a, &x)
-modtest.c:34:10: Undocumented modification of y possible from call to g:
- g(a, &x)
-
-Finished LCLint checking --- 13 code errors found, as expected
-
-modtest.c: (in function g)
-modtest.lcl:15: Global x listed but not used
-modtest.lcl:15: Global y listed but not used
-modtest.c:12:1: Suspect object listed in modifies of g not modified: x
- modtest.lcl:15: Specification of g
-modtest.c:12:1: Suspect object listed in modifies of g not modified: y
- modtest.lcl:15: Specification of g
-modtest.c:9:12: Parameter a not used
-modtest.c:9:22: Parameter p not used
-modtest.c: (in function f)
-modtest.c:16:3: Undocumented modification of i[3]: i[3] = y
-modtest.c:17:3: Undocumented modification of j[2]: j[2] = x
-modtest.c:22:3: Undocumented modification of y: y++
-modtest.c:25:3: Undocumented modification of tstp->b: tstp->b = 6
-modtest.c:26:3: Undocumented modification of y possible from call to g: g(j, i)
-modtest.c:26:3: Return value (type int) ignored: g(j, i)
-modtest.c:29:1: Suspect object listed in modifies of f not modified: ai[6]
- modtest.lcl:8: Specification of f
-modtest.c:29:1: Suspect object listed in modifies of f not modified: tstp->a
- modtest.lcl:8: Specification of f
-
-Finished LCLint checking --- 14 code errors found, as expected
+++ /dev/null
-
-moduncon.c: (in function g)
-moduncon.c:12:10: Undetected modification possible from call to unconstrained
- function umod: umod
-moduncon.c:13:22: Undetected modification possible from call to unconstrained
- function umod: umod
-moduncon.c:13:16: Undetected modification possible from call to unconstrained
- function mmod: mmod
-moduncon.c:13:10: Undetected modification possible from call to unconstrained
- function umod: umod
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-moduncon.c: (in function f)
-moduncon.c:6:22: Undetected modification possible from call to unconstrained
- function umod: umod
-moduncon.c:6:22: New fresh storage (type int *) passed as implicitly temp (not
- released): umod(x)
-moduncon.c:6:16: Undetected modification possible from call to unconstrained
- function mmod: mmod
-moduncon.c:6:16: New fresh storage (type int *) passed as implicitly temp (not
- released): mmod(umod(x))
-moduncon.c:6:10: Undetected modification possible from call to unconstrained
- function umod: umod
-moduncon.c:6:3: Statement has no effect (possible undected modification through
- call to unconstrained functions umod, mmod): (void)umod(mmod(...
-moduncon.c: (in function g)
-moduncon.c:12:10: Undetected modification possible from call to unconstrained
- function umod: umod
-moduncon.c:12:3: Statement has no effect (possible undected modification
- through call to unconstrained function umod): (void)umod(x)
-moduncon.c:13:22: Undetected modification possible from call to unconstrained
- function umod: umod
-moduncon.c:13:22: New fresh storage (type int *) passed as implicitly temp (not
- released): umod(x)
-moduncon.c:13:16: Undetected modification possible from call to unconstrained
- function mmod: mmod
-moduncon.c:13:16: New fresh storage (type int *) passed as implicitly temp (not
- released): mmod(umod(x))
-moduncon.c:13:10: Undetected modification possible from call to unconstrained
- function umod: umod
-moduncon.c:13:3: Statement has no effect (possible undected modification
- through call to unconstrained functions umod, mmod): (void)umod(mmod(...
-moduncon.c:1:6: Function mmod declared but not defined
-moduncon.c:2:6: Function umod declared but not defined
-moduncon.c:4:5: Function f declared but not used
- moduncon.c:8:1: Definition of f
-moduncon.c:10:5: Function g declared but not used
- moduncon.c:15:1: Definition of g
-moduncon.c:1:6: Function mmod exported but not declared in header file
-moduncon.c:2:6: Function umod exported but not declared in header file
-moduncon.c:4:5: Function f exported but not declared in header file
- moduncon.c:8:1: Definition of f
-moduncon.c:10:5: Function g exported but not declared in header file
- moduncon.c:15:1: Definition of g
-
-Finished LCLint checking --- 22 code errors found, as expected
+++ /dev/null
-
-minc1.h:1: Maximum include nesting depth (1, current depth 2) exceeded
- mongoincludes.c:1: Include site
-minc4.h:1: Maximum include nesting depth (1, current depth 3) exceeded
- minc1.h:1: Include site
- mongoincludes.c:1: Include site
-minc1.h:2: Maximum include nesting depth (1, current depth 2) exceeded
- mongoincludes.c:1: Include site
-minc1.h:3: Maximum include nesting depth (1, current depth 2) exceeded
- mongoincludes.c:1: Include site
-minc2.h:1: Maximum include nesting depth (1, current depth 3) exceeded
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc3.h:1: Maximum include nesting depth (1, current depth 4) exceeded
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc4.h:1: Maximum include nesting depth (1, current depth 5) exceeded
- minc3.h:1: Include site
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc3.h:2: Maximum include nesting depth (1, current depth 4) exceeded
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc2.h:2: Maximum include nesting depth (1, current depth 3) exceeded
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc4.h:1: Maximum include nesting depth (1, current depth 4) exceeded
- minc2.h:2: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc2.h:3: Maximum include nesting depth (1, current depth 3) exceeded
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc1.h:4: Maximum include nesting depth (1, current depth 2) exceeded
- mongoincludes.c:1: Include site
-minc3.h:1: Maximum include nesting depth (1, current depth 3) exceeded
- minc1.h:4: Include site
- mongoincludes.c:1: Include site
-minc3.h:2: Maximum include nesting depth (1, current depth 3) exceeded
- minc1.h:4: Include site
- mongoincludes.c:1: Include site
-minc2.h:1: Maximum include nesting depth (1, current depth 2) exceeded
- mongoincludes.c:2: Include site
-minc2.h:2: Maximum include nesting depth (1, current depth 2) exceeded
- mongoincludes.c:2: Include site
-minc2.h:3: Maximum include nesting depth (1, current depth 2) exceeded
- mongoincludes.c:2: Include site
-minc3.h:1: Maximum include nesting depth (1, current depth 2) exceeded
- mongoincludes.c:3: Include site
-minc3.h:2: Maximum include nesting depth (1, current depth 2) exceeded
- mongoincludes.c:3: Include site
-
-Finished LCLint checking --- 19 code errors found, as expected
-
-minc4.h:1: Maximum include nesting depth (2, current depth 3) exceeded
- minc1.h:1: Include site
- mongoincludes.c:1: Include site
-minc2.h:1: Maximum include nesting depth (2, current depth 3) exceeded
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc3.h:1: Maximum include nesting depth (2, current depth 4) exceeded
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc4.h:1: Maximum include nesting depth (2, current depth 5) exceeded
- minc3.h:1: Include site
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc3.h:2: Maximum include nesting depth (2, current depth 4) exceeded
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc2.h:2: Maximum include nesting depth (2, current depth 3) exceeded
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc4.h:1: Maximum include nesting depth (2, current depth 4) exceeded
- minc2.h:2: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc2.h:3: Maximum include nesting depth (2, current depth 3) exceeded
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc3.h:1: Maximum include nesting depth (2, current depth 3) exceeded
- minc1.h:4: Include site
- mongoincludes.c:1: Include site
-minc3.h:2: Maximum include nesting depth (2, current depth 3) exceeded
- minc1.h:4: Include site
- mongoincludes.c:1: Include site
-
-Finished LCLint checking --- 10 code errors found, as expected
-
-minc3.h:1: Maximum include nesting depth (3, current depth 4) exceeded
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc4.h:1: Maximum include nesting depth (3, current depth 5) exceeded
- minc3.h:1: Include site
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc3.h:2: Maximum include nesting depth (3, current depth 4) exceeded
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-minc4.h:1: Maximum include nesting depth (3, current depth 4) exceeded
- minc2.h:2: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-minc4.h:1: Maximum include nesting depth (4, current depth 5) exceeded
- minc3.h:1: Include site
- minc2.h:1: Include site
- minc1.h:3: Include site
- mongoincludes.c:1: Include site
-
-Finished LCLint checking --- 1 code error found, as expected
-
-Finished LCLint checking --- no code errors found
+++ /dev/null
-
-mystrncat.c: (in function func)
-mystrncat.c:12:13: Passed storage buffer not completely defined (*buffer is
- undefined): mystrncat (buffer, ...)
-mystrncat.c:13:13: Passed storage b not completely defined (*b is undefined):
- mystrncat (b, ...)
-mystrncat.c:12:3: Possible out-of-bounds store:
- Unable to resolve constraint:
- requires maxRead(buffer @ mystrncat.c:12:13) <= 0
- needed to satisfy precondition:
- requires maxSet(buffer @ mystrncat.c:12:13) >= maxRead(buffer @
- mystrncat.c:12:13) + 255
- derived from mystrncat precondition:
- requires maxSet(<parameter 1>) >= maxRead(<parameter 1>) + <parameter 3>
-mystrncat.c:13:3: Possible out-of-bounds store:
- Unable to resolve constraint:
- requires maxRead(malloc(256) @ mystrncat.c:10:7) <= 0
- needed to satisfy precondition:
- requires maxSet(b @ mystrncat.c:13:13) >= maxRead(b @ mystrncat.c:13:13) +
- 255
- derived from mystrncat precondition:
- requires maxSet(<parameter 1>) >= maxRead(<parameter 1>) + <parameter 3>
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-noeffect.c: (in macro exprNode_swap)
-noeffect.c:3:59: Assignment to macro parameter: e1
- A macro parameter is used as the left side of an assignment expression. This
- exhibits behavior that could not be implemented by a function. (-macroassign
- will suppress message)
-noeffect.c:3:72: Assignment to macro parameter: e2
-noeffect.c:2:18: File static function exprNode_swap declared but not used
- A function is declared but not used. Use /*@unused@*/ in front of function
- header to suppress message. (-fcnuse will suppress message)
- noeffect.c:3: Definition of exprNode_swap
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-null1.c: (in function f)
-null1.c:19:20: Implicitly temp storage x returned as only: x
-null1.c:19:20: Possibly null storage x returned as non-null: x
- null1.c:10:35: Storage x may become null
-null1.c:19:22: Fresh storage y not released before return
- null1.c:12:41: Fresh storage y allocated
-null1.c:31:4: Dereference of possibly null pointer y: *y
- null1.c:12:12: Storage y may become null
-null1.c:34:5: Possibly null storage z passed as non-null param: g (z)
- null1.c:25:7: Storage z may become null
-null1.c:34:5: Passed storage z not completely defined (*z is undefined): g (z)
-null1.c:39:14: Dereference of null pointer z: *z
- null1.c:25:7: Storage z becomes null
-null1.c:43:22: Dereference of possibly null pointer z4: *z4
- null1.c:42:8: Storage z4 may become null
-null1.c:46:25: Dereference of possibly null pointer z2: *z2
- null1.c:26:8: Storage z2 may become null
-null1.c:49:11: Dereference of possibly null pointer z3: *z3
- null1.c:27:8: Storage z3 may become null
-null1.c:55:4: Dereference of possibly null pointer z2: *z2
- null1.c:51:8: Storage z2 may become null
-null1.c:59:23: Dereference of possibly null pointer z5: *z5
- null1.c:57:8: Storage z5 may become null
-null1.c:67:10: Possibly null storage z returned as non-null: z
- null1.c:25:7: Storage z may become null
-null1.c:67:12: Fresh storage z3 not released before return
- null1.c:27:3: Fresh storage z3 allocated
-
-Finished LCLint checking --- 14 code errors found, as expected
-
-null1.c: (in function f)
-null1.c:19:20: Implicitly temp storage x returned as only: x
-null1.c:19:22: Fresh storage y not released before return
- null1.c:12:41: Fresh storage y allocated
-null1.c:34:5: Passed storage z not completely defined (*z is undefined): g (z)
-null1.c:67:12: Fresh storage z3 not released before return
- null1.c:27:3: Fresh storage z3 allocated
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-null2.c: (in function f)
-null2.c:15:10: Left operand of && is non-boolean (int *): x1 && (*x1 == 3)
-null2.c:16:19: Dereference of possibly null pointer x2: *x2
- null2.c:10:55: Storage x2 may become null
-null2.c:17:18: Dereference of possibly null pointer x3: *x3
- null2.c:11:21: Storage x3 may become null
-null2.c:17:10: Left operand of || is non-boolean (int *): x3 || (*x3 == 3)
-null2.c:20:27: Dereference of possibly null pointer x1: *x1
- null2.c:10:35: Storage x1 may become null
-null2.c:23:7: Left operand of && is non-boolean (int *): x4 && (*x4 == 3)
-null2.c:30:8: Dereference of possibly null pointer x4: *x4
- null2.c:11:41: Storage x4 may become null
-null2.c:35:14: Implicitly temp storage x3 returned as only: (x3)
-null2.c:35:14: Possibly null storage x3 returned as non-null: (x3)
- null2.c:11:21: Storage x3 may become null
-null2.c:39:10: Implicitly temp storage x1 returned as only: (x1)
-
-Finished LCLint checking --- 10 code errors found, as expected
-
-null3.c: (in function f3)
-null3.c:16:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:3:25: Storage gnip may become null
-null3.c: (in function f)
-null3.c:27:4: Dereference of possibly null pointer arg0: *arg0
-null3.c:37:8: Dereference of possibly null pointer z: *z
- null3.c:25:12: Storage z may become null
-null3.c:38:16: Only storage aip not released before return
- null3.c:22:66: Storage aip becomes only
-null3.c:44:4: Dereference of possibly null pointer arg2: *arg2
-null3.c:52:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:51:10: Storage gnip may become null
-null3.c:53:9: Variable z used after being released
- null3.c:51:3: Storage z released
-null3.c:53:3: Only storage gip (type int *) not released before assignment (z
- aliases gnip): gip = z
- null3.c:5:17: Storage gip becomes only
-null3.c:55:3: Only storage gnip (type nip) not released before assignment:
- gnip = aip
- null3.c:53:3: Storage gnip becomes only
-null3.c:60:14: Returned storage y not completely defined (*y is undefined): y
-null3.c:60:16: Function returns with non-null global gip referencing null
- storage
- null3.c:53:9: Storage gip may become null
-null3.c:65:14: Possibly null storage y returned as non-null: y
- null3.c:24:12: Storage y may become null
-null3.c:65:14: Returned storage y not completely defined (*y is undefined): y
-null3.c:65:16: Function returns with non-null global gip referencing null
- storage
- null3.c:53:9: Storage gip may become null
-null3.c: (in function f2)
-null3.c:73:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:55:10: Storage gnip may become null
-
-Finished LCLint checking --- 15 code errors found, as expected
-
-null3.c: (in function f3)
-null3.c:16:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:3:25: Storage gnip may become null
-null3.c: (in function f)
-null3.c:27:4: Dereference of possibly null pointer arg0: *arg0
-null3.c:35:13: Possibly null storage y passed as non-null param: free (y)
- null3.c:24:12: Storage y may become null
-null3.c:37:8: Dereference of possibly null pointer z: *z
- null3.c:25:12: Storage z may become null
-null3.c:38:16: Only storage aip not released before return
- null3.c:22:66: Storage aip becomes only
-null3.c:44:4: Dereference of possibly null pointer arg2: *arg2
-null3.c:52:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:51:10: Storage gnip may become null
-null3.c:53:9: Variable z used after being released
- null3.c:51:3: Storage z released
-null3.c:53:3: Only storage gip (type int *) not released before assignment (z
- aliases gnip): gip = z
- null3.c:5:17: Storage gip becomes only
-null3.c:55:3: Only storage gnip (type nip) not released before assignment:
- gnip = aip
- null3.c:53:3: Storage gnip becomes only
-null3.c:60:14: Returned storage y not completely defined (*y is undefined): y
-null3.c:60:16: Function returns with non-null global gip referencing null
- storage
- null3.c:53:9: Storage gip may become null
-null3.c:65:14: Possibly null storage y returned as non-null: y
- null3.c:24:12: Storage y may become null
-null3.c:65:14: Returned storage y not completely defined (*y is undefined): y
-null3.c:65:16: Function returns with non-null global gip referencing null
- storage
- null3.c:53:9: Storage gip may become null
-null3.c: (in function f2)
-null3.c:73:4: Dereference of possibly null pointer gnip: *gnip
- null3.c:55:10: Storage gnip may become null
-
-Finished LCLint checking --- 16 code errors found, as expected
-
-null4.c: (in function g)
-null4.c:43:3: Only storage p (type int *) not released before assignment:
- p = malloc(24)
- null4.c:3:28: Storage p becomes only
-
-Finished LCLint checking --- 1 code error found, as expected
-
-null5.c:5:29: Qualifier falsenull used with function returning char (should
- return bool)
-null5.c:6:29: Qualifier falsenull used with function having 2 arguments (should
- have 1)
-null5.c: (in function g2)
-null5.c:26:15: Dereference of possibly null pointer y: *y
- null5.c:18:25: Storage y may become null
-null5.c: (in function g3)
-null5.c:37:11: Dereference of null pointer y: *y
- null5.c:30:25: Storage y becomes null
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-null6.c:7:36: Function f1 declared with notnull parameter x of abstract type
- mnull
-null6.c: (in function f)
-null6.c:11:11: Dereference of possibly null pointer x: *x
-null6.c: (in function f6)
-null6.c:68:10: Possibly null storage x returned as non-null: x
- null6.c:61:31: Storage x may become null
-null6.c: (in function f7)
-null6.c:84:10: Possibly null storage x returned as non-null: x
- null6.c:81:11: Storage x may become null
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-null6.c:7:36: Function f1 declared with notnull parameter x of abstract type
- mnull
-null6.c: (in function f)
-null6.c:11:11: Dereference of possibly null pointer x: *x
-null6.c: (in function f6)
-null6.c:68:10: Possibly null storage x returned as non-null: x
- null6.c:61:31: Storage x may become null
-null6.c: (in function f7)
-null6.c:84:10: Possibly null storage x returned as non-null: x
- null6.c:81:11: Storage x may become null
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-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 is released
-observer.c: (in function f)
-observer.c:33:3: Suspect modification of observer s: *s = 'x'
-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:41:10: Observer storage s returned without qualification: s
- observer.c:40:7: Storage s becomes observer
-
-Finished LCLint checking --- 9 code errors found, 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 is released
-observer.c: (in function f)
-observer.c:33:3: Suspect modification of observer s: *s = 'x'
-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:41:10: Observer storage s returned without qualification: s
- observer.c:40:7: Storage s becomes observer
-
-Finished LCLint checking --- 8 code errors found, 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 is released
-observer.c: (in function f)
-observer.c:33:3: Suspect modification of observer s: *s = 'x'
-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:41:10: Observer storage s returned without qualification: s
- observer.c:40:7: Storage s becomes observer
-
-Finished LCLint checking --- 7 code errors found, as expected
+++ /dev/null
-
-oldstyle.c: (in function f1)
-oldstyle.c:5:8: Dereference of non-pointer (int): *y
-oldstyle.c:10:5: Function f2 declared with 1 arg, specified with 2
- oldstyle.lcl:2: Specification of f2
-oldstyle.c:15:12: Parameter 2, y, of function f3 has inconsistent type:
- declared char, specified char *
- oldstyle.lcl:4:1: Specification of y: char *
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-outglob.c: (in function g)
-outglob.c:5:20: Undef global x3 used before definition
-outglob.c: (in function f)
-outglob.c:15:14: Undef global x1 used before definition
-outglob.c:15:17: Function returns with global x2 undefined
- outglob.lcl:3: Storage x2 becomes undefined
-outglob.c:15:17: Function returns with global x3 undefined
- outglob.lcl:3: Storage x3 becomes undefined
-outglob.c:21:10: Undef global x1 used before definition
-outglob.c:22:10: Global x2 used by function undefined before call: g
-outglob.c:27:10: Undef global x3 used before definition
-outglob.c:37:14: Function returns with global x3 undefined
- outglob.lcl:3: Storage x3 becomes undefined
-outglob.c:41:13: Function returns with global x2 undefined
- outglob.lcl:3: Storage x2 becomes undefined
-outglob.c:41:13: Function returns with global x3 undefined
- outglob.lcl:3: Storage x3 becomes undefined
-
-Finished LCLint checking --- 10 code errors found, as expected
+++ /dev/null
-
-outparam.c: (in function h)
-outparam.c:8:3: Variable u1 used before definition
-outparam.c:12:7: Field s->a used before definition
-outparam.c: (in function f)
-outparam.c:21:7: Value *a used before definition
-outparam.c: (in function g)
-outparam.c:37:5: Unallocated storage c passed as out parameter to f: c
-outparam.c:37:8: Variable b used before definition
-outparam.c:39:5: Unallocated storage d passed as out parameter to f: d
-outparam.c:41:7: Variable t used before definition
-outparam.c:42:7: Variable t2 used before definition
-outparam.c:42:3: Assignment of int to st: s = t2->a
-outparam.c:44:3: Variable t3 used before definition
-outparam.c:47:5: Arrow access from possibly null pointer t4: t4->a
- outparam.c:46:8: Storage t4 may become null
-outparam.c:48:13: Fresh storage t4 not released before return
- outparam.c:46:3: Fresh storage t4 allocated
-
-Finished LCLint checking --- 12 code errors found, as expected
+++ /dev/null
-
-preds.c: (in function f)
-preds.c:10:7: Test expression for if not bool, type int: *p
- Test expression type is not boolean or int. (-predboolint will suppress
- message)
-preds.c:15:8: Operand of ! is non-boolean (int): !(*p)
- The operand of a boolean operator is not a boolean. Use +ptrnegate to allow !
- to be used on pointers. (-boolops will suppress message)
-preds.c:20:7: Test expression for if is assignment expression: b1 = b2
- The condition test is an assignment expression. Probably, you mean to use ==
- instead of =. If an assignment is intended, add an extra parentheses nesting
- (e.g., if ((a = b)) ...) to suppress this message. (-predassign will suppress
- message)
-preds.c:25:7: Test expression for if not bool, type char: (c = 'a')
- Test expression type is not boolean. (-predboolothers will suppress message)
-preds.c:30:7: Use of == with bool variables (risks inconsistency because of
- multiple true values): b1 == b2
- Two bool values are compared directly using a C primitive. This may produce
- unexpected results since all non-zero values are considered TRUE, so
- different TRUE values may not be equal. The file bool.h (included in
- lclint/lib) provides bool_equal for safe bool comparisons. (-boolcompare will
- suppress message)
-preds.c:35:7: Test expression for if not bool, type char: c
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-preds.c: (in function f)
-preds.c:20:7: Test expression for if is assignment expression: b1 = b2
- The condition test is an assignment expression. Probably, you mean to use ==
- instead of =. If an assignment is intended, add an extra parentheses nesting
- (e.g., if ((a = b)) ...) to suppress this message. (-predassign will suppress
- message)
-
-Finished LCLint checking --- 1 code error found, as expected
-
-preds.c: (in function f)
-preds.c:5:8: Operand of ! is non-boolean (int *): !p
- The operand of ! operator is a pointer. (+ptrnegate will suppress message)
-preds.c:10:7: Test expression for if not bool, type int: *p
- Test expression type is not boolean or int. (-predboolint will suppress
- message)
-preds.c:15:8: Operand of ! is non-boolean (int): !(*p)
- The operand of a boolean operator is not a boolean. Use +ptrnegate to allow !
- to be used on pointers. (-boolops will suppress message)
-preds.c:20:7: Test expression for if is assignment expression: b1 = b2
- The condition test is an assignment expression. Probably, you mean to use ==
- instead of =. If an assignment is intended, add an extra parentheses nesting
- (e.g., if ((a = b)) ...) to suppress this message. (-predassign will suppress
- message)
-preds.c:25:7: Test expression for if not bool, type char: (c = 'a')
- Test expression type is not boolean. (-predboolothers will suppress message)
-preds.c:30:7: Use of == with bool variables (risks inconsistency because of
- multiple true values): b1 == b2
- Two bool values are compared directly using a C primitive. This may produce
- unexpected results since all non-zero values are considered TRUE, so
- different TRUE values may not be equal. The file bool.h (included in
- lclint/lib) provides bool_equal for safe bool comparisons. (-boolcompare will
- suppress message)
-preds.c:35:7: Test expression for if not bool, type char: c
-bool.h:21:13: Function bool_initMod declared but not used
- A function is declared but not used. Use /*@unused@*/ in front of function
- header to suppress message. (-fcnuse will suppress message)
-bool.h:24:29: Function bool_unparse declared but not used
-bool.h:27:13: Function bool_not declared but not used
-bool.h:30:13: Function bool_equal declared but not used
-preds.c:3:5: Function f declared but not used
- preds.c:41:1: Definition of f
-
-Finished LCLint checking --- 12 code errors found, as expected
+++ /dev/null
-
-Finished LCLint checking --- no code errors found
-
-prefixes.c:20: Parameterized macro has no prototype or specification: mf
-prefixes.c: (in macro mf)
-prefixes.c:20:37: Variable y name is not consistent with macro variable
- namespace prefix "m_"
-prefixes.c:20:37: Variable y declared but not used
-prefixes.c:20:26: Variable m_x declared but not used
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-prefixes.c:2:13: Datatype QINT name is not consistent with user-defined type
- namespace prefix "T"
-prefixes.c:3:13: Datatype tint name is not consistent with user-defined type
- namespace prefix "T"
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-prefixes.c:3:13: Datatype tint name is not consistent with user-defined type
- namespace prefix "^"
-
-Finished LCLint checking --- 1 code error found, as expected
-
-prefixes.c:1:13: Datatype Tin_ty name is not consistent with user-defined type
- namespace prefix "^*"
-prefixes.c:3:13: Datatype tint name is not consistent with user-defined type
- namespace prefix "^*"
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-prefixes.c:2:13: Datatype QINT name is not consistent with user-defined type
- namespace prefix "^%*"
-prefixes.c:3:13: Datatype tint name is not consistent with user-defined type
- namespace prefix "^%*"
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-prefixes.c:1:13: Datatype Tin_ty name is not consistent with user-defined type
- namespace prefix "^~*"
-prefixes.c:3:13: Datatype tint name is not consistent with user-defined type
- namespace prefix "^~*"
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-prefixes.c:3:13: Datatype tint name is not consistent with user-defined type
- namespace prefix "^"
-prefixes.c:6:12: Variable FSint name is not a user-defined type (it is a file
- static), but matches the user-defined type namespace prefix "^"
-prefixes.c:7:12: Variable TYint name is not a user-defined type (it is a file
- static), but matches the user-defined type namespace prefix "^"
-prefixes.c:8:12: Variable V3int name is not a user-defined type (it is a file
- static), but matches the user-defined type namespace prefix "^"
-prefixes.c:10:12: Variable Xqmxt name is not a user-defined type (it is a file
- static), but matches the user-defined type namespace prefix "^"
-prefixes.c:11:12: Variable XqmXt name is not a user-defined type (it is a file
- static), but matches the user-defined type namespace prefix "^"
-prefixes.c:14:12: Variable Gint name is not a user-defined type (it is a
- external), but matches the user-defined type namespace prefix "^"
-
-Finished LCLint checking --- 7 code errors found, as expected
-
-prefixes.c:8:12: Variable V3int name is not consistent with file static
- namespace prefix "^^"
-prefixes.c:9:12: Variable sint name is not consistent with file static
- namespace prefix "^^"
-prefixes.c:10:12: Variable Xqmxt name is not consistent with file static
- namespace prefix "^^"
-prefixes.c:11:12: Variable XqmXt name is not consistent with file static
- namespace prefix "^^"
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-prefixes.c:6:12: Variable FSint name is not consistent with file static
- namespace prefix "^#"
-prefixes.c:7:12: Variable TYint name is not consistent with file static
- namespace prefix "^#"
-prefixes.c:9:12: Variable sint name is not consistent with file static
- namespace prefix "^#"
-prefixes.c:10:12: Variable Xqmxt name is not consistent with file static
- namespace prefix "^#"
-prefixes.c:11:12: Variable XqmXt name is not consistent with file static
- namespace prefix "^#"
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-prefixes.c:6:12: Variable FSint name is not consistent with file static
- namespace prefix "^?&x"
-prefixes.c:7:12: Variable TYint name is not consistent with file static
- namespace prefix "^?&x"
-prefixes.c:8:12: Variable V3int name is not consistent with file static
- namespace prefix "^?&x"
-prefixes.c:9:12: Variable sint name is not consistent with file static
- namespace prefix "^?&x"
-prefixes.c:11:12: Variable XqmXt name is not consistent with file static
- namespace prefix "^?&x"
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-prefixes.c:15:12: Variable aGb_Xint name is not consistent with global variable
- namespace prefix "G"
-
-Finished LCLint checking --- 1 code error found, as expected
-
-prefixes.c:14:12: Variable Gint name is not consistent with global variable
- namespace prefix "&G?_^"
-
-Finished LCLint checking --- 1 code error found, as expected
-
-prefixes.c:1:13: Datatype Tin_ty name is not consistent with external namespace
- prefix "G"
-prefixes.c:2:13: Datatype QINT name is not consistent with external namespace
- prefix "G"
-prefixes.c:3:13: Datatype tint name is not consistent with external namespace
- prefix "G"
-prefixes.c:15:12: Variable aGb_Xint name is not consistent with external
- namespace prefix "G"
-prefixes.c:18:12: Function g name is not consistent with external namespace
- prefix "G"
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-prefixes.c:2:13: Datatype QINT name is not consistent with user-defined type
- namespace prefix "T"
-prefixes.c:3:13: Datatype tint name is not consistent with user-defined type
- namespace prefix "T"
-prefixes.c:15:12: Variable aGb_Xint name is not consistent with external
- namespace prefix "G"
-prefixes.c:18:12: Function g name is not consistent with external namespace
- prefix "G"
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-prefixes.c:20: Expanded macro mf name is not a local variable (it is a
- unchecked macro), but matches the local variable namespace prefix "?*"
-prefixes.c:1:13: Datatype Tin_ty name is not a local variable (it is a
- external), but matches the local variable namespace prefix "?*"
-prefixes.c:2:13: Datatype QINT name is not a local variable (it is a external),
- but matches the local variable namespace prefix "?*"
-prefixes.c:3:13: Datatype tint name is not a local variable (it is a external),
- but matches the local variable namespace prefix "?*"
-prefixes.c:6:12: Variable FSint name is not a local variable (it is a file
- static), but matches the local variable namespace prefix "?*"
-prefixes.c:7:12: Variable TYint name is not a local variable (it is a file
- static), but matches the local variable namespace prefix "?*"
-prefixes.c:8:12: Variable V3int name is not a local variable (it is a file
- static), but matches the local variable namespace prefix "?*"
-prefixes.c:9:12: Variable sint name is not a local variable (it is a file
- static), but matches the local variable namespace prefix "?*"
-prefixes.c:10:12: Variable Xqmxt name is not a local variable (it is a file
- static), but matches the local variable namespace prefix "?*"
-prefixes.c:11:12: Variable XqmXt name is not a local variable (it is a file
- static), but matches the local variable namespace prefix "?*"
-prefixes.c:14:12: Variable Gint name is not a local variable (it is a
- external), but matches the local variable namespace prefix "?*"
-prefixes.c:15:12: Variable aGb_Xint name is not a local variable (it is a
- external), but matches the local variable namespace prefix "?*"
-prefixes.c:18:12: Function g name is not a local variable (it is a external),
- but matches the local variable namespace prefix "?*"
-
-Finished LCLint checking --- 13 code errors found, as expected
+++ /dev/null
-
-printflike.c:2:5: Function mprint is marked printflike, but has no elipsis
- parameter
-printflike.c:5:5: Function kprint is marked printflike, but has no elipsis
- parameter
-printflike.c:8:5: Function sprint is marked scanflike, but has no elipsis
- parameter
-printflike.c:13:15: Traditional lint comment /*PRINTFLIKE*/ used. This is
- interpreted by LCLint in the same way as most Unix lints, but it is
- preferable to replace it with either /*@printflike@*/, /*@scanflike@*/ or
- /*@messagelike@*/.
-printflike.c:16:35: Multiple special function codes:
- printflike, messagelike (first code is ignored)
-printflike.c:17:5: Function qxprint is marked messagelike, but the argument
- before the elipsis has type int (should be char *)
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-printflike.c:2:5: Function mprint is marked printflike, but has no elipsis
- parameter
-printflike.c:5:5: Function kprint is marked printflike, but has no elipsis
- parameter
-printflike.c:8:5: Function sprint is marked scanflike, but has no elipsis
- parameter
-printflike.c:16:35: Multiple special function codes:
- printflike, messagelike (first code is ignored)
-printflike.c:17:5: Function qxprint is marked messagelike, but the argument
- before the elipsis has type int (should be char *)
-
-Finished LCLint checking --- 5 code errors found, as expected
+++ /dev/null
-
-rc.c: (in function f)
-rc.c:3:10: Observer storage returned without qualification:
- "a flag\"wicked cool"
- rc.c:3:10: Storage becomes observer
-
-Finished LCLint checking --- 1 code error found, as expected
-
-rc.c: (in function f)
-rc.c:3:10: Return value type int does not match declared type char *: 12
-
-Finished LCLint checking --- 1 code error found, as expected
-
-rc2.lclintrc:1:18: Warning: setting +boolint redundant with current value
-rc.c: (in function f)
-rc.c:3:10: Observer storage returned without qualification: "a silly\"flag\"\\"
- rc.c:3:10: Storage becomes observer
-
-Finished LCLint checking --- 1 code error found, as expected
-
-rc2.lclintrc:1:18: Warning: setting +boolint redundant with current value
-rc.c: (in function f)
-rc.c:3:10: Unrecognized identifier: MYSTERY
-
-Finished LCLint checking --- 1 code error found, as expected
-
-rc3.lclintrc:2:1: Bad flag syntax (+ or - expected, + is assumed):
- internalnamelen 73
- A flag is not recognized or used in an incorrect way (-badflag will suppress
- message)
-rc3.lclintrc:5:24: Flag dump must be followed by an argument
-rc.c: (in function f)
-rc.c:3:10: Unrecognized identifier: MYSTERY
-
-Finished LCLint checking --- 1 code error found, as expected
+++ /dev/null
-
-refcounts.c: (in function rp_release)
-refcounts.c:18:13: Reference counted storage passed as only param: free (x)
-refcounts.c: (in function rp_temp)
-refcounts.c:24:10: New reference returned as temp reference: rp_create2()
-refcounts.c: (in function rp_f)
-refcounts.c:32:3: Kill reference parameter r2 (type rp) not released before
- assignment: r2 = rp_temp()
- refcounts.c:27:50: Storage r2 becomes newref
-refcounts.c: (in function rp_ref)
-refcounts.c:48:10: Reference counted storage returned without modifying
- reference count: x
-refcounts.c: (in function rp_waste)
-refcounts.c:63:13: New reference z2 not released before return
- refcounts.c:60:23: Storage z2 becomes newref
-refcounts.c: (in function rp_waste2)
-refcounts.c:71:3: New reference z2 (type rp) not released before assignment:
- z2 = rp_ref(z1)
- refcounts.c:69:23: Storage z2 becomes newref
-refcounts.c:72:13: New reference z2 not released before return
- refcounts.c:71:3: Storage z2 becomes newref
-
-Finished LCLint checking --- 7 code errors found, as expected
+++ /dev/null
-
-release.c: (in function f)
-release.c:25:12: Owned storage z not released before return
- release.c:22:7: Storage z becomes owned
-
-Finished LCLint checking --- 1 code error found, as expected
+++ /dev/null
-
-repexpose.c: (in function abst_create)
-repexpose.c:8:4: Arrow access from possibly null pointer a: a->name
- repexpose.c:5:12: Storage a may become null
-repexpose.c:13:3: Possible undocumented modification of p->parent through alias
- a->parent: a->parent = b->parent
-repexpose.c:16:3: Unqualified storage *globstring assigned to implicitly only:
- a->name = *globstring
-repexpose.c:17:3: Kept storage *globstring assigned to implicitly only:
- b->name = *globstring
- repexpose.c:16:3: Storage *globstring becomes kept
-repexpose.c:19:10: Storage a->name reachable from return value is kept (should
- be implicitly only)
- repexpose.c:17:3: Storage a->name becomes kept
-repexpose.c:19:10: Returned storage *a contains 1 undefined field: im
-repexpose.c:19:12: Storage *globstring reachable from global is kept (should be
- unqualified)
- repexpose.c:16:3: Storage *globstring becomes kept
-repexpose.c: (in function abst_name)
-repexpose.c:26:18: Released storage a->name reachable from parameter at return
- point
- repexpose.c:26:10: Storage a->name is released
-repexpose.c: (in function abst_parent)
-repexpose.c:45:15: Dependent storage b->parent returned as only: b->parent
-repexpose.c:45:25: Only storage a not released before return
- repexpose.c:40:24: Storage a becomes only
-repexpose.c: (in function immut_name)
-repexpose.c:51:10: Only storage im->name returned as dependent: (im->name)
-repexpose.c: (in function abst_setIm)
-repexpose.c:57:3: Undocumented modification of a->im: a->im = im
-
-Finished LCLint checking --- 12 code errors found, as expected
-
-repexpose.c: (in function abst_create)
-repexpose.c:8:4: Arrow access from possibly null pointer a: a->name
- repexpose.c:5:12: Storage a may become null
-repexpose.c:13:3: Possible undocumented modification of p->parent through alias
- a->parent: a->parent = b->parent
-repexpose.c:16:3: Unqualified storage *globstring assigned to implicitly only:
- a->name = *globstring
-repexpose.c:17:3: Kept storage *globstring assigned to implicitly only:
- b->name = *globstring
- repexpose.c:16:3: Storage *globstring becomes kept
-repexpose.c:19:10: Storage a->name reachable from return value is kept (should
- be implicitly only)
- repexpose.c:17:3: Storage a->name becomes kept
-repexpose.c:19:10: Returned storage *a contains 1 undefined field: im
-repexpose.c:19:12: Storage *globstring reachable from global is kept (should be
- unqualified)
- repexpose.c:16:3: Storage *globstring becomes kept
-repexpose.c: (in function abst_name)
-repexpose.c:26:10: Function returns reference to parameter a: a->name
-repexpose.c:26:18: Released storage a->name reachable from parameter at return
- point
- repexpose.c:26:10: Storage a->name is released
-repexpose.c: (in function abst_aval)
-repexpose.c:37:10: Function returns reference to parameter a: (&(a->val))
-repexpose.c: (in function abst_parent)
-repexpose.c:45:15: Dependent storage b->parent returned as only: b->parent
-repexpose.c:45:25: Only storage a not released before return
- repexpose.c:40:24: Storage a becomes only
-repexpose.c: (in function immut_name)
-repexpose.c:51:10: Only storage im->name returned as dependent: (im->name)
-repexpose.c:51:10: Function returns reference to parameter im: (im->name)
-repexpose.c: (in function abst_setIm)
-repexpose.c:57:3: Undocumented modification of a->im: a->im = im
-
-Finished LCLint checking --- 15 code errors found, as expected
-
-repexpose.c: (in function abst_create)
-repexpose.c:8:4: Arrow access from possibly null pointer a: a->name
- repexpose.c:5:12: Storage a may become null
-repexpose.c:10:3: Assignment of mutable parameter p to component of abstract
- type abst exposes rep: a->parent = p
-repexpose.c:11:3: Assignment of mutable parameter p (through alias b) to
- component of abstract type abst exposes rep: a->parent = b
-repexpose.c:12:3: Assignment of mutable component of parameter p to component
- of abstract type abst exposes rep: a->parent = p->parent
-repexpose.c:13:3: Possible undocumented modification of p->parent through alias
- a->parent: a->parent = b->parent
-repexpose.c:13:3: Assignment of mutable component of parameter p (through alias
- b->parent) to component of abstract type abst exposes rep:
- a->parent = b->parent
-repexpose.c:16:3: Assignment of global globstring to component of abstract type
- abst exposes rep: a->name = *globstring
-repexpose.c:16:3: Unqualified storage *globstring assigned to implicitly only:
- a->name = *globstring
-repexpose.c:17:3: Assignment of global globstring to component of abstract type
- abst exposes rep: b->name = *globstring
-repexpose.c:17:3: Kept storage *globstring assigned to implicitly only:
- b->name = *globstring
- repexpose.c:16:3: Storage *globstring becomes kept
-repexpose.c:19:10: Storage a->name reachable from return value is kept (should
- be implicitly only)
- repexpose.c:17:3: Storage a->name becomes kept
-repexpose.c:19:10: Returned storage *a contains 1 undefined field: im
-repexpose.c:19:12: Storage *globstring reachable from global is kept (should be
- unqualified)
- repexpose.c:16:3: Storage *globstring becomes kept
-repexpose.c: (in function abst_name)
-repexpose.c:26:10: Function returns reference to parameter a: a->name
-repexpose.c:26:10: Return value exposes rep of abst: a->name
-repexpose.c:26:18: Released storage a->name reachable from parameter at return
- point
- repexpose.c:26:10: Storage a->name is released
-repexpose.c: (in function abst_aval)
-repexpose.c:37:10: Function returns reference to parameter a: (&(a->val))
-repexpose.c:37:10: Return value exposes rep of abst: (&(a->val))
-repexpose.c: (in function abst_parent)
-repexpose.c:45:15: Dependent storage b->parent returned as only: b->parent
-repexpose.c:45:15: Return value exposes rep of abst: b->parent
-repexpose.c:45:15: Return value may expose rep of abst through alias a:
- b->parent
-repexpose.c:45:25: Only storage a not released before return
- repexpose.c:40:24: Storage a becomes only
-repexpose.c: (in function immut_name)
-repexpose.c:51:10: Only storage im->name returned as dependent: (im->name)
-repexpose.c:51:10: Function returns reference to parameter im: (im->name)
-repexpose.c:51:10: Return value exposes rep of immut: (im->name)
-repexpose.c: (in function abst_setIm)
-repexpose.c:57:3: Undocumented modification of a->im: a->im = im
-repexpose.lh:6:16: Variable globstring declared but not defined
-
-Finished LCLint checking --- 27 code errors found, as expected
+++ /dev/null
-
-sharing1.c: (in function f)
-sharing1.c:12:12: Only storage x not released before return
- sharing1.c:8:24: Storage x becomes only
-sharing1.c:13:2: Only storage x not released before return
- sharing1.c:8:24: Storage x becomes only
-sharing1.c: (in function f2)
-sharing1.c:19:12: Only storage y not released before return
- sharing1.c:15:43: Storage y becomes only
-sharing1.c: (in function f3)
-sharing1.c:24:3: Only storage x assigned to shared: globshared1 = x
- sharing1.c:22:25: Storage x becomes only
-sharing1.c:25:2: Only storage x not released before return
- sharing1.c:22:25: Storage x becomes only
-sharing1.c: (in function f4)
-sharing1.c:29:3: Only storage zonly (type int *) not released before
- assignment: zonly = x
- sharing1.c:6:19: Storage zonly becomes only
-sharing1.c: (in function g)
-sharing1.c:41:7: Implicitly temp storage imp passed as only param: f3 (imp)
-sharing1.c:42:4: Variable imp used after being released
- sharing1.c:41:7: Storage imp released
-sharing1.c:44:12: Immediate address &x passed as only param: f (&x, ...)
-sharing1.c:44:12: Parameter 1 (&x) to function f is declared only but is
- aliased by parameter 2 (&x)
-sharing1.c:48:14: Possibly null storage y3 passed as non-null param:
- f2 (y3, ...)
- sharing1.c:37:13: Storage y3 may become null
-sharing1.c:48:14: Passed storage y3 not completely defined (*y3 is undefined):
- f2 (y3, ...)
-sharing1.c:48:18: Parameter 2 (y3) to function f2 is declared only but is
- aliased by parameter 1 (y3)
-sharing1.c:50:4: Variable y3 used after being released
- sharing1.c:48:18: Storage y3 released
-sharing1.c:51:12: Possibly null storage y passed as non-null param: f (y, ...)
- sharing1.c:35:12: Storage y may become null
-sharing1.c:51:12: Passed storage y not completely defined (*y is undefined):
- f (y, ...)
-sharing1.c:52:12: Shared storage globshared1 passed as only param:
- f (globshared1, ...)
- sharing1.c:4:19: Storage globshared1 becomes shared
-sharing1.c:56:9: Shared storage globshared2 passed as only param:
- free (globshared2)
- sharing1.c:5:19: Storage globshared2 becomes shared
-sharing1.c:59:11: Variable y used after being released
- sharing1.c:51:12: Storage y released
-sharing1.c:59:13: Fresh storage y2 not released before return
- sharing1.c:36:33: Fresh storage y2 allocated
-sharing1.c:59:13: Function returns with global globonly referencing released
- storage
- sharing1.c:57:9: Storage globonly is released
-
-Finished LCLint checking --- 21 code errors found, as expected
-
-sharing3.c: (in function string_copy)
-sharing3.c:17:10: Implicitly temp storage s returned as only: s
-sharing3.c: (in function string_free1)
-sharing3.c:32:9: Implicitly temp storage s passed as only param: free (s)
-sharing3.c: (in function string_free3)
-sharing3.c:45:2: Fresh storage t not released before return
- sharing3.c:42:29: Fresh storage t allocated
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-sharing4.c: (in function f)
-sharing4.c:18:3: Only storage globonly1 (type char *) not released before
- assignment: globonly1 = only1
- sharing4.c:1:20: Storage globonly1 becomes only
-sharing4.c:23:3: Only storage globonly4 (type char *) not released before
- assignment: globonly4 = shared1
- sharing4.c:4:20: Storage globonly4 becomes only
-sharing4.c:23:3: Shared storage shared1 assigned to only: globonly4 = shared1
- sharing4.c:14:26: Storage shared1 becomes shared
-sharing4.c:27:3: Only storage globonly5 assigned to shared:
- globshared1 = globonly5
- sharing4.c:5:20: Storage globonly5 becomes only
-sharing4.c:30:3: Only storage globonly1 assigned to shared (local1 aliases
- globonly1): globshared1 = local1
- sharing4.c:1:20: Storage globonly1 becomes only
-sharing4.c:30:3: Kept storage only1 assigned to shared (local1 aliases only1):
- globshared1 = local1
- sharing4.c:18:3: Storage only1 becomes kept
-sharing4.c:32:3: Only storage assigned to shared:
- globshared1 = string_copy(local1)
-sharing4.c:34:3: Temp storage temp2 assigned to shared: globshared2 = temp2
- sharing4.c:13:37: Storage temp2 becomes temp
-sharing4.c:35:3: Only storage globonly4 (type char *) not released before
- assignment: globonly4 = temp1
- sharing4.c:4:20: Storage globonly4 becomes only
-sharing4.c:35:3: Implicitly temp storage temp1 assigned to only:
- globonly4 = temp1
-sharing4.c:38:9: Shared storage shared1 passed as only param: free (shared1)
- sharing4.c:14:26: Storage shared1 becomes shared
-sharing4.c:42:12: Only storage only3 not released before return
- sharing4.c:12:72: Storage only3 becomes only
-sharing4.c:42:12: Function returns with global globonly3 referencing released
- storage
- sharing4.c:21:9: Storage globonly3 is released
-
-Finished LCLint checking --- 13 code errors found, as expected
-
-sharing4.c: (in function f)
-sharing4.c:18:3: Only storage globonly1 (type char *) not released before
- assignment: globonly1 = only1
- sharing4.c:1:20: Storage globonly1 becomes only
-sharing4.c:23:3: Only storage globonly4 (type char *) not released before
- assignment: globonly4 = shared1
- sharing4.c:4:20: Storage globonly4 becomes only
-sharing4.c:23:3: Shared storage shared1 assigned to only: globonly4 = shared1
- sharing4.c:14:26: Storage shared1 becomes shared
-sharing4.c:27:3: Only storage globonly5 assigned to shared:
- globshared1 = globonly5
- sharing4.c:5:20: Storage globonly5 becomes only
-sharing4.c:30:3: Only storage globonly1 assigned to shared (local1 aliases
- globonly1): globshared1 = local1
- sharing4.c:1:20: Storage globonly1 becomes only
-sharing4.c:30:3: Kept storage only1 assigned to shared (local1 aliases only1):
- globshared1 = local1
- sharing4.c:18:3: Storage only1 becomes kept
-sharing4.c:32:3: Only storage assigned to shared:
- globshared1 = string_copy(local1)
-sharing4.c:34:3: Temp storage temp2 assigned to shared: globshared2 = temp2
- sharing4.c:13:37: Storage temp2 becomes temp
-sharing4.c:35:3: Only storage globonly4 (type char *) not released before
- assignment: globonly4 = temp1
- sharing4.c:4:20: Storage globonly4 becomes only
-sharing4.c:38:9: Shared storage shared1 passed as only param: free (shared1)
- sharing4.c:14:26: Storage shared1 becomes shared
-sharing4.c:42:12: Only storage only3 not released before return
- sharing4.c:12:72: Storage only3 becomes only
-sharing4.c:42:12: Function returns with global globonly3 referencing released
- storage
- sharing4.c:21:9: Storage globonly3 is released
-
-Finished LCLint checking --- 12 code errors found, as expected
-
-sharing5.c: (in function f)
-sharing5.c:13:4: Variable only1 used after being released
- sharing5.c:12:9: Storage only1 released
-sharing5.c:22:5: Clauses exit with local2 referencing local storage in true
- branch, shared storage in false branch
- sharing5.c:21:7: Storage local2 becomes shared
-sharing5.c:24:9: Shared storage shared passed as only param (local2 aliases
- shared): free (local2)
- sharing5.c:5:27: Storage shared becomes shared
-sharing5.c:27:4: Dereference of possibly null pointer localp: *localp
- sharing5.c:26:12: Storage localp may become null
-sharing5.c:32:3: Fresh storage localp (type char **) not released before
- assignment: localp = &only3
- sharing5.c:26:3: Fresh storage localp allocated
-sharing5.c:33:2: Only storage only3 not released before return
- sharing5.c:4:73: Storage only3 becomes only
-
-Finished LCLint checking --- 6 code errors found, as expected
+++ /dev/null
-
-specclauses.c: (in function f)
-specclauses.c:24:28: Only storage r.name (type char *) derived from variable
- declared in this scope is not released (memory leak)
-specclauses.c:28:24: Undefined storage r.name corresponds to storage listed in
- uses clause of called function: r
-specclauses.c:28:28: Only storage name not released before return
- specclauses.c:17:49: Storage name becomes only
-specclauses.c:33:16: Allocated storage r.name corresponds to storage listed in
- defines clause of called function: &r
-specclauses.c:34:17: Only storage r.name (type char *) derived from variable
- declared in this scope is not released (memory leak)
-specclauses.c:40:23: Field r.name used after being released
- specclauses.c:39:17: Storage r.name released
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-specclauses2.c:10:13: Allocates clauses includes r->year of non-dynamically
- allocated type int
-specclauses2.c: (in function allocYear)
-specclauses2.c:14:2: Unallocated storage r->year corresponds to storage listed
- in allocates clause
-specclauses2.c: (in function setName1)
-specclauses2.c:26:2: Undefined storage r->name corresponds to storage listed in
- defines clause
-specclauses2.c: (in function setName3)
-specclauses2.c:37:2: Undefined storage r->name corresponds to storage listed in
- sets clause
- This sub-reference is undefined: *(r->name)
-specclauses2.c: (in function setName4)
-specclauses2.c:42:3: Implicitly only storage r->name (type char *) not released
- before assignment: r->name = name
-specclauses2.c: (in function allocName2)
-specclauses2.c:54:2: Unallocated storage r->name corresponds to storage listed
- in allocates clause
-specclauses2.c: (in function freeName2)
-specclauses2.c:65:2: Unreleased storage r.name corresponds to storage listed in
- releases clause
-specclauses2.c: (in function freeName4)
-specclauses2.c:76:2: Unreleased storage r->name corresponds to storage listed
- in releases clause
-
-Finished LCLint checking --- 8 code errors found, as expected
-
-specclauses3.c:7:6: Special clause accesses field of non-struct or union result
- (int): *(result).name
-specclauses3.c: (in function badResult)
-specclauses3.c:12:10: Undefined storage <const ?>->name corresponds to storage
- result->name listed in defines clause: NULL
-specclauses3.c:12:10: Null storage returned as non-null: NULL
-specclauses3.c: (in function createName2)
-specclauses3.c:29:10: Undefined storage res->name corresponds to storage
- result->name listed in defines clause: res
-specclauses3.c:29:10: Possibly null storage res returned as non-null: res
- specclauses3.c:28:16: Storage res may become null
-specclauses3.c: (in function createName4)
-specclauses3.c:55:10: Unallocated storage res->name corresponds to storage
- result->name listed in allocates clause: res
-
-Finished LCLint checking --- 6 code errors found, as expected
-
-specclauses4.c: (in function usename)
-specclauses4.c:13:4: Dereference of null pointer *name: **name
- specclauses4.c:11:8: Storage *name becomes null
-specclauses4.c: (in function callname)
-specclauses4.c:27:12: Non-null storage *s corresponds to storage listed in
- requires isnull clause of called function: s
-specclauses4.c: (in function nullname2)
-specclauses4.c:42:2: Non-null storage *name corresponds to storage listed in
- ensures isnull clause
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-specclauses5.c: (in function createrecord2)
-specclauses5.c:31:10: Null storage r->name derivable from return value: r
- specclauses5.c:30:14: Storage r->name becomes null
-specclauses5.c: (in function newrecord2)
-specclauses5.c:43:10: Non-observer storage r->name corresponds to storage
- result->name listed in ensures observer clause: r
-specclauses5.c: (in function createrecordx)
-specclauses5.c:49:10: Observer storage r->name reachable from unqualified
- return value
- specclauses5.c:48:27: Storage r->name becomes observer
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-special.c: (in function f)
-special.c:17:34: Variable c used before definition
-special.c:19:31: Format argument 1 to printf (%d) expects int gets long int: li
- special.c:19:17: Corresponding format code
-special.c:20:46: Format argument 2 to printf (%d) expects int gets long int: li
- special.c:20:21: Corresponding format code
-special.c:20:50: Format argument 3 to printf (%hd) expects short int gets int:
- i
- special.c:20:25: Corresponding format code
-special.c:27:19: Variable s used before definition
-special.c:29:28: Format argument 1 to printf (%+14.3i) expects int gets char: c
- special.c:29:24: Corresponding format code
-special.c:29:3: Format string for printf has 1 arg, given 2
-special.c:30:38: Format argument 1 to fprintf (%+14.33i) expects int gets char:
- c
- special.c:30:34: Corresponding format code
-special.c:30:3: Format string for fprintf has 1 arg, given 2
-special.c:31:25: Format argument 1 to printf (%d) expects int gets char: c
- special.c:31:15: Corresponding format code
-special.c:31:28: Format argument 2 to printf (%f) expects double gets int: i
- special.c:31:18: Corresponding format code
-special.c:31:3: No argument corresponding to printf format code 3 (%f):
- "%% %d %f %f"
- special.c:31:21: Corresponding format code
-special.c:34:40: Format argument 1 to scanf (%d) expects int * gets int: i
- special.c:34:36: Corresponding format code
-special.c:37:54: Format argument 1 to fscanf (%d) expects int * gets int: i
- special.c:37:44: Corresponding format code
-special.c:37:57: Format argument 2 to fscanf (%c) expects char * gets char: c
- special.c:37:47: Corresponding format code
-special.c:37:60: Format argument 3 to fscanf (%s) expects char * gets char **:
- &s
- special.c:37:50: Corresponding format code
-special.c:40:10: Undocumented modification of gi possible from call to fscanf:
- fscanf(stdin, "hullo, welcome to %23d %c %s", &gi, &gc, gs)
-special.c:40:10: Undocumented modification of gc possible from call to fscanf:
- fscanf(stdin, "hullo, welcome to %23d %c %s", &gi, &gc, gs)
-special.c:40:10: Undocumented modification of gs possible from call to fscanf:
- fscanf(stdin, "hullo, welcome to %23d %c %s", &gi, &gc, gs)
-special.c:42:10: Undocumented modification of gs possible from call to fscanf:
- fscanf(stdin, "hullo, welcome to %*23d %*c %s", gs)
-
-Finished LCLint checking --- 20 code errors found, as expected
-
-special.c: (in function f)
-special.c:17:34: Variable c used before definition
-special.c:19:31: Format argument 1 to printf (%d) expects int gets long int: li
- special.c:19:17: Corresponding format code
-special.c:20:43: Format argument 1 to printf (%ld) expects long int gets int: i
- special.c:20:18: Corresponding format code
-special.c:20:46: Format argument 2 to printf (%d) expects int gets long int: li
- special.c:20:21: Corresponding format code
-special.c:20:50: Format argument 3 to printf (%hd) expects short int gets int:
- i
- special.c:20:25: Corresponding format code
-special.c:20:60: Format argument 5 to printf (%d) expects int gets short int:
- silly
- special.c:20:32: Corresponding format code
-special.c:27:19: Variable s used before definition
-special.c:29:28: Format argument 1 to printf (%+14.3i) expects int gets char: c
- special.c:29:24: Corresponding format code
-special.c:29:3: Format string for printf has 1 arg, given 2
-special.c:30:38: Format argument 1 to fprintf (%+14.33i) expects int gets char:
- c
- special.c:30:34: Corresponding format code
-special.c:30:3: Format string for fprintf has 1 arg, given 2
-special.c:31:25: Format argument 1 to printf (%d) expects int gets char: c
- special.c:31:15: Corresponding format code
-special.c:31:28: Format argument 2 to printf (%f) expects double gets int: i
- special.c:31:18: Corresponding format code
-special.c:31:3: No argument corresponding to printf format code 3 (%f):
- "%% %d %f %f"
- special.c:31:21: Corresponding format code
-special.c:34:40: Format argument 1 to scanf (%d) expects int * gets int: i
- special.c:34:36: Corresponding format code
-special.c:37:54: Format argument 1 to fscanf (%d) expects int * gets int: i
- special.c:37:44: Corresponding format code
-special.c:37:57: Format argument 2 to fscanf (%c) expects char * gets char: c
- special.c:37:47: Corresponding format code
-special.c:37:60: Format argument 3 to fscanf (%s) expects char * gets char **:
- &s
- special.c:37:50: Corresponding format code
-special.c:40:10: Undocumented modification of gi possible from call to fscanf:
- fscanf(stdin, "hullo, welcome to %23d %c %s", &gi, &gc, gs)
-special.c:40:10: Undocumented modification of gc possible from call to fscanf:
- fscanf(stdin, "hullo, welcome to %23d %c %s", &gi, &gc, gs)
-special.c:40:10: Undocumented modification of gs possible from call to fscanf:
- fscanf(stdin, "hullo, welcome to %23d %c %s", &gi, &gc, gs)
-special.c:42:10: Undocumented modification of gs possible from call to fscanf:
- fscanf(stdin, "hullo, welcome to %*23d %*c %s", gs)
-
-Finished LCLint checking --- 22 code errors found, as expected
+++ /dev/null
-
-stack.c: (in function stack1)
-stack.c:10:2: Stack-allocated storage *x reachable from parameter x
- stack.c:9:3: Storage *x becomes stack
-stack.c:10:2: Stack-allocated storage glob reachable from global glob
- stack.c:8:3: Storage glob becomes stack
-stack.c: (in function f)
-stack.c:20:14: Stack-allocated storage &x reachable from return value: &x
-stack.c:31:11: Stack-allocated storage sa reachable from return value: sa
-stack.c:35:11: Stack-allocated storage sa reachable from return value: &sa[0]
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
+++ /dev/null
-
-staticarray.c: (in function foo1)
-staticarray.c:9:10: Unqualified static storage buf returned as implicitly only:
- buf
-staticarray.c: (in function f)
-staticarray.c:22:10: Implicitly temp storage outstr returned as implicitly
- only: outstr
-staticarray.c: (in function g)
-staticarray.c:27:10: Implicitly temp storage outstr returned as implicitly
- only: outstr
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-strchr.c: (in function func)
-strchr.c:6:4: Dereference of possibly null pointer c: *c
- strchr.c:5:7: Storage c may become null
-strchr.c:6:3: Suspect modification of observer c: *c = 'd'
-
-Finished LCLint checking --- 2 code errors found, as expected
+++ /dev/null
-
-strings.c:21:6: Function main declared to return void, should return int
-strings.c: (in function main)
-strings.c:24:14: Function call may modify observer: "hullo"
-strings.c:25:7: Observer storage passed as only param: f3 ("hullo")
- strings.c:25:7: Storage becomes observer
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-strings.c:21:6: Function main declared to return void, should return int
-
-Finished LCLint checking --- 1 code error found, as expected
-
-strings.c: (in function main)
-strings.c:23:14: Call to unconstrained function f1 may modify observer: "hullo"
- strings.c:23:14: Storage becomes observer
-strings.c:24:14: Function call may modify observer: "hullo"
-strings.c:25:7: Call to unconstrained function f3 may modify observer: "hullo"
- strings.c:25:7: Storage becomes observer
-strings.c:25:7: Observer storage passed as only param: f3 ("hullo")
- strings.c:25:7: Storage becomes observer
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-structassign.c: (in function copyrecord)
-structassign.c:15:15: Released storage x.name reachable from parameter at
- return point
- structassign.c:14:19: Storage x.name is released
-structassign.c: (in function copyrecord2)
-structassign.c:23:15: Released storage x.name reachable from parameter at
- return point
- structassign.c:22:3: Storage x.name is released
-structassign.c: (in function copyrecord3)
-structassign.c:28:12: Released storage x.name reachable from parameter at
- return point
- structassign.c:28:12: Storage x.name is released
-structassign.c: (in function main)
-structassign.c:45:14: Only storage rc.name (type char *) derived from variable
- declared in this scope is not released (memory leak)
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-erik.c: (in function main)
-erik.c:6:4: Return value (type int) ignored: scanf("%lf %f", ...
-
-Finished LCLint checking --- 1 code error found, as expected
-
-boolcomp.c: (in function f)
-boolcomp.c:5:7: Use of == with bool variables (risks inconsistency because of
- multiple true values): a == b
-boolcomp.c:9:13: Use of == with bool variables (risks inconsistency because of
- multiple true values): a == b
-boolcomp.c:11:6: Use of != with bool variables (risks inconsistency because of
- multiple true values): a != b
-boolcomp.c:16:6: Use of == with bool variables (risks inconsistency because of
- multiple true values): b == TRUE
-boolcomp.c:20:2: Path with no return in function declared to return int
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-addassign.c: (in function hash)
-addassign.c:7:7: Incompatible types for += (int, char): h += *name++
-
-Finished LCLint checking --- 1 code error found, as expected
-
-toralf.c: (in function func1)
-toralf.c:14:3: Incompatible types for += (char *, char): s += 'c'
-toralf.c:15:3: Variable i1 used before definition
-toralf.c:15:9: Variable f used before definition
-toralf.c: (in function func2)
-toralf.c:23:8: Variable i2 used before definition
-toralf.c: (in function main)
-toralf.c:28:10: Null storage passed as non-null param: func1 (NULL)
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-arrayparam.c:1:12: Function parameter x is incomplete type (inner array must
- have bounds): int [2] []
-arrayparam.c:11:12: Function parameter x is incomplete type (inner array must
- have bounds): int [] []
-arrayparam.c:16:12: Function parameter x is incomplete type (inner array must
- have bounds): int [] [] [2]
-arrayparam.c:21:12: Function parameter x is incomplete type (inner array must
- have bounds): int [2] [] [2]
-arrayparam.c:26:12: Function parameter x declared as manifest array (size
- constant is meaningless)
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-obviousloop.c: (in function f)
-obviousloop.c:14:3: Unreachable code: x = 12
-obviousloop.c: (in function f1)
-obviousloop.c:36:2: Path with no return in function declared to return int
-obviousloop.c: (in function f1b)
-obviousloop.c:59:3: Unreachable code: x = 12
-obviousloop.c: (in function f2)
-obviousloop.c:75:3: Unreachable code: x = 12
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-bitops.c: (in function f)
-bitops.c:3:11: Left operand of & is not unsigned value (int): i1 & i2
-bitops.c:3:11: Variable x initialized to type unsigned int, expects int:
- i1 & i2
-bitops.c:4:21: Right operand of & is not unsigned value (int): u1 & i2
-bitops.c:5:13: Left operand of & is not unsigned value (int): i1 & i2
-bitops.c:5:13: Variable s initialized to type unsigned int, expects short int:
- i1 & i2
-bitops.c:6:14: Variable s2 initialized to type int, expects short int: i1 + i2
-bitops.c:9:7: Left operand of << is not unsigned value (int): i1 << 3
-bitops.c:14:7: Left operand of ^ is not unsigned value (int): i1 ^ u1
-bitops.c:15:12: Right operand of ^ is not unsigned value (int): u1 ^ i1
-bitops.c:5:9: Variable s declared but not used
-bitops.c:6:9: Variable s2 declared but not used
-
-Finished LCLint checking --- 11 code errors found, as expected
-
-bitops.c: (in function f)
-bitops.c:5:13: Variable s initialized to type int, expects short int: i1 & i2
-bitops.c:6:14: Variable s2 initialized to type int, expects short int: i1 + i2
-bitops.c:9:7: Left operand of << is not unsigned value (int): i1 << 3
-bitops.c:5:9: Variable s declared but not used
-bitops.c:6:9: Variable s2 declared but not used
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-isalpha.c: (in function f)
-isalpha.c:5:19: Function isalpha expects arg 1 to be int gets char: c
-
-Finished LCLint checking --- 1 code error found, as expected
-
-isalpha.c: (in function f)
-isalpha.c:5:19: Function isalpha expects arg 1 to be int gets char: c
-
-Finished LCLint checking --- 1 code error found, as expected
-
-Finished LCLint checking --- no code errors found
-
-popik.c:7:3: Variable has unknown (implicitly int) type: dummy[0]
-popik.c:7:3: Variable has unknown (implicitly int) type: dummy[1]
-popik.c:7:3: Variable has unknown (implicitly int) type: dummy[2]
-popik.c:7:3: Variable has unknown (implicitly int) type: dummy[3]
-popik.c:24:3: Variable has unknown (implicitly int) type: dummy3[0]
-popik.c:24:3: Variable has unknown (implicitly int) type: dummy3[1]
-popik.c:24:3: Variable has unknown (implicitly int) type: dummy3[2]
-popik.c:24:3: Variable has unknown (implicitly int) type: dummy3[3]
-popik.c:1:14: File static variable dummy declared but not used
-popik.c:10:24: File static variable dummy2 declared but not used
-popik.c:18:14: File static variable dummy3 declared but not used
-
-Finished LCLint checking --- 11 code errors found, as expected
+++ /dev/null
-
-Finished LCLint checking --- no code errors found
-
-enumtest.c:1:9: Variable exported but not used outside enumtest: sig_func
-enumtest.c:2:10: Variable exported but not used outside enumtest: sig_func1
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-duffs.c: (in function send)
-duffs.c:7:8: Fall through case (no preceding break)
-duffs.c:8:8: Fall through case (no preceding break)
-duffs.c:9:8: Fall through case (no preceding break)
-duffs.c:10:8: Fall through case (no preceding break)
-duffs.c:11:8: Fall through case (no preceding break)
-duffs.c:12:8: Fall through case (no preceding break)
-duffs.c:13:8: Fall through case (no preceding break)
-
-Finished LCLint checking --- 7 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-bug2.c: (in function main)
-bug2.c:6:8: Fall through case (no preceding break)
-bug2.c:10:10: Fall through case (no preceding break)
-bug2.c:16:8: Fall through case (no preceding break)
-bug2.c:5:5: Statement after switch is not a case: printf("here 1")
-bug2.c:20:2: Path with no return in function declared to return int
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-bug3.c: (in function main)
-bug3.c:8:8: Fall through case (no preceding break)
-bug3.c:12:21: Variable j used before definition
-bug3.c:13:2: Path with no return in function declared to return int
-
-Finished LCLint checking --- 3 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-hexconstants.c: (in function f)
-hexconstants.c:5:10: Return value type unsigned int does not match declared
- type int: m1 + m2
-
-Finished LCLint checking --- 1 code error found, as expected
-
-hexconstants.c: (in function f)
-hexconstants.c:2:21: Variable m1 initialized to type int, expects unsigned int:
- 0xFF
-hexconstants.c:3:21: Variable m2 initialized to type int, expects unsigned int:
- 0142
-hexconstants.c:5:10: Return value type unsigned int does not match declared
- type int: m1 + m2
-hexconstants.c:1:5: Function f exported but not declared in header file
- hexconstants.c:6:1: Definition of f
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-innercomment.c:1:17: Comment starts inside comment
-innercomment.c:16:3: Comment starts inside comment
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-offsetof.c: (in function f)
-offsetof.c:10:3: Assignment of size_t to int: m = offsetof(S,u)
-offsetof.c:12:26: Deep field k in offsetof is not the name of a field of struct
- { int m; }: offsetof(S,u.s.k)
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-error.c:5:9: Variable x initialized to type char, expects int: 'a'
-
-Finished LCLint checking --- 1 code error found, as expected
-
-ulrich.c: (in function utl_calloc)
-ulrich.c:14:13: Possibly null storage newblock returned as non-null: newblock
- ulrich.c:12:16: Storage newblock may become null
-
-Finished LCLint checking --- 1 code error found, as expected
-
-cpptest.c: (in function test)
-cpptest.c:2:11: Variable x initialized to type char, expects int: 'a'
-
-Finished LCLint checking --- 1 code error found, as expected
-
-longlong.c: (in function llf)
-longlong.c:2:11: Variable m initialized to type long long, expects int: llx
-longlong.c:3:3: Assignment of long long to int: m = 243LL
-longlong.c:6:3: Assignment of long long to long int: lx = 5234LL
-longlong.c:9:3: Assignment of long long to long int: lx = llx
-
-Finished LCLint checking --- 4 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-alignof.c: (in function f)
-alignof.c:2:23: Variable m initialized to type size_t, expects int: alignof(x)
-alignof.c:3:23: Variable n initialized to type size_t, expects int:
- alignof((x))
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-Spec file not found: DBL_MANT_DIG=25.lcl
-Command Line: Malformed option `-D'
-Cannot open file: DBL_MANT_DIG=25.c
-Cannot open file: source.c
-
-Finished LCLint checking --- no code processed
+++ /dev/null
-
-Finished LCLint checking --- no code errors found
-
-boolt.c: (in function test)
-boolt.c:7:16: Function test expects arg 1 to be pan_bool_t gets int: 2
-
-Finished LCLint checking --- 1 code error found, as expected
-
-uconstants.c: (in function f)
-uconstants.c:2:16: Variable x0 declared but not used
-uconstants.c:3:21: Variable x1 declared but not used
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-hoof.c: (in function main)
-hoof.c:12:16: Function init_arr expects arg 2 to be long int * gets int *: &j
-
-Finished LCLint checking --- 1 code error found, as expected
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-booltest.c: (in function f)
-booltest.c:9:12: Return value type int does not match declared type bool: i
-booltest.c:8:7: Test expression for if not bool, type int: i
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-booltest.c: (in function f)
-booltest.c:9:12: Return value type int does not match declared type bool: i
-
-Finished LCLint checking --- 1 code error found, as expected
-
-Finished LCLint checking --- no code errors found
-
-Finished LCLint checking --- no code errors found
-
-immutable.c: (in function immutable_create)
-immutable.c:7:6: Arrow access from possibly null pointer res: res->x
- immutable.c:5:19: Storage res may become null
-immutable.c:8:10: Fresh storage returned as unqualified (should be only): res
- immutable.c:5:54: Fresh storage res allocated
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-impabsmodule.c: (in function isTwo)
-impabsmodule.c:10:7: Variable var used before definition
-impabsmodule.c:10:12: Variable var2 used before definition
-
-Finished LCLint checking --- 2 code errors found, as expected
+++ /dev/null
-
-tq.h:3:45: Datatype tmixm inconsistently declared as immutable
- tq.lcl:3:1: Specification of tmixm
-tq.h:4:45: Datatype tmixa inconsistently declared as abstract type
- tq.lcl:5:14: Specification of tmixa
-tq.h:5:45: Datatype tmixi inconsistently declared as mutable
- tq.lcl:4:1: Specification of tmixi
-typequals.c: (in function f)
-typequals.c:6:4: Operand of * is abstract type (tam): *xtam
-typequals.c:7:4: Operand of * is abstract type (tai): *xtai
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-typequals.c: (in function f)
-typequals.c:6:4: Operand of * is abstract type (tam): *xtam
-typequals.c:7:4: Operand of * is abstract type (tai): *xtai
-
-Finished LCLint checking --- 2 code errors found, as expected
+++ /dev/null
-
-ud.c: (in function f)
-ud.c:8:7: Variable y used before definition
-ud.c:10:7: Variable z used before definition
-ud.c:25:7: Variable z3 used before definition
-ud.c:26:7: Variable z4 used before definition
-ud.c:31:7: Variable z6 used before definition
-ud.c:38:11: Variable j used before definition
-ud.c:49:6: Variable i used before definition
-ud.c:50:6: Variable z5 used before definition
-ud.c:56:7: Variable z5 used before definition
-
-Finished LCLint checking --- 9 code errors found, as expected
-
-ud2.c: (in function g)
-ud2.c:9:6: Unallocated storage y passed as out parameter to f1: y
-ud2.c: (in function h)
-ud2.c:20:7: Passed storage &x not completely defined: f2 (&x)
-ud2.c:23:7: Variable y used before definition
-
-Finished LCLint checking --- 3 code errors found, as expected
+++ /dev/null
-
-ulstypes.c:3:23: Contradictory long and short type qualifiers
-ulstypes.c: (in function f)
-ulstypes.c:10:12: Function f expects arg 1 to be unsigned int gets long int: li
-ulstypes.c:10:3: Assignment of long int to int: loc = f(li)
-ulstypes.c:11:3: Assignment of long int to int: loc = f(ui)
-ulstypes.c:12:12: Function f expects arg 1 to be unsigned int gets int: loc
-ulstypes.c:12:3: Assignment of long int to int: loc = f(loc)
-ulstypes.c:15:10: Return value type unsigned int does not match declared type
- long int: x
-ulstypes.c:20:19: Variable x3 initialized to type int, expects unsigned int:
- -15
-
-Finished LCLint checking --- 8 code errors found, as expected
-
-Finished LCLint checking --- no code errors found
-
-ulstypes.c:3:23: Contradictory long and short type qualifiers
-ulstypes.c: (in function f)
-ulstypes.c:7:19: Variable loli initialized to type int, expects long int: 12
-ulstypes.c:10:12: Undocumented use of global li
-ulstypes.c:10:12: Function f expects arg 1 to be unsigned int gets long int: li
-ulstypes.c:10:9: Undetected modification possible from call to unconstrained
- function f: f
-ulstypes.c:10:3: Assignment of long int to int: loc = f(li)
-ulstypes.c:11:12: Undocumented use of global ui
-ulstypes.c:11:9: Undetected modification possible from call to unconstrained
- function f: f
-ulstypes.c:11:3: Assignment of long int to int: loc = f(ui)
-ulstypes.c:12:12: Function f expects arg 1 to be unsigned int gets int: loc
-ulstypes.c:12:9: Undetected modification possible from call to unconstrained
- function f: f
-ulstypes.c:12:3: Assignment of long int to int: loc = f(loc)
-ulstypes.c:14:3: Assignment of int to long int: loli = loc
-ulstypes.c:15:10: Return value type unsigned int does not match declared type
- long int: x
-ulstypes.c:19:19: Variable x2 initialized to type int, expects unsigned int: 23
-ulstypes.c:20:19: Variable x3 initialized to type int, expects unsigned int:
- -15
-ulstypes.c:24:16: Variable x7 initialized to type int, expects short int: 14
-ulstypes.c:3:21: Variable si declared but not used
-ulstypes.c:18:14: Variable x1 declared but not used
-ulstypes.c:19:14: Variable x2 declared but not used
-ulstypes.c:20:14: Variable x3 declared but not used
-ulstypes.c:21:14: Variable x4 declared but not used
-ulstypes.c:22:10: Variable x5 declared but not used
-ulstypes.c:23:10: Variable x6 declared but not used
-ulstypes.c:24:11: Variable x7 declared but not used
-ulstypes.c:1:14: Variable exported but not used outside ulstypes: ui
-ulstypes.c:2:10: Variable exported but not used outside ulstypes: li
-ulstypes.c:5:10: Function exported but not used outside ulstypes: f
- ulstypes.c:16:1: Definition of f
-
-Finished LCLint checking --- 28 code errors found, as expected
+++ /dev/null
-
-union.c: (in function ut_create1)
-union.c:16:10: Returned union *u has no defined field
-union.c: (in function ut_create4)
-union.c:40:3: Implicitly temp storage t assigned to implicitly only: u->ox = t
-union.c: (in function ut_create5)
-union.c:48:3: Implicitly temp storage t assigned to dependent: u->dx = t
-union.c: (in function ut_create6)
-union.c:57:10: Returned storage u->st contains 2 undefined fields: b, ip
-union.c: (in function ut_create7)
-union.c:66:3: Implicitly temp storage p assigned to implicitly only:
- u->st.ip = p
-union.c: (in function ut_mangle1)
-union.c:73:2: Released storage u->ox reachable from parameter at return point
- union.c:72:9: Storage u->ox is released
-union.c: (in function ut_mangle2)
-union.c:78:2: Released storage u->st.ip reachable from parameter at return
- point
- union.c:77:9: Storage u->st.ip is released
-union.c: (in function ut_mangle3)
-union.c:84:2: Released storage u->st.ip reachable from parameter at return
- point
- union.c:82:9: Storage u->st.ip is released
-
-Finished LCLint checking --- 8 code errors found, as expected
+++ /dev/null
-
-unreachable.c: (in function f)
-unreachable.c:6:4: Unreachable code: x++
-unreachable.c: (in function tu)
-unreachable.c:21:7: Unreachable code: return
-unreachable.c: (in function s)
-unreachable.c:33:29: Unreachable code: z--
-unreachable.c:34:10: Fall through case (no preceding break)
-unreachable.c:45:4: Unreachable code: z++
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-unreachable.c: (in function s)
-unreachable.c:34:10: Fall through case (no preceding break)
-unreachable.c:46:2: Path with no return in function declared to return int
-
-Finished LCLint checking --- 2 code errors found, as expected
-
-switch.c: (in function f3)
-switch.c:31:2: Path with no return in function declared to return int
-switch.c: (in function f5)
-switch.c:49:6: Missing case in switch: THREE
-switch.c:50:2: Path with no return in function declared to return int
-switch.c: (in function f6)
-switch.c:70:2: Path with no return in function declared to return int
-
-Finished LCLint checking --- 4 code errors found, as expected
+++ /dev/null
-
-unused.c:13:6: Name _inner is in the implementation name space (any identifier
- beginning with underscore)
-unused.c:14:2: Name _st is in the implementation name space (any identifier
- beginning with underscore)
-unused.c:19:12: File static function f declared but not used
- unused.c:22:1: Definition of f
-unused.c:16:12: Function undef declared but not defined
-unused.c:16:12: Function undef exported but not declared in header file
-
-Finished LCLint checking --- 5 code errors found, as expected
-
-unused.c:13:6: Name _inner is in the implementation name space (any identifier
- beginning with underscore)
-unused.c:14:2: Name _st is in the implementation name space (any identifier
- beginning with underscore)
-unused.c:19:12: File static function f declared but not used
- unused.c:22:1: Definition of f
-unused.c:16:12: Function undef declared but not defined
-unused.c:1:14: Type dumbtype declared but not used
-unused.c:12:11: Field silly of structure struct _inner declared but not used
-unused.c:7:7: Field dumb of structure struct _st declared but not used
-unused.c:16:12: Function undef exported but not declared in header file
-
-Finished LCLint checking --- 8 code errors found, as expected