1<<31 upsets ubsan

This commit is contained in:
Michael Davidsaver
2023-02-26 11:52:50 -08:00
parent f99a1cb0f3
commit d3f93746a8
4 changed files with 6 additions and 6 deletions
@@ -271,7 +271,7 @@ static long special(DBADDR *paddr, int after)
} else if(after==1 && fieldIndex >= mbboDirectRecordB0 && fieldIndex <= mbboDirectRecordB1F) {
/* Adjust VAL corresponding to the bit changed */
epicsUInt8 *pBn = (epicsUInt8 *) paddr->pfield;
epicsUInt32 bit = 1 << (pBn - &prec->b0);
epicsUInt32 bit = 1u << (pBn - &prec->b0);
/* Because this is !(VAL and PP), dbPut() will always post a monitor on this B* field
* after we return. We must keep track of this change separately from MLST to handle
@@ -123,7 +123,7 @@ MAIN(mbbioDirectTest)
testDiag("##### clear bit 31 (0x1f) #####");
putN("do%u.B1F", N, 0);
value &= ~(1<<31);
value &= ~(1u<<31u);
testN("val%d", N, value);
testmbbioRecords(N, value);