Hi Maarten, hi Paul,

Maarten Brock schrieb:
> Hi,
> 
> I've never used any but I wonder what a lint would do 
> with this.
> 
> Maarten
> 
> 
>> frieder wrote:
>>  > Hi Arkadi
>>  > 
>>  > Arkadi Shishlov schrieb:
>>  > > Is it possible to get a warning from the compiler for suspicious lines 
>> of 
>>  > code like
>>  > > some_var == 123;
>>  > > that makes little sense.
>>  > > ?
>>  > 
>>  > Indeed!)
>>  > 
>>  > This one probably makes even less sense but also
>>  > passes without error (both GCC and SDCC:)
>>
>> GCC gives plenty of warnings with -Wall:
>> $ gcc -Wall f.c
>> f.c: In function 'main':
>> f.c:5: warning: the address of 'foo' will always evaluate as 'true'
>> f.c:7: warning: the address of 'foo' will always evaluate as 'true'
>> f.c:8: warning: left-hand operand of comma expression has no effect
>> f.c:8: warning: left-hand operand of comma expression has no effect
>> f.c:8: warning: statement with no effect
>> f.c:8: warning: statement with no effect
>> f.c:10: warning: statement with no effect
>> f.c:12: warning: statement with no effect
>> f.c:14: warning: statement with no effect
>> f.c:17: warning: statement with no effect
>> f.c:20: warning: statement with no effect
>> f.c:23: warning: statement with no effect
>> f.c:23: warning: statement with no effect
>> f.c:25: warning: statement with no effect


splint (www.splint.org) gives:


 > splint f.c
Splint 3.1.2 --- 14 Aug 2008

f.c: (in function main)
f.c:3:13: Test expression for conditional not boolean, type [function ()
              returns void]: foo
   Test expression type is not boolean. (Use -predboolothers to inhibit warning)
f.c:6:12: Operands of && are non-booleans ([function () returns void], int):
              foo && i--
   The operand of a boolean operator is not a boolean. Use +ptrnegate to allow !
   to be used on pointers. (Use -boolops to inhibit warning)
f.c:7:9: Statement has no effect: 1
   Statement has no visible effect --- no values are modified. (Use -noeffect to
   inhibit warning)
f.c:7:16: Statement has no effect: 4
f.c:9:5: Statement has no effect: 5
f.c:11:5: Statement has no effect: 5 == 6
f.c:13:5: Statement has no effect: 7 / 8 == 78
f.c:15:5: Test expression for conditional not boolean, type int: 7 / 8
   Test expression type is not boolean or int. (Use -predboolint to inhibit
   warning)
f.c:15:5: Statement has no effect: 7 / 8
f.c:18:5: Statement has no effect: "GCC 4.3.1 and S...
f.c:19:6: Statement has no effect: "to"
                                                         "be mor...
f.c:22:17: Statement has no effect: !"YES"
f.c:24:15: Operand of ! is non-boolean (int): !i
f.c:24:12: Test expression for conditional not boolean, type int: ~!!i
f.c:24:17: Conditional clauses are not of same type:
               i == 8 (boolean), 8 % +8 (int)
   To make bool and int types equivalent, use +boolint.
f.c:24:27: Statement has no effect: -7
f.c:24:27: Unreachable code: -7
   This code will never be reached on any possible execution. (Use -unreachable
   to inhibit warning)
f.c:25:2: Path with no return in function declared to return int
   There is a path through a function declared to return a value on which there
   is no return statement. This means the execution may fall through without
   returning a meaningful result to the caller. (Use -noret to inhibit warning)
f.c:1:6: Function exported but not used outside f: foo
   A declaration is exported, but not used outside this module. Declaration can
   use static qualifier. (Use -exportlocal to inhibit warning)
    f.c:1:13: Definition of foo

Finished checking --- 19 code warnings

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to