<div dir="ltr">I think I accidentally failed to send this to KDevelop-Devel.<br><div><br><div class="gmail_quote">---------- Forwarded message ----------<br>From: <b class="gmail_sendername">Olivier J. G.</b> <span dir="ltr"><<a href="mailto:olivier.jg@gmail.com">olivier.jg@gmail.com</a>></span><br>
Date: Sat, May 4, 2013 at 11:23 AM<br>Subject: Re: Clang<br>To: Alexandre Courbot <<a href="mailto:gnurou@gmail.com">gnurou@gmail.com</a>><br><br><br><div dir="ltr"><div><div><div>Yes, I think the next step here is to take this to Clang with a proposal and hash it out, because using Clang as it stands now would require ugly (and inefficient) hacks, and wouldn't make very good use of the duchain. I also am very interested in working on this, but I know better than to think I could maintain it.<br>

</div>If Clang could just make partial translation units for single files and just annotate the include positions, plus something like libclang's USR (which is not directly available in the C++ API) to allow cross-referencing cursors/decls, that would provide plenty for us to work with. Of course to actually bring something up on the clang mailing-list will require a bit more thought and detail. Perhaps I can return to my previous work on it so I can refresh my memory.<br>

</div>Of course, the next step will be to figure out Clang's codebase and provide patches, and I haven't a clue how much time/difficulty is involved in the changes I'm suggesting. Perhaps after real life has settled down in a couple months, I could look into that. Clang is the only real solution since the advent of C++11 and only more so going into the future, I think.<br>

<br></div>- Olivier JG<div><div class="h5"><br><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, May 3, 2013 at 1:53 PM, Alexandre Courbot <span dir="ltr"><<a href="mailto:gnurou@gmail.com" target="_blank">gnurou@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Fri, May 3, 2013 at 7:48 PM, Milian Wolff <<a href="mailto:mail@milianw.de" target="_blank">mail@milianw.de</a>> wrote:<br>


> The big problem afaik is includes and caching. Clang operates on compile units<br>
> whereas you can throw pretty much everything at KDevelop's parser and it<br>
> mostly does something thats kinda useful :)<br>
<br>
</div>I did not care much about caching yet, but you are right about<br>
includes. That's actually the reason why my parser doesn't handle them<br>
yet. The switch between files is not obvious to catch.<br>
<br>
I'd say this is something that should be brought to the CLang<br>
community and discussed with them. If the task can be made easier by<br>
changing CLang a big and exposing new interfaces, I'd bet they<br>
wouldn't mind a few extra patches. What KDevelop does is far from<br>
being uncommon and could benefit other people too.<br>
<br>
In any case, if you become active on this, I'd love to follow the<br>
progress and contribute if time allows.<br>
<br>
Alex.<br>
_______________________________________________<br>
KDevelop-devel mailing list<br>
<a href="mailto:KDevelop-devel@kde.org" target="_blank">KDevelop-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/kdevelop-devel" target="_blank">https://mail.kde.org/mailman/listinfo/kdevelop-devel</a><br>
</blockquote></div><br></div></div></div></div></div>
</div><br></div></div>