<table><tr><td style="">aaronpuchert added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D13613">View Revision</a></tr></table><br /><div><div><p>On my system,</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">> find /usr/lib64/ -name vadefs.h
/usr/lib64/clang/6.0.0/include/vadefs.h
> find /usr/lib64/ -name varargs.h
/usr/lib64/clang/6.0.0/include/varargs.h
/usr/lib64/gcc/x86_64-suse-linux/8/include/varargs.h</pre></div>

<p>Meaning that with <tt style="background: #ebebeb; font-size: 13px;">vadefs.h</tt> we wouldn't be able to exclude the GCC builtin directory. The intersection of both on my system is:</p>

<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">> sort <(ls /usr/lib64/clang/6.0.0/include/) <(ls /usr/lib64/gcc/x86_64-suse-linux/8/include/) | uniq -d                 
adxintrin.h
ammintrin.h
avx2intrin.h
avx512bitalgintrin.h
avx512bwintrin.h
avx512cdintrin.h
avx512dqintrin.h
avx512erintrin.h
avx512fintrin.h
avx512ifmaintrin.h
avx512ifmavlintrin.h
avx512pfintrin.h
avx512vbmi2intrin.h
avx512vbmiintrin.h
avx512vbmivlintrin.h
avx512vlbwintrin.h
avx512vldqintrin.h
avx512vlintrin.h
avx512vnniintrin.h
avx512vpopcntdqintrin.h
avx512vpopcntdqvlintrin.h
avxintrin.h
bmi2intrin.h
bmiintrin.h
cetintrin.h
clflushoptintrin.h
clwbintrin.h
clzerointrin.h
cpuid.h
emmintrin.h
f16cintrin.h
float.h
fma4intrin.h
fmaintrin.h
fxsrintrin.h
gfniintrin.h
ia32intrin.h
immintrin.h
iso646.h
lwpintrin.h
lzcntintrin.h
mm3dnow.h
mmintrin.h
mm_malloc.h
mwaitxintrin.h
nmmintrin.h
omp.h
pkuintrin.h
pmmintrin.h
popcntintrin.h
prfchwintrin.h
rdseedintrin.h
rtmintrin.h
sanitizer
shaintrin.h
smmintrin.h
stdalign.h
stdarg.h
stdatomic.h
stdbool.h
stddef.h
stdint.h
stdnoreturn.h
tbmintrin.h
tmmintrin.h
unwind.h
vaesintrin.h
varargs.h
vpclmulqdqintrin.h
wmmintrin.h
x86intrin.h
xmmintrin.h
xopintrin.h
xsavecintrin.h
xsaveintrin.h
xsaveoptintrin.h
xsavesintrin.h
xtestintrin.h</pre></div>

<p>Maybe you can intersect that with the files on your system, so that we can find a better candidate.</p></div></div><br /><div><strong>INLINE COMMENTS</strong><div><div style="margin: 6px 0 12px 0;"><div style="border: 1px solid #C7CCD9; border-radius: 3px;"><div style="padding: 0; background: #F7F7F7; border-color: #e3e4e8; border-style: solid; border-width: 0 0 1px 0; margin: 0;"><div style="color: #74777d; background: #eff2f4; padding: 6px 8px; overflow: hidden;"><a style="float: right; text-decoration: none;" href="https://phabricator.kde.org/D13613#inline-74052">View Inline</a><span style="color: #4b4d51; font-weight: bold;">gcclikecompiler.cpp:193-196</span></div>
<div style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; white-space: pre-wrap; clear: both; padding: 4px 0; margin: 0;"><div style="padding: 0 8px; margin: 0 4px; ">                    <span style="color: #74777d">// but skip folders with compiler builtins, we cannot parse these with clang</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(251, 175, 175, .7);">                    <span style="color: #aa4000">if</span> <span class="p">(</span><span style="color: #aa2211">!</span><span class="n">QFile</span><span style="color: #aa2211">::</span><span class="n">exists</span><span class="p">(</span><span class="n">hostPath</span><span class="p">.</span><span class="n">toLocalFile</span><span class="p">()</span> <span style="color: #aa2211">+</span> <span class="n">QLatin1String</span><span class="p">(</span><span style="color: #766510">"/va<span class="bright">rarg</span>s.h"</span><span class="p">)))</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; background: rgba(151, 234, 151, .6);">                    <span style="color: #aa4000">if</span> <span class="p">(</span><span style="color: #aa2211">!</span><span class="n">QFile</span><span style="color: #aa2211">::</span><span class="n">exists</span><span class="p">(</span><span class="n">hostPath</span><span class="p">.</span><span class="n">toLocalFile</span><span class="p">()</span> <span style="color: #aa2211">+</span> <span class="n">QLatin1String</span><span class="p">(</span><span style="color: #766510">"/va<span class="bright">def</span>s.h"</span><span class="p">)))</span> <span class="p">{</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">                        <span class="n">data</span><span class="p">.</span><span class="n">includePaths</span> <span style="color: #aa2211"><<</span> <span class="n">Path</span><span class="p">(</span><span class="n">QFileInfo</span><span class="p">(</span><span class="n">hostPath</span><span class="p">.</span><span class="n">toLocalFile</span><span class="p">()).</span><span class="n">canonicalFilePath</span><span class="p">());</span>
</div><div style="padding: 0 8px; margin: 0 4px; ">                    <span class="p">}</span>
</div></div></div>
<div style="margin: 8px 0; padding: 0 12px;"><p style="padding: 0; margin: 8px;">My understanding is that this is primarily supposed to exclude non-Clang builtin directories, especially the GCC builtin directory which Clang might not understand.</p></div></div></div></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D13613">https://phabricator.kde.org/D13613</a></div></div><br /><div><strong>To: </strong>arrowd, KDevelop, mwolff<br /><strong>Cc: </strong>mwolff, aaronpuchert, kdevelop-devel, antismap, iodelay, vbspam, njensen, geetamc, Pilzschaf, akshaydeo, surgenight, arrowd<br /></div>