I have noticed that code completion system is relatively simple. It subtitutes only functions/variables with simple declarations, but complex ones like
void (*SimplePaintFunc(uint8_t r, uint8_t g, uint8_t b, uint8_t a))(int, int);
don't appear in the list (like this one) or have incorrect type.
I'm on Windows x64. Version is 13.12 (from windows installer).
Can you make a full example file that can be used to demonstrate the problem?
Looks like I can't edit my post. Here it is:
(I forgot how to reproduce the wrong type problem. Maybe it's already fixed.)
~~~~~~~~
int test01; // OK
int test02; // OK
int (test03); // NOT IN THE LIST
int (test04)(); // NOT IN THE LIST
int test05(); // OK
int (test06)(); // NOT IN THE LIST
int (test07); // NOT IN THE LIST
int const test08 = 0; // OK
int (const test09) = 0; // NOT IN THE LIST
int test10[1] = {0}; // OK
int test11[1] = {0}; // OK
int (test12)[1]; // NOT IN THE LIST
int test13(); // OK
int (test14()); // NOT IN THE LIST
int (test15())(); // NOT IN THE LIST
int main()
{
// Type
test
on the next line and look at the autocompletion list}
~~~~~~~
Last edit: HolyBlackCat 2015-01-06
Interesting things should be supported by c/c++ compilers...
@ollydbg: I'm assigning this to you, because you're our cc master:) If you don't intend to fix it don't hesitate to set the owner to none.
Hi,
I don't know if this is the same bug or not, but I have a similar problem. Code completion doesn't work with functions which have a complex (non native) type :
I have the following build (13.12) on linux (centos) : Dec 25 2013, 23:43:10 - wx2.8.12 (Linux, unicode) - 32 bit.
Sorry if this is not the same bug, please inform me, I will open another ticket.
Thanks!
Hi, jidey, I just tested with the trunk code, and it failed. I have added a test case to our cctest project (r10332). Thanks for the report.
Hi, jidey. Your reported issue is fixed in r11572. Sorry for the long delay. And thanks for the report.
I add the test case https://sourceforge.net/p/codeblocks/tickets/127/#520e to our trunk, thanks HolyBlackCat for the report, here is the test result:
Last edit: ollydbg 2015-06-12
similar bug report: Code::Blocks / Tickets / #156 CC failed parsing the char (*varname)[7]; (a pointer to an array of characters) definition