https://bugs.kde.org/show_bug.cgi?id=393779

--- Comment #23 from Milian Wolff <m...@milianw.de> ---
Ah, that is indeed an important detail which was not clear at all from the
previous comments.

So to make sure:

You changed KDEV_CLANG_BUILTIN_DIR to /usr/lib64/clang/6.0.0/include/, then
recompiled and installed KDevelop and reran your session with
CLEAR_DUCHAIN_DIR=1  (or after removing your cache in ~/.cache/kdevduchain) and
the problems persist?

I somehow believe that you forgot to clean the cache? If that is not the case,
then indeed we need to figure out why that happens. Can you please tell me what
compiler you have selected in the includes-and-defines settings for your
project?

Also, please set KDEV_CLANG_DISPLAY_ARGS=1 and run kdevelop then paste one of
the clang invocation command lines for a C++ files.

Oh, and please also tell me where your STL includes live, e.g. where is the
`string` header or such, take one of the headers where you see the "identifier
is not found in the std:: namespace" error.

Now let me explain once more how it *should* work (and how it works on
non-gentoo machines):


1) we query the build system for include paths for the given file
2) we query the compiler selected by the user for its include paths
- this includes the libstdc++ or libc++ include paths, whatever the compiler is
using (or what the user specifies via the compiler args)
- if a C compiler is used, there are no STL include paths of course
- we filter out any paths that include varargs.h from this list
3) (at compile time) we try to find the path to the builtin headers for clang
that match the version of libclang we are using

Now we assemble these paths in that order, 1), 2), 3) and run the clang parse
job.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to