<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    One of the reasons the clang static analyzer doesn't support cross
    TU analysis is because of scaling issues.  The core static analysis
    algorithm is super-exponential.  There are some caps put into place
    so that execution eventually finishes.<br>
    <br>
    There have been recent discussions regarding cross-function and
    cross-TU analysis here:<br>
<a class="moz-txt-link-freetext" href="http://clang-developers.42468.n3.nabble.com/analyzer-Summary-IPA-thoughts-td4048239.html">http://clang-developers.42468.n3.nabble.com/analyzer-Summary-IPA-thoughts-td4048239.html</a><br>
    <br>
    <div class="moz-cite-prefix">On 11/29/2015 10:27 AM, Andrew Melo
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAJY4aWFnq2EN4GHjueiq1+P-g3iy+wKYU_mpwUvK2SLpVAmHdA@mail.gmail.com"
      type="cite">
      <div dir="ltr">Hi Ben,
        <div><br>
        </div>
        <div>Thanks for the mail,</div>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Mon, Nov 23, 2015 at 12:00 PM,
            Craig, Ben via cfe-dev <span dir="ltr"><<a
                moz-do-not-send="true"
                href="mailto:cfe-dev@lists.llvm.org" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a></a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                I'm not sure that I fully understand your question. 
                Here are some attempts by me to answer some of the
                questions I think you are asking.<br>
                <br>
                How do I make one combined index.html for the bug
                reports in my two distinct projects?<br>
                <blockquote>Have you tried to use -o <output
                  location>, and have both projects point to the same
                  location?  I don't know for sure if this will work or
                  not, but it's worth a shot.<br>
                </blockquote>
                <br>
                How do I do cross-project analysis?  For example, how do
                I find null dereference bugs when projectA invokes a
                function in projectB incorrectly?<br>
                <blockquote>The clang static analyzer doesn't support
                  this right now.  It doesn't even really support
                  finding bugs when crossing translation units.  It can
                  find cross-function issues when all the functions are
                  in the same translation unit.<br>
                </blockquote>
              </div>
            </blockquote>
            <div>I was looking for the latter. I didn't realize the
              static analysis was limited to a single translation unit,
              which is why my question probably didn't make a lot of
              sense. I guess the limitation is that the control-flow
              graph can grow to be unboundedly large as you combine
              translation units together?</div>
            <div><br>
            </div>
            <div>Thanks for the help,</div>
            <div>Andrew</div>
            <div><br>
            </div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div bgcolor="#FFFFFF" text="#000000">
                <blockquote>
                </blockquote>
                <span class="">
                  <div>On 11/23/2015 11:15 AM, Andrew Melo via cfe-dev
                    wrote:<br>
                  </div>
                  <blockquote type="cite">
                    <pre>Hello all,

I've been using clang's static analyzer to clean up some code and find
some particularly tricky bugs that have been haunting me for a while.
It's working great!

Our project is broken into multiple independent subprojects (each with
their own makefile, etc..), so when I run scan-build on each
subproject in sequence, a lot of the context gets lost when control
goes from projectA to projectB and back again. Is there a way to have
scan-build combine the ASTs from the different projects together to
give it the global view? We currently have:

projectA$ scan-build make
projectB$ scan-build make

Is there some way to have scan-build do something the equivalent of:

$ scan-build --combine projectA/scan-output projectB/scan-output

Thanks!
Andrew
</pre>
                  </blockquote>
                  <br>
                </span><span class="HOEnZb"><font color="#888888">
                    <pre cols="72">-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
</pre>
                  </font></span></div>
            </blockquote>
          </div>
          <br>
          <br clear="all">
          <div><br>
          </div>
          -- <br>
          <div class="gmail_signature">--<br>
            Andrew Melo<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project
</pre>
  </body>
</html>