ack/lang/cem/lint/lpass2/class.h

31 lines
833 B
C
Raw Normal View History

1988-09-02 12:00:25 +00:00
/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*/
1994-06-24 14:02:31 +00:00
/* $Id$ */
1988-09-02 12:00:25 +00:00
/* Bit patterns to allow fast answers to set questions about classes.
The classes in the inpdef are given as single letters; the array
class[] contains a bit pattern for each letter, with those bits set
that correspond to the lint class meaning of the letter.
1988-10-12 15:49:11 +00:00
This facility is used through the macro is_class(inpdef_var, CL_XXX)
1988-09-02 12:00:25 +00:00
*/
1988-08-07 22:55:20 +00:00
#define CL_DEF (1<<0)
#define CL_DECL (1<<1)
#define CL_USAGE (1<<2)
#define CL_FUNC (1<<3)
#define CL_VAR (1<<4)
#define CL_LIB (1<<5)
#define CL_EXT (1<<6)
#define CL_IMPL (1<<7)
#define CL_STAT (1<<8)
extern int class[];
1991-03-08 15:54:05 +00:00
#define is_class(id,cl) ((class[(id)->id_class-MIN_CLASS_CONST] & (cl)) == (cl))
1988-08-07 22:55:20 +00:00