From: <no...@so...> - 2002-01-09 18:24:37
|
Bugs item #501411, was opened at 2002-01-09 10:24 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=104664&aid=501411&group_id=4664 Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Geeta Arora (geetatara) Assigned to: Nobody/Anonymous (nobody) Summary: whodefs on functions with function argue Initial Comment: I use cscope 13.3 on SUN Ultra-60, but I believe cscope 15.3 also has this bug: Suppose you have a function foo() which has a function arguementr. Then "whodefs foo" doesn't return the correct function declaration. For example: void foo(int a, void (*callback)(/*void *context, void *buffer, int len*/)) { /* function body */ ................ /* call the callback */ (*callback)(ctx, "abc", 2); ................. } whodefs foo will not return this declaration. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=104664&aid=501411&group_id=4664 |
From: <no...@so...> - 2002-01-12 18:14:41
|
Bugs item #501411, was opened at 2002-01-09 10:24 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=104664&aid=501411&group_id=4664 Category: None Group: None >Status: Closed >Resolution: Wont Fix Priority: 5 Submitted By: Geeta Arora (geetatara) >Assigned to: Hans-Bernhard Broeker (broeker) Summary: whodefs on functions with function argue Initial Comment: I use cscope 13.3 on SUN Ultra-60, but I believe cscope 15.3 also has this bug: Suppose you have a function foo() which has a function arguementr. Then "whodefs foo" doesn't return the correct function declaration. For example: void foo(int a, void (*callback)(/*void *context, void *buffer, int len*/)) { /* function body */ ................ /* call the callback */ (*callback)(ctx, "abc", 2); ................. } whodefs foo will not return this declaration. ---------------------------------------------------------------------- >Comment By: Hans-Bernhard Broeker (broeker) Date: 2002-01-12 10:14 Message: Logged In: YES user_id=27517 This is an ancient known limitation of cscope. It's so old it's even listed in the man-page, in section "Notices": Nor does it recognize function definitions with a function pointer argument ParseTable::Recognize(int startState, char *pattern, int finishState, void (*FinalAction)(char *)) { ... } Given how cscope implements scanning of your C sources, there's hardly a chance this limitation can be overcome: cscope uses (f)lex, and thus regular expressions. And regular expressions simpply can't handle recursive parenthesized expressions in any manageable way. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=104664&aid=501411&group_id=4664 |
From: <no...@so...> - 2002-01-12 18:15:24
|
Bugs item #501411, was opened at 2002-01-09 10:24 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=104664&aid=501411&group_id=4664 Category: None Group: None Status: Closed Resolution: Wont Fix Priority: 5 Submitted By: Geeta Arora (geetatara) Assigned to: Hans-Bernhard Broeker (broeker) Summary: whodefs on functions with function argue Initial Comment: I use cscope 13.3 on SUN Ultra-60, but I believe cscope 15.3 also has this bug: Suppose you have a function foo() which has a function arguementr. Then "whodefs foo" doesn't return the correct function declaration. For example: void foo(int a, void (*callback)(/*void *context, void *buffer, int len*/)) { /* function body */ ................ /* call the callback */ (*callback)(ctx, "abc", 2); ................. } whodefs foo will not return this declaration. ---------------------------------------------------------------------- >Comment By: Hans-Bernhard Broeker (broeker) Date: 2002-01-12 10:15 Message: Logged In: YES user_id=27517 This is an ancient known limitation of cscope. It's so old it's even listed in the man-page, in section "Notices": Nor does it recognize function definitions with a function pointer argument ParseTable::Recognize(int startState, char *pattern, int finishState, void (*FinalAction)(char *)) { ... } Given how cscope implements scanning of your C sources, there's hardly a chance this limitation can be overcome: cscope uses (f)lex, and thus regular expressions. And regular expressions simpply can't handle recursive parenthesized expressions in any manageable way. ---------------------------------------------------------------------- Comment By: Hans-Bernhard Broeker (broeker) Date: 2002-01-12 10:14 Message: Logged In: YES user_id=27517 This is an ancient known limitation of cscope. It's so old it's even listed in the man-page, in section "Notices": Nor does it recognize function definitions with a function pointer argument ParseTable::Recognize(int startState, char *pattern, int finishState, void (*FinalAction)(char *)) { ... } Given how cscope implements scanning of your C sources, there's hardly a chance this limitation can be overcome: cscope uses (f)lex, and thus regular expressions. And regular expressions simpply can't handle recursive parenthesized expressions in any manageable way. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=104664&aid=501411&group_id=4664 |