>
> I just started using Split this morning to try it out on my Windows device
> driver.  Whew!  Lots and lots of "errors", so I'm just
> concentrating on the
> "-weak" ones...
>
> I have a macro that I use a lot that looks something like:
>       if (debuggerRunning) {
>               __asm { int 3 };
>       }
>
> Of course, I don't expect Splint to do anything with the assembly, but I
> then get the "empty if statement" warning all over the place.  I'd like to
> just fix that warning in the macro, rather than suppress it
> altogether.  The
> documentation doesn't seem to show an annotation that could be
> used for that
> case, but it seems like something that would have come up before...

I encountered a problem very much similar to this when checking some
code that made extensive use of this macro:

#define newstr(s)\
        strcpy(malloc(strlen(s) + 1), s)

every time it used that macro is raised a "-boundswrite" warning
since it thought the src buffer could get overflowed. The solution
is to add a control comment into the macro itself:

#define newstr(s)\
        /*@-boundswrite@*/ strcpy(malloc(strlen(s) + 1), s) /*@=boundswrite@*/

so Splint's preprocessor will put this in, and that will suppress
the warning

David



Reply via email to