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