ack/lang/cem/cemcom.ansi/l_outdef.str
2006-02-04 00:57:05 +00:00

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;
};