Mercurial > emacs
changeset 10321:c91b1f4295a1
(enum Lisp_Type): Don't use trailing comma.
(VALBITS, GCTYPEBITS): Define these regardless of NO_UNION_TYPE.
[!NO_UNION_TYPE] (union Lisp_Object): Use symbolic constants.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 03 Jan 1995 01:35:49 +0000 |
parents | a6e67b5ee8b0 |
children | c1c2ec3aeefa |
files | src/lisp.h |
diffstat | 1 files changed, 22 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lisp.h Tue Jan 03 01:20:47 1995 +0000 +++ b/src/lisp.h Tue Jan 03 01:35:49 1995 +0000 @@ -60,7 +60,7 @@ #endif /* LISP_FLOAT_TYPE */ /* This is not a type code. It is for range checking. */ - Lisp_Type_Limit, + Lisp_Type_Limit }; /* This is the set of datatypes that share a common structure. @@ -83,6 +83,15 @@ Lisp_Misc_Limit }; +/* These values are overridden by the m- file on some machines. */ +#ifndef VALBITS +#define VALBITS 28 +#endif + +#ifndef GCTYPEBITS +#define GCTYPEBITS 3 +#endif + #ifndef NO_UNION_TYPE #ifndef WORDS_BIG_ENDIAN @@ -98,18 +107,18 @@ struct { - int val: 24; - char type; + int val: VALBITS; + int type: GCTYPEBITS+1; } s; struct { - unsigned int val: 24; - char type; + unsigned int val: VALBITS; + int type: GCTYPEBITS+1; } u; struct { - unsigned int val: 24; - enum Lisp_Type type: 7; + unsigned int val: VALBITS; + enum Lisp_Type type: GCTYPEBITS; /* The markbit is not really part of the value of a Lisp_Object, and is always zero except during garbage collection. */ unsigned int markbit: 1; @@ -128,21 +137,21 @@ struct { - char type; - int val: 24; + int type: GCTYPEBITS+1; + int val: VALBITS; } s; struct { - char type; - unsigned int val: 24; + int type: GCTYPEBITS+1; + unsigned int val: VALBITS; } u; struct { /* The markbit is not really part of the value of a Lisp_Object, and is always zero except during garbage collection. */ unsigned int markbit: 1; - enum Lisp_Type type: 7; - unsigned int val: 24; + enum Lisp_Type type: GCTYPEBITS; + unsigned int val: VALBITS; } gu; } Lisp_Object; @@ -159,15 +168,6 @@ #define Lisp_Object EMACS_INT -/* These values are overridden by the m- file on some machines. */ -#ifndef VALBITS -#define VALBITS 28 -#endif - -#ifndef GCTYPEBITS -#define GCTYPEBITS 3 -#endif - #ifndef VALMASK #define VALMASK ((((EMACS_INT) 1)<<VALBITS) - 1) #endif