diff --git a/mps/code/poolamc.c b/mps/code/poolamc.c index 20c5a168cdd..82e7998a2db 100644 --- a/mps/code/poolamc.c +++ b/mps/code/poolamc.c @@ -113,8 +113,8 @@ static Bool amcSegCheck(amcSeg amcseg) CHECKD(Nailboard, amcseg->board); CHECKL(SegNailed(amcSeg2Seg(amcseg)) != TraceSetEMPTY); } - CHECKL(BoolCheck(amcseg->old)); - CHECKL(BoolCheck(amcseg->deferred)); + /* CHECKL(BoolCheck(amcseg->old)); */ + /* CHECKL(BoolCheck(amcseg->deferred)); */ return TRUE; } diff --git a/mps/code/poolawl.c b/mps/code/poolawl.c index 31af1dcd160..eb2b561eb4b 100644 --- a/mps/code/poolawl.c +++ b/mps/code/poolawl.c @@ -1325,7 +1325,7 @@ static Bool AWLCheck(AWL awl) CHECKS(AWL, awl); CHECKD(Pool, &awl->poolStruct); CHECKL(awl->poolStruct.class == AWLPoolClassGet()); - CHECKL(AWLGrainsSize(awl, 1) == awl->poolStruct.alignment); + CHECKL(AWLGrainsSize(awl, (Count)1) == awl->poolStruct.alignment); /* Nothing to check about succAccesses. */ CHECKL(FUNCHECK(awl->findDependent)); /* Don't bother to check stats. */ diff --git a/mps/code/poollo.c b/mps/code/poollo.c index af93c12bd13..c9b093c960e 100644 --- a/mps/code/poollo.c +++ b/mps/code/poollo.c @@ -836,7 +836,7 @@ static Bool LOCheck(LO lo) CHECKD(Pool, &lo->poolStruct); CHECKL(lo->poolStruct.class == EnsureLOPoolClass()); CHECKL(ShiftCheck(lo->alignShift)); - CHECKL(LOGrainsSize(lo, 1) == PoolAlignment(&lo->poolStruct)); + CHECKL(LOGrainsSize(lo, (Count)1) == PoolAlignment(&lo->poolStruct)); CHECKD(PoolGen, &lo->pgen); return TRUE; } diff --git a/mps/design/type.txt b/mps/design/type.txt index 1bf254e581d..9197c4b36ac 100644 --- a/mps/design/type.txt +++ b/mps/design/type.txt @@ -162,6 +162,11 @@ _`.bool.bitfield.assign`: To avoid warnings about loss of data from GCC with the ``-Wconversion`` option, ``misc.h`` provides the ``BOOLOF`` macro for coercing a value to an unsigned single-bit field. +_`.bool.bitfield.check`: A Boolean bitfield cannot have an incorrect +value, and if you call ``BoolCheck()`` on such a bitfield then GCC 4.2 +issues the warning "comparison is always true due to limited range of +data type". When avoiding such a warning, reference this tag. + ``typedef unsigned BufferMode``