C does not allow for shifting into the sign bit of a signed
integer, and the two instances here become signed ints via
promotion. Explcitly cast them to unsigned MEM_VALUE_T to
avoid the problem.
BUG=https://bugs.chromium.org/p/chromium/issues/detail?id=614648
Change-Id: I51165361a8c6cbb5c378cf7e4e0f4b80b3ad9a6e
unsigned MEM_VALUE_T val;
const MAU_T *mem = (const MAU_T *)vmem;
- val = ((unsigned int)mem[0]) << 24;
+ val = ((unsigned MEM_VALUE_T)mem[0]) << 24;
val |= mem[1] << 16;
val |= mem[2] << 8;
val |= mem[3];
unsigned MEM_VALUE_T val;
const MAU_T *mem = (const MAU_T *)vmem;
- val = mem[3] << 24;
+ val = ((unsigned MEM_VALUE_T)mem[3]) << 24;
val |= mem[2] << 16;
val |= mem[1] << 8;
val |= mem[0];