Pristine Ack-5.5
[Ack-5.5.git] / lang / cem / cemcom.ansi / def.str
1 /*
2  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3  * See the copyright notice in the ACK home directory, in the file "Copyright".
4  */
5 /* $Id: def.str,v 1.7 1994/06/27 07:59:19 ceriel Exp $ */
6 /* IDENTIFIER DEFINITION DESCRIPTOR */
7
8 #include        "lint.h"
9
10 struct def      {               /* for ordinary tags */
11         struct def *next;
12         int df_level;
13         struct type *df_type;
14         int df_sc;              /*      may be:
15                                         GLOBAL, STATIC, EXTERN,
16                                         TYPEDEF,
17                                         FORMAL, AUTO,
18                                         ENUM, LABEL
19                                 */
20         char df_initialized;    /* an initialization has been generated */
21         char df_alloc;          /* 0, ALLOC_SEEN or ALLOC_DONE */
22         char df_used;           /* set if idf is used */
23         char df_formal_array;   /* to warn if sizeof is taken */
24         char *df_file;          /* file containing the definition */
25         unsigned int df_line;   /* line number of the definition */
26 #ifdef  LINT
27         char df_set;
28         int df_firstbrace;      /* brace number of its first occurrence */
29         int df_minlevel;        /* the lowest level needed for this def */
30 #endif  /* LINT */
31         arith df_address;
32 };
33
34 #define ALLOC_SEEN      1       /* an allocating declaration has been seen */
35 #define ALLOC_DONE      2       /* the allocating declaration has been done */
36
37 #define REG_DEFAULT     0       /* register candidate, not declared as such */
38 #define REG_BONUS       10      /* register candidate, declared as such */
39
40 /* ALLOCDEF "def" 50 */