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: */ /* May not need to allocate: */
sm = &quick; sm = &quick;
sm->o.iso.so.type = scheme_bignum_type; sm->o.iso.so.type = scheme_bignum_type;
SCHEME_SET_BIGPOS(sm, pos); SCHEME_INIT_BIGPOS(sm, pos);
SCHEME_BIGLEN(sm) = 1; SCHEME_BIGLEN(sm) = 1;
SCHEME_BIGDIG(sm) = sm->v; SCHEME_BIGDIG(sm) = sm->v;
sm->v[0] = d; sm->v[0] = d;

View File

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

View File

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