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