tag files for preprocessor macros?
Brian Holtz
holtz at zurich.csmil.umich.edu
Mon Feb 19 12:24:23 AEST 1990
In article <369 at charyb.COM> dan at charyb.UUCP (Dan Mick) writes:
>In article <1345 at zipeecs.umich.edu> brian at dip.eecs.umich.edu (Brian Holtz) writes:
>>Is there a tool like ctags or etags that also generates tags for
>>preprocessor-#define'd symbols and macros?
>
>Eh? My ctags does. As a matter of fact, the third paragraph of the man
>page states that explicitly. Have you R'ed TFM?
Yep, and the etags source, too. Neither ctags nor etags generates tags
for simple preprocessor definitions or even argument-less preprocessor
macros. Also, neither generates tags for macros defined when any
curly braces are open, which is a lot of places in, say, the X11
include files, with their ifdef'd-out support for C++:
#ifdef __cplusplus
extern "C" {
#endif
/* ... file-full of stuff ... */
#ifdef __cplusplus
}
#endif
In etags, at least, the reason for this is that macros are tagged
only when they occur in places that a regular function could.
Now, I can understand ifdef'd braces fooling you about functions,
since you don't want to preprocess the file just to get tags out,
but preprocessor definitions are a separate matter altogether.
Anyone with a higher tolerance for rats' nests of goto's than I have
is welcome to modify gnu etags and fix the problem.
More information about the Comp.unix.questions
mailing list