[splint-discuss] assembly code parsing

Steven Venter scventer43 at telkomsa.net
Sat Nov 22 14:58:00 PST 2008


Hi List

 

I'm working on an embedded application. I have successfully splint my code
by removing some calls to third party libraries. I have the flowing
questions

1.	Is there an option whereby on can exclude the parsing of third party
code (header files) but include my headers?
2.	if not, how will I validate the following -

extern PGM_VOID_P memchr_P(PGM_VOID_P, int __val, size_t __len)
__ATTR_CONST__;

problem with size_t

size_t is defined in stddef.h so I don't know what the problem is - stddef
is included.

 

and

 

__asm__ __volatile__( "rjmp 1f\n 1:" ); - no idea how the get this checked!

 

I created my own .splintrc file and is included as reference. I created this
with some basic setting from the doc and then as I splint(ed) my files added
if I felt it was necessary (NEWBIE way I suppose).  Is this ok?

 

###.splintrc-file for GCC AVR-compiler

#

###Include search paths

###I<path> (no space between I and <path>

-IC:\WinAVR-20080610\pfleury_avrlibs

-IC:\WinAVR-20080610\AVRlib\conf

-IC:\WinAVR-20080610\AVRlib

-IC:\WinAVR-20080610\avr\include

-IC:\WinAVR-20080610\avr\include\avr

 

-warnflags -preproc                                           ###
./.splintrc(71,1): Setting +preproc redundant with current value

 

### FLAGS

-maintype                      ### Type of main does not match expected type

### -partial                    ### Do not check as partial system (no
effect?)

+nolib                           ### No library is loaded

### +charindex              ### Allow chars to be used to index arrays

### +charunsignedchar ### Char and unsigned chars match

### +relax-quals            ### Report qualifier mismatches only if
dangerous

### +numabstractlit       ### Number literals may be used as numabstract
types

### -weak

### -internal-name-length 31                               variable length
max

+single-include                                                  ### check
each include file only once.

-nestcomment                                                   ### //
allowed after //

-nocomments

-unrecogcomments

 

+larchpath C:\splint\imports       ### lcd path

+larchpath C:\splint\lib               ### lcd path

 

-warnflags +enumint                              ### Enum and int types are
equivalent

 

### -pred-bool              ### Sets predboolint, predboolptr and
predboolothers

-booltype BOOL

-warnflags -predboolint ### prevent warning on things like "while (1)"

###-boolops                                         ### means can us && and
! for things other than bools

-boolfalse FALSE          ### Name of boolean false

-booltrue TRUE             ### Name of boolean true

 

###DEFINES

-Dpinf=                                                 ### define PINF as
const

-Dsfrb=const                            ### define sfrb as "" for
non-function

-Dsfrw=const                            ### define sfrw as "" for
non-function

-Deeprom=                               ### Define eeprom as ""

-Dflash= ### const        ### Define const as ""

 

### -D_MCU_CLOCK_FREQUENCY_=8000000 ### Define _MCU_CL... as 4000000

 

Thanks for Splint and your support.

Steven

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.cs.virginia.edu/pipermail/splint-discuss/attachments/20081122/c4b643eb/attachment.html 


More information about the splint-discuss mailing list