avoid some compiler warnings

This commit is contained in:
Matthew Flatt 2019-06-23 06:46:28 -06:00
parent 2a530b4c88
commit 1192225c97
3 changed files with 6 additions and 1 deletions

View File

@ -459,7 +459,7 @@ static Scheme_Object *make_single_bigdig_result(int pos, bigdig d)
/* May not need to allocate: */
sm = &quick;
sm->o.iso.so.type = scheme_bignum_type;
SCHEME_SET_BIGPOS(sm, pos);
SCHEME_INIT_BIGPOS(sm, pos);
SCHEME_BIGLEN(sm) = 1;
SCHEME_BIGDIG(sm) = sm->v;
sm->v[0] = d;

View File

@ -31,6 +31,9 @@
#ifdef __GNUC__
#pragma GCC diagnostic ignored "-Waddress"
#if __GNUC__ >= 6
# pragma GCC diagnostic ignored "-Wtautological-compare"
#endif
#ifdef __clang__
# ifdef MZ_PRECISE_GC
# pragma clang diagnostic ignored "-Wtautological-compare"

View File

@ -2170,11 +2170,13 @@ typedef struct {
#ifdef MZ_PRECISE_GC
# define SCHEME_BIGPOS(b) (MZ_OPT_HASH_KEY(&((Scheme_Bignum *)b)->iso) & 0x1)
# define SCHEME_SET_BIGPOS(b, v) MZ_OPT_HASH_KEY(&((Scheme_Bignum *)b)->iso) = ((v) | SCHEME_BIGINLINE(b))
# define SCHEME_INIT_BIGPOS(b, v) MZ_OPT_HASH_KEY(&((Scheme_Bignum *)b)->iso) = (v)
# define SCHEME_BIGINLINE(b) (MZ_OPT_HASH_KEY(&((Scheme_Bignum *)b)->iso) & 0x2)
# define SCHEME_SET_BIGINLINE(b) MZ_OPT_HASH_KEY(&((Scheme_Bignum *)b)->iso) |= (0x2 | SCHEME_BIGPOS(b))
#else
# define SCHEME_BIGPOS(b) MZ_OPT_HASH_KEY(&((Scheme_Bignum *)b)->iso)
# define SCHEME_SET_BIGPOS(b, v) SCHEME_BIGPOS(b) = v
# define SCHEME_INIT_BIGPOS(b, v) SCHEME_SET_BIGPOS(b, v)
#endif
#define SCHEME_BIGLEN(b) (((Scheme_Bignum *)b)->len)