D13613: RFC: Fix libclang default include paths on FreeBSD.
Aaron Puchert
noreply at phabricator.kde.org
Thu Jul 12 22:28:28 BST 2018
aaronpuchert added a comment.
On my system,
> 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
Meaning that with `vadefs.h` we wouldn't be able to exclude the GCC builtin directory. The intersection of both on my system is:
> 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
Maybe you can intersect that with the files on your system, so that we can find a better candidate.
INLINE COMMENTS
> gcclikecompiler.cpp:193-196
> // but skip folders with compiler builtins, we cannot parse these with clang
> - if (!QFile::exists(hostPath.toLocalFile() + QLatin1String("/varargs.h"))) {
> + if (!QFile::exists(hostPath.toLocalFile() + QLatin1String("/vadefs.h"))) {
> data.includePaths << Path(QFileInfo(hostPath.toLocalFile()).canonicalFilePath());
> }
My understanding is that this is primarily supposed to exclude non-Clang builtin directories, especially the GCC builtin directory which Clang might not understand.
REPOSITORY
R32 KDevelop
REVISION DETAIL
https://phabricator.kde.org/D13613
To: arrowd, #kdevelop, mwolff
Cc: mwolff, aaronpuchert, kdevelop-devel, antismap, iodelay, vbspam, njensen, geetamc, Pilzschaf, akshaydeo, surgenight, arrowd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20180712/582b92bb/attachment-0001.html>
More information about the KDevelop-devel
mailing list