Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!bcstec!voodoo!tomm From: tomm@uucp (Tom Mackey) Newsgroups: comp.sys.sgi Subject: Re: ctags and function prototypes Message-ID: <537@voodoo.UUCP> Date: 2 Nov 90 19:13:48 GMT References: <515@voodoo.UUCP> <517@voodoo.UUCP> Sender: news@voodoo.UUCP Organization: BoGART To You Buddy, Bellevue, WA Lines: 40 In article <517@voodoo.UUCP> tomm@uucp (Tom Mackey) writes: >In article <515@voodoo.UUCP> tomm@voodoo.voodoo.uucp (Tom Mackey) writes: >> I'm trying to DoTheRightThing and use full function prototyping >> and have run into a little problem with ctags. I wonder whether > >A co-worker just popped in and said he thought he had seen something >about this 3 or so weeks ago. I just got caught up in c.s.sgi, so it >may have expired. He said there may have been something about it >being a known bug and was to be fixed in Release 3.3 of the OS. I am >running Release 3.3.1 on a 4D/25TG. < Didja ever get the feeling no one's listening and yer just talking to yerself? ;^) > Here is a workaround to the ctags and prototypes problem that I've been discussing with myself: /* ** The following cheap trick is made necessary by a broken ctags(1). ** Ctags is fooled by function prototypes containing pointer to ** function declarations, so we hide them in a define. Now lint(1) ** stays happy, too! */ #define PARMLIST1 void (*fn)(void *, int) #define PARMLIST2 void (*fn)(void *) void add_event(event_pp, int, int, int, PARMLIST1, void *); void add_update(update_pp, int *, PARMLIST2, void *); Enjoy! -- Tom Mackey (206) 865-6575 tomm@voodoo.boeing.com Boeing Computer Services ....uunet!bcstec!voodoo!tomm M/S 7K-20, P.O. Box 24346, Seattle, WA 98124-0346