V10/cmd/hdr/types.h

Compare this file to the similar file:
Show the results in this format:

/*
 *	Sydney C Compiler.
 *
 *	Copyright 1984, Bruce Ellis.
 *
 *	Unauthorised possesion, sale or use prohibited.
 */

/*
 *	Type flags.
 */
#define	TYPE_OTHERS	(GLOBAL)
#define	TYPE_TYPES	(TYPEDEF | TYPEDEF_USE)
#define	TYPE_SCOPE	(ARGUMENT | AUTO | EXTERN | REGISTER | STATIC)
#define	TYPE_CLASS	(TYPE_OTHERS | TYPE_TYPES | TYPE_SCOPE)
#define	TYPE_BASE	(CHAR | SHORT | INT | FLOAT | VOID)
#define	TYPE_ADJECTIVE	(UNSIGNED | LONG)
#define	TYPE_COMPLEX	(ENUM | STRUCT | UNION | MOENUM)
#define	TYPE_PROPER	(TYPE_BASE | TYPE_COMPLEX)

/*
 *	If these are changed the type initialisation table in init.c
 *	must be tweeked.
 */

/*
 *	Adjectives.
 */
#define	UNSIGNED	0x000001L
#define	LONG		0x000002L
/*
 *	Base types.
 */
#define	CHAR		0x000004L
#define	SHORT		0x000008L
#define	INT		0x000010L
#define	FLOAT		0x000020L
#define	VOID		0x000040L

/*
 *	Classes and class modifiers.
 */
#define	GLOBAL		0x000100L

#define	TYPEDEF		0x000200L

#define	ARGUMENT	0x000400L
#define	AUTO		0x000800L
#define	BLOCKSTATIC	0x001000L
#define	EXTERN		0x002000L
#define	REGISTER	0x004000L
#define	STATIC		0x008000L

/*
 *	Complex types.
 */
#define	ENUM		0x010000L
#define	STRUCT		0x020000L
#define	UNION		0x040000L
#define	MOENUM		0x080000L

/*
 *	Other type flags.
 */
#define	PURE		0x100000L
#define	TYPEDEF_USE	0x200000L

#define	ID_SCOPES	(AUTO | BLOCKSTATIC | STATIC | GLOBAL | TYPEDEF)