SUMMARY Something is wrong with the C++ indexer in 5.3.1 but I'm not exactly sure what's going wrong. There are lots of classes that don't get resolved. I see errors like "member access to incomplete type" and other errors related to incomplete types even though the header file for that class is #included. When I open the header file for those classes which the indexer isn't resolving, there is a warning which says "Header is not guarded against multiple inclusions", which is wrong. I can get that warning to go away by clicking the refresh button in the Problems area, but when I switch to another file then switch back to that header, the erroneous warning comes back. I have tried reopening the project and clearing the cache (both multiple times), but the problem persists. This is a regression. KDevelop used to parse this code fine. I don't know what the last working version was. STEPS TO REPRODUCE 1. Download code from https://github.com/kshitij98/mixxx/tree/effects_refactoring 2. Set up KDevelop project as described at https://mixxx.org/wiki/doku.php/kdevelop 3. Open src/effects/effectslot.cpp OBSERVED RESULT lots of unresolved symbols EXPECTED RESULT All symbols resolved, able to use "show uses", "jump to declaration", and "jump to definition features" with accurate and complete results. SOFTWARE/OS VERSIONS GNOME 3.30.2 KDE Frameworks Version: 5.53 Qt Version: 5.11.1 OS: Fedora 29, using KDevelop package from Fedora
I am seeing this as well, both with C and C++ projects. This severely impacts KDevelop's usability. It looks like this warning is more the result of a parsing failure than an actual false positive. If that was the case, then I suspect the file would still be parsed nonetheless, while currently none of the symbols are resolved.
By the way, do you know which version of clang your KDevelop is linked against? (clang --version is probably a realiable way to get it) I suspect that this may be due to clang 7, as another machine of mine, which uses older packages, seems to be working fine AFAICT (I have compiled KDevelop myself on both). I don't have access to it yet, but should be able to confirm both the behavior and clang version next week.
It seems to be confirmed that the issue is with clang 7. I have downloaded and run the official 5.3.1 AppImage and it works just fine. The AppImage embeds clang6. I suppose we can use this as a workaround until the issue is properly fixed.
Thank you for investigating. Yes, Fedora 29 ships Clang 7. I downloaded the AppImage and these errors no longer appear.
Sadly the AppImage is also crashing regularly for me. :/
Is this still an issue with current Clang versions? (I attempted to build the example project, but it doesn't seem to work with current SCons).