Looks like i have been a little bit too lazy, i relied on svn to display these indexdb files as unrevisioned to spot them, too bad some directories had wildcard ignores, so i was wrong, i'm not missing any indexdb files, each project has one, so thats not the issue :D. Search paths are also not the problem, i have files where boost does get picked up and get auto-completed, and every project includes boost by the very same absolute path.
So i took a closer look at the debug messages, and it looks like all my error messages are the same:
+++ Adding /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/ia32intrin.h to errorIncludes, scope: /my_path/my_header.h
[snip]
+++ Adding /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/ia32intrin.h to errorIncludes, scope: /my_path/my_header.h
+++ Adding /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/xmmintrin.h to errorIncludes, scope: /my_path/my_header.h
[snip]
+++ Adding /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/xmmintrin.h to errorIncludes, scope: /my_path/my_header.h
+++ Adding /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/emmintrin.h to errorIncludes, scope: /my_path/my_header.h
[snip]
+++ Adding /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/emmintrin.h to errorIncludes, scope: /my_path/my_header.h
+++ Adding /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/adxintrin.h to errorIncludes, scope: /my_path/my_header.h
[snip]
Visit include statement /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/emmintrin.h
+++ Inserting error at 13,10
Visit include statement /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/xmmintrin.h
+++ Inserting error at 13,10
Visit include statement /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/immintrin.h
No warnings or errors for this include file
Visit include statement /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/adxintrin.h
+++ Inserting error at 13,10
In the terminal attached to the codeblocks process i can see clang spills out error messages about undeclared identifier mostly. I verified by example that whenever i open a file that produces these messages, code completion is dead in that file. Files that produce only warnings like unused parameters, type conversion and whatever do have a working code completion.
The second issue i have in some files is that the diagnostics marks some headers with an error like this:
#include <cstdint>
#include <type_traits>
#include <map>
#include <set>
#include <sstream>
#include <string>
#include <vector>
#include <boost/optional.hpp>
Errors present
#include <boost/shared_ptr.hpp>
#include <boost/scoped_ptr.hpp>
I can't say for sure if that happens only or always with files that produce the error messages above, but in some examples this was the case.
Playing around with the CC i discovered the following things:
- Using the context menu action "Open include file" on #include statements more or less randomly doesn't work the first time, i have to click on the very same line twice in a row to open the include file
- Clicking in the method body for the first time selects the scope and function in the toolbar, however when opening the function combobox it only contains this very function and the scope name on top. Clicking on it a second time populates this combobox with (almost, see next point) all methods and removes the scope
- The method combobox never contains any constructor or destructor, clicking on the body of any of these unselects everything in the toolbar
- The function "Goto declaration" doesn't work when i click on the method name in the implementation file of that method, only when i click on that methode name in a different file that calls this method. However "Find implementation" on the method name in the header file of that method works, so basically i can switch from the header to the implementation but not the reverse way
Also be aware, you are trying Clang for code completion, but under the hood you are also using Clang as a kind-of compiler so in theory the code should meet the criteria to be compiled using Clang. I know my daytime-work-project isn't, but the parts I work in are fine (and includes boost).
I don't understand what you mean with this, my project gets compiled with gcc only.