[cfe-dev] [PATCH] scan-build patch for inter-procedural analysis

Zhongxing Xu xuzhongxing at gmail.com
Mon Dec 8 17:24:08 PST 2008


On Tue, Dec 9, 2008 at 2:15 AM, Ted Kremenek <kremenek at apple.com> wrote:

> On Dec 7, 2008, at 11:15 AM, Zhongxing Xu wrote:
>
>  Add '-mode' option to scan-build. 'intra' mode is the same as before.
>> 'inter' mode makes ccc-analyzer do -serialize on each compile action.
>> The patch looks a little messy. But that should be diff's problem.
>> Actually only a few lines are added. No functional change should be
>> incurred.
>>
>
> Hi Zhongxing,
>
> I don't think this is the right approach.  Checks that are inter-procedural
> should just transparently cause "inter-procedural behavior" in scan-build.
>  There is no reason to burden users with this concept in the UI.
>
> Also, I think the concept you are thinking about is "whole-program
> analysis", not inter-procedural analysis.  We can do the latter without the
> former, albeit only a translation unit at a time.  Doing inter-procedural
> analysis at the translation unit level seems like a more logical starting
> point to me then adding a fuzzy option to scan-build that doesn't do
> anything.
>
> Moreover, since core pieces needed for whole-program analysis aren't in
> place (e.g., full AST serialization, indexing over a whole-program image so
> we can perform whole-program analysis), it just seems strange to add an
> option to this effect.  We actually don't know yet what the whole program
> image will look like, and it will likely consist of more than just
> serializing out ASTs.
>
> Once we have more of these pieces in place, I think scan-build can
> transparently do whole-program analysis by simply delaying doing analysis
> until after the build completes.  From the user perspective this is clean
> and simple.  There is simply no reason to distinguish between "intra" and
> "inter" modes, at least at this point.
>
> Ted

I see. My original intention is to use it to do serialization tests along
with the build process. Then I'll just keep it for my own use.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20081209/d7dbecdf/attachment.html>


More information about the cfe-dev mailing list