ITEM: D8676L

Problem with the ctags command with the -t option




Question:

I am trying to use the ctags command with the -t option. This option
will make it include typedefs. It is not getting all the typedefs. The
following systax is not being recognized.

 typedef struct foo { .... } name

If foo is removed then the ctags will add name to the tags file.

Response:

I could not duplicate the problem described above using the ctags 
command at AIX 3.2.4.  I tested with a file called struct.c that 
contained the following:

typedef struct entry { 
 char *key, *data; 
} ENTRY;
typedef struct {
 char *hello;
 char *world;
} sentry;

I used the command: ctags -BFamtwf tagfile struct.c

which created a tagfile with the following contents:

ENTRY   struct.c        3
sentry  struct.c        7

In order to research this further I will need more information.  
What level of AIX are you using and what flags are you using in 
conjunction with the ctags command?  Could you provide a small test 
case if your situation is significantly different from the test case 
I used?

Response:

The system at AIX 3.2.3E is exhibiting the problem with ctags 
not recognizing the above mentioned typedefs.  This problem is
not exhibited at AIX 3.2.4.  I was unable to find a particular
fix that is responsible for fixing this problem.

One workaround is to remove the space before the left curly 
brace so that the typedef looks like:

typedef struct foo{ ... } name;

This typedef is recognized by ctags at both AIX 3.2.3E and 3.2.4.

Unfortunately, this may not be a reasonable workaround if you
have hundreds of C programs effected by this problem.

You may wish to contact Software Support about getting the fix
for this problem or you may wish to upgrade your system to AIX
3.2.4.  Software Support may be reached at 1-800-237-5511.


Support Line: Problem with the ctags command with the -t option ITEM: D8676L
Dated: September 1993 Category: N/A
This HTML file was generated 99/06/24~13:30:55
Comments or suggestions? Contact us