Summary: | Parser does not understand definition of function pointer in specialization | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Griwes <griwes> |
Component: | Language Support: CPP (old) | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | jiandingzhe |
Priority: | NOR | ||
Version: | git master | ||
Target Milestone: | 4.2.3 | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Griwes
2011-11-09 17:38:11 UTC
I also found this issue in kdevelop 4.23 //--------- code -------------- typedef void (*PhysicObjectCallback) (PhysicObject* self, double timestep); PhysicObjectCallback userDynamicFunc; //----------------------------- If you point your mouse at "PhysicObjectCallback", it will give you the hint of "typedef void* PhysicObjectCallback", which is not correct. Griwes, could you supply a compilable minimal example and maybe even reference the proper sections of the C++ standard that explains how your code should behave? I'll try to fix the parse error for now but couldn't understand it yet so I'm not sure whether I can fix it properly... Ah this is actually a duplicate - no? *** This bug has been marked as a duplicate of bug 288439 *** Git commit 81ec5b516fb1ea21fc5344ccf71488bbdec1f649 by Milian Wolff. Committed on 28/01/2013 at 00:52. Pushed by mwolff into branch '4.5'. Add basic support for typedef'ed function pointers. Properly deduce the function type and create correct declarations with the identifier of the sub_declaration id in cases such as: void (*funcptr)(int x); funcptr myFunc; int main() { myFunc(0); } Related: bug 307629 DIGEST: M +20 -4 languages/cpp/cppduchain/declarationbuilder.cpp M +12 -4 languages/cpp/cppduchain/tests/test_duchain.cpp http://commits.kde.org/kdevelop/81ec5b516fb1ea21fc5344ccf71488bbdec1f649 Moving all the bugs from the CPP Parser. It was not well defined the difference between it and C++ Language Support and people kept reporting in both places indistinctively |