49 lines
1.1 KiB
Plaintext
49 lines
1.1 KiB
Plaintext
/*
|
|
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
|
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
|
*/
|
|
/* $Id$ */
|
|
/* Lint output definition */
|
|
|
|
/* Values for ar_class */
|
|
#define ArgFormal 0
|
|
#define ArgExpr 1 /* actual */
|
|
#define ArgConst 2 /* integer constant */
|
|
#define ArgString 3 /* string */
|
|
#define ArgEllipsis 4 /* ellipsis */
|
|
|
|
struct argument {
|
|
struct argument *next;
|
|
struct type *ar_type;
|
|
int ar_class; /* for constant parameters */
|
|
union const_arg {
|
|
arith ca_value;
|
|
struct {
|
|
char *cas_value;
|
|
int cas_len;
|
|
} ca_string;
|
|
} ar_object;
|
|
};
|
|
|
|
#define CAA_VALUE ar_object.ca_value
|
|
#define CAS_VALUE ar_object.ca_string.cas_value
|
|
#define CAS_LEN ar_object.ca_string.cas_len
|
|
|
|
/* ALLOCDEF "argument" 10 */
|
|
|
|
struct outdef {
|
|
char od_class;
|
|
int od_statnr;
|
|
char *od_name;
|
|
char *od_file;
|
|
unsigned int od_line;
|
|
int od_nrargs;
|
|
struct argument *od_arg; /* a list of the types of the
|
|
* formal parameters */
|
|
int od_valreturned;
|
|
/* NOVALRETURNED, VALRETURNED, NORETURN; see l_lint.h */
|
|
int od_valused;
|
|
/* USED, IGNORED, SET, VOIDED; see l_lint.h */
|
|
struct type *od_type;
|
|
};
|