Bugs item #1457101, was opened at 2006-03-23 17:53
Message generated for change (Comment added) made by broeker
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=104664&aid=1457101&group_id=4664
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: C lexer/parser
Group: None
Status: Closed
Resolution: Later
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Hans-Bernhard Broeker (broeker)
Summary: function pointers still throw off cscope
Initial Comment:
I am using cscope-15.5-r4 from Gentoo. I have tried
building a database using:
cscope -kqb -p3 -i filelist -f cscope/kern
(filelist contains a lot of files, including the
attached files) and then using the database with:
cscope -k -d -p3 -f cscope/kern
The problem is that cscope does not see the
register_pccard_driver function. It will see the
previous function and the next function (cs_error and
unregister_pccard_driver).
I've also tried:
cscope -k -p3 drivers/pcmcia/ds.c
Which shows the same problem.
----------------------------------------------------------------------
>Comment By: Hans-Bernhard Broeker (broeker)
Date: 2006-03-24 18:29
Message:
Logged In: YES
user_id=27517
Yes. And that's not just me saying so, but the man page of
cscope, and its home page, too. The problem is basically
that cscope tries to parse C using only regular expressions
and some very little touch-ups. But regular expressions can
always be thrown off kilter by arbitrary nesting of parentheses.
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2006-03-24 18:07
Message:
Logged In: NO
Are you saying that the mere presence of (void *)(detach) in
the argument list for register_pccard_driver will confuse
cscope?
----------------------------------------------------------------------
Comment By: Hans-Bernhard Broeker (broeker)
Date: 2006-03-24 16:05
Message:
Logged In: YES
user_id=27517
This is a known, documented misfeature of the way the cscope
parser works: it fails to recognize function pointers.
Cscope has had this misfeature forever.
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2006-03-23 18:23
Message:
Logged In: NO
To be more specifc, in cscope,
Find this global definition: register_pccard_driver
This will print the error message:
Could not find the global definition: register_pccard_driver
Whereas the other functions mentioned are found, the file
opened, etc.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=104664&aid=1457101&group_id=4664
|