/* * (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; };