<div dir="ltr">+chandler, as he knows a lot about the driver...<div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 20, 2013 at 1:52 AM, Val Markovic <span dir="ltr"><<a href="mailto:val@markovic.io" target="_blank">val@markovic.io</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">From what I can gather, it appears that when compiling a C++ file with the clang binary, clang will use some default header search paths. But when trying to do the same from libclang, it won't. Is this caused by the clang driver/frontend distinction (I don't know much about it)?<br>


</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Specifically, I'm talking about this issue affecting the YouCompleteMe plugin: <a href="https://github.com/Valloric/YouCompleteMe/issues/303" target="_blank">https://github.com/Valloric/YouCompleteMe/issues/303</a></div>


<div><br></div><div style="font-family:arial,sans-serif;font-size:13px">So, is there a way to get libclang to use the same header search paths that the clang binary does? If not, why not and could this be changed in future versions of libclang?</div>


<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">If there's no way to get libclang to use the same header search paths by default, is there a way to extract them out of the libclang API so that the paths can then be provided in other libclang API calls? If not now, could libclang be changed to support this in the future?</div>


<div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">The current situation where libclang users are forced to recreate the default header search path logic for every OS is incredibly frustrating. YCM can't even call out to clang to extract the headers out of it with "echo | clang -v -E -x c++ -" because clang might not even be installed on the machine. We only have libclang to work with.</div>


</div>
</blockquote></div><br></div><div class="gmail_extra">I guess it would make sense to add some way to query the driver logic to libclang.</div><div class="gmail_extra">What I don't know enough about is relative to which "clang" version the driver should search in that case - perhaps the right solution is to either hand one in from the outside, or use the unix search path?</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Cheers,</div><div class="gmail_extra">/Manuel</div></div>