Summary: | Return type of STL containers' access methods is not resolved (no code completion and DUChain is not built) | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Ivan Shapovalov <intelfx> |
Component: | Language Support: CPP (old) | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | eugene.shalygin+bugzilla.kde, iq2luc, mwoehlke.floss |
Priority: | NOR | ||
Version: | git master | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Ivan Shapovalov
2012-04-30 19:37:08 UTC
The problem seems to be located in <bits/alloc_traits.h>. The correct partial specialization of std::__alloctr_rebind is selected using third (bool) template parameter, which is resolved with a helper class std::__alloctr_rebind_helper, which in turn uses overloaded constexpr functions to select the correct value. The problem 1: Cannot handle constexpr functions while resolving constant expressions (in std::__alloctr_rebind_helper) The problem 2: Cannot handle constant variables while resolving default template arguments (in std::__alloctr_rebind) The problem 3: Something happens when resolving templated "using" declaration (in std::allocator_traits<>::rebind_alloc) I confirm this also, it is pretty annoying indeed. Ivan, if you can spend some time to work on this it would be great... thanks a lot for your work on kdev anyway! After some digging I started to think that it'd be better to accomplish this by completely changing our parser to clang... (There is some work for it (https://github.com/Gnurou/kdevelop/tree/clang), and I'm going to join it shortly.) Trying to improve _our_ parser will be greatly time-consuming as enabling such type resolution would require adding support for variadic templates and who knows what else. What a great news :-) I'm also a kernel developer and that project looks really cool. Thanks again! note that there's kdev-clang nowadays which is pretty good already and will be further improved over the coming months! checkout http://kfunk.org/2014/04/28/gsoc-2014-improving-the-clang-integration-in-kdevelop/ e.g. *** This bug has been marked as a duplicate of bug 324388 *** |