-- I don't know if there's a specification or not for this, but Microsoft Visual C++ and Splint differ in when they process the INCLUDE environment variable. MSVC++ processes it AFTER any "-I" specifiers on the command line, but Splint processes it BEFORE. For example, there is a header file called "trace.h" both in my project include directory and in the Microsoft VC++ one (and they are very different). In my makefile, I specify "-I ..\include", as well as the same for Splint's .splintrc. MSVC++ gets my copy, but Splint grabs the system one specified in my INCLUDE path. My temporary solution was to rename the other one. However, it seems that Splint should offer an option to process INCLUDE before or after to allow users to match what their compiler does.
And some documentation comments: -- I tried the +keep option as was suggested to get the preprocessor output, and it worked as desired. However, this option is not documented in the user manual. (Although it is in "-help flags debug".) I think it should be since it's useful. -- Options are referred to in the documentation both with and without hyphens. For example, the option is described as "pred-bool-others", but referred to in the next sentence as "preboolothers". This makes searching difficult. -- The option "-likelybool" is used in the example W32 .splintrc, but is not documented in the manual, although it is in "-help flags booleans". It seems to be a valid option. It didn't seem to do anything when I used it (when I was having errors with "boolean" versus "BOOLEAN"), though, but I don't understand what it's supposed to do based on the short description.