1.1 --- a/templates/types.h Sat Nov 06 01:05:42 2021 +0100
1.2 +++ b/templates/types.h Sat Nov 06 17:06:01 2021 +0100
1.3 @@ -130,15 +130,12 @@
1.4
1.5 /* Attribute interpretation. */
1.6
1.7 -#define __NUM_TAG_BITS 2
1.8 -#define __TAG_INT 0b01
1.9 -#define __TAG_FLOAT 0b10
1.10 -#define __TAG_MASK 0b11
1.11 +#define __NUM_TAG_BITS 1
1.12 +#define __TAG_MUTABLE 0b1
1.13 +#define __TAG_MASK 0b1
1.14
1.15 -#if 0
1.16 -#define __INTEGER(ATTR) (((ATTR).rawvalue & __TAG_MASK) == __TAG_INT)
1.17 -#define __FLOAT(ATTR) (((ATTR).rawvalue & __TAG_MASK) == __TAG_FLOAT)
1.18 -#endif
1.19 +#define __MUTABLE(ATTR) (((ATTR).rawvalue & __TAG_MASK) == __TAG_MUTABLE)
1.20 +#define __TO_MUTABLE(ATTR) ((__attr) (((ATTR).rawvalue & (~__TAG_MASK)) | __TAG_MUTABLE))
1.21
1.22 /* Attribute value setting. */
1.23