Interesting failures of 'cscope'

From: Carl Spalletta
Date: Wed Aug 04 2004 - 18:26:26 EST


FYI

The first failure seems to be a confusion between function declarations and definitions -
eg for linux-2.6.7, it says FsmNew() is called by drivers/isdn/hisax/fsm.h::CallcNew, thus:

$cscope -d -p9 -L -3 FsmNew
...
drivers/isdn/hisax/fsm.h CallcNew 50 int FsmNew(struct Fsm *fsm, struct FsmNode,*fnlist, int
fncount);
...

but there is no call there, only an external declaration of FsmNew, and no declaration of
CallcNew of any kind whatsoever in that file!


The second failure appears to be related to an inability to cope with complicated declarations
within a prototype, such of those of type pointer-to-function. For example, the definition:

struct net_device *alloc_netdev(int sizeof_priv, const char *mask,
void (*setup)(struct net_device *))

from line 73 of drivers/net/net_init.c, is not recognized by cscope as a valid function definition
and so it does not find the call to kmalloc (or anything else) contained in that function.

$ cscope -d -p9 -L -1 alloc_netdev
<nothing>
$ cscope -d -p9 -L -3 kmalloc | grep alloc_netdev
<nothing>


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/