change `Scheme_Symbol' declaration to avoid compiler warnings
This commit is contained in:
parent
0e4305fc45
commit
f832c961a8
|
@ -127,10 +127,14 @@ typedef long FILE;
|
|||
old way. */
|
||||
#ifdef MZ_USE_OLD_ARRAY_STYLE
|
||||
# define mzFLEX_ARRAY_DECL 1
|
||||
# define mzFLEX_ARRAY4_DECL 4
|
||||
# define mzFLEX_DELTA 1
|
||||
# define mzFLEX4_DELTA 4
|
||||
#else
|
||||
# define mzFLEX_ARRAY_DECL /* empty */
|
||||
# define mzFLEX_ARRAY4_DECL /* empty */
|
||||
# define mzFLEX_DELTA 0
|
||||
# define mzFLEX4_DELTA 0
|
||||
#endif
|
||||
|
||||
#ifdef MZ_XFORM
|
||||
|
@ -331,7 +335,7 @@ typedef struct {
|
|||
typedef struct Scheme_Symbol {
|
||||
Scheme_Inclhash_Object iso; /* 1 in low bit of keyex indicates uninterned */
|
||||
intptr_t len;
|
||||
char s[4]; /* Really, a number of chars to match `len' */
|
||||
char s[mzFLEX_ARRAY4_DECL];
|
||||
} Scheme_Symbol;
|
||||
|
||||
typedef struct Scheme_Vector {
|
||||
|
|
|
@ -1417,21 +1417,21 @@ static int symbol_obj_SIZE(void *p, struct NewGC *gc) {
|
|||
Scheme_Symbol *s = (Scheme_Symbol *)p;
|
||||
|
||||
return
|
||||
gcBYTES_TO_WORDS(sizeof(Scheme_Symbol) + s->len - 3);
|
||||
gcBYTES_TO_WORDS(sizeof(Scheme_Symbol) + s->len + 1 - mzFLEX4_DELTA);
|
||||
}
|
||||
|
||||
static int symbol_obj_MARK(void *p, struct NewGC *gc) {
|
||||
Scheme_Symbol *s = (Scheme_Symbol *)p;
|
||||
|
||||
return
|
||||
gcBYTES_TO_WORDS(sizeof(Scheme_Symbol) + s->len - 3);
|
||||
gcBYTES_TO_WORDS(sizeof(Scheme_Symbol) + s->len + 1 - mzFLEX4_DELTA);
|
||||
}
|
||||
|
||||
static int symbol_obj_FIXUP(void *p, struct NewGC *gc) {
|
||||
Scheme_Symbol *s = (Scheme_Symbol *)p;
|
||||
|
||||
return
|
||||
gcBYTES_TO_WORDS(sizeof(Scheme_Symbol) + s->len - 3);
|
||||
gcBYTES_TO_WORDS(sizeof(Scheme_Symbol) + s->len + 1 - mzFLEX4_DELTA);
|
||||
}
|
||||
|
||||
#define symbol_obj_IS_ATOMIC 1
|
||||
|
|
|
@ -551,7 +551,7 @@ symbol_obj {
|
|||
|
||||
mark:
|
||||
size:
|
||||
gcBYTES_TO_WORDS(sizeof(Scheme_Symbol) + s->len - 3);
|
||||
gcBYTES_TO_WORDS(sizeof(Scheme_Symbol) + s->len + 1 - mzFLEX4_DELTA);
|
||||
}
|
||||
|
||||
cons_cell {
|
||||
|
|
|
@ -356,7 +356,7 @@ make_a_symbol(const char *name, uintptr_t len, int kind)
|
|||
{
|
||||
Scheme_Symbol *sym;
|
||||
|
||||
sym = (Scheme_Symbol *)scheme_malloc_atomic_tagged(sizeof(Scheme_Symbol) + len - 3);
|
||||
sym = (Scheme_Symbol *)scheme_malloc_atomic_tagged(sizeof(Scheme_Symbol) + len + 1 - mzFLEX4_DELTA);
|
||||
|
||||
sym->iso.so.type = scheme_symbol_type;
|
||||
MZ_OPT_HASH_KEY(&sym->iso) = kind;
|
||||
|
|
Loading…
Reference in New Issue
Block a user