<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 29, 2017 at 10:31 PM, Manuel Klimek <span dir="ltr"><<a href="mailto:klimek@google.com" target="_blank">klimek@google.com</a>></span> wrote:<br>...<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"></span><span class="gmail-"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br>I'm not saying it's not feasible. I'm not even saying it's not reasonable. But you can see why it'd be nicer for me if libTooling could just present me with a combined AST. :)<br></div></div></div></div></blockquote></div><div><br></div></span><div>Unfortunately that only scales to small projects in the generalized case. The static analyzer gets away with it because it only loads things close to the function it analyzes, instead of needing a global view.</div></blockquote><div><br></div></div>Scales in what way? Memory usage? I just watched Gabor's talk where, if I understood correctly, he mentions that the combined ASTs for llvm took up 40Gb when exported to disk. I'm assuming that's not compressed or anything. There are plenty of workstations with 40Gb+ of RAM. The static analyzer may need significant additional memory for its processing, but my tool does not.<br><br>And tools like mine aren't part of the interactive development process. They may only ever need to be applied to a project once. So it might even be acceptable for it to take a week or whatever to execute. (I don't see why this wouldn't apply, to a lesser degree, to the static analyzer as well.)<br><br>Are you sure you're not being overly conservative about the scaling issue? Or am I somehow just being naive here? For me, I feel that it's a very inconvenient feature omission, and I'm not sure I really understand the reluctance.<br><br>Anyway, if I understood correctly, Gabor was implying that I could somehow use/abuse the new feature to achieve a combined AST? By importing all the functions in the other translation units manually? And if memory use really is an issue, is there a way to import a function into the AST, check it out, then lose it when your done with it?<br><br></div><div class="gmail_extra">Noah<br><br></div></div>