xref: /original-bsd/old/pcc/lint/lpass1/lmanifest.h (revision f0fd5f8a)
1 /*
2  *	@(#)lmanifest.h	1.1	(Berkeley)	08/30/82
3  */
4 /*	the key:
5 	LDI	defined and initialized: storage set aside
6 	LIB	defined on a library
7 	LDC	defined as a common region on UNIX
8 	LDX	defined by an extern: if ! pflag, same as LDI
9 	LRV	function returns a value
10 	LUV	function used in a value context
11 	LUE	function used in effects context
12 	LUM	mentioned somewhere other than at the declaration
13 	*/
14 # define LDI 01
15 # define LIB 02
16 # define LDC 04
17 # define LDX 010
18 # define LRV 020
19 # define LUV 040
20 # define LUE 0100
21 # define LUM 0200
22 
23 # define LFN 0400  /* filename record */
24 
25 	/* number of chars in NAME, and filename */
26 #ifndef FLEXNAMES
27 # define LCHNM 8
28 # define LFNM 14
29 #endif
30 
31 typedef struct ty {
32 	TWORD aty;
33 	short extra;
34 	} ATYPE;
35 
36 typedef struct line {
37 	short decflag;
38 #ifndef FLEXNAMES
39 	char name[LCHNM];
40 #else
41 	char *name;
42 #endif
43 	short nargs;
44 	short fline;
45 	ATYPE type;
46 	} LINE;
47 
48 union rec {
49 	struct line l;
50 	struct {
51 		short decflag;
52 #ifndef FLEXNAMES
53 		char fn[LFNM];
54 #else
55 		char *fn;
56 #endif
57 		} f;
58 	};
59