DescriptionFix C4434 warning about 32-bit shift assigned to 64-bits
VS 2015 has a new or louder warning about 32-bit shifts that are then
assigned to a 64-bit target. This type of code triggers it:
int64_t size = 1 << shift_amount;
Because the '1' being shifted is a 32-bit int the result of the shift
will be a 32-bit result, so assigning it to a 64-bit variable is just
misleading.
In this case the code that triggers it is this:
m_IAID.resize(1 << SBSYMCODELEN);
The destination is a size_t so the warning only shows up on 64-bit
builds and doesn't indicate a real bug. But, casting the '1' constant
to size_t makes the behavior/intent more obvious and consistent and
allows enabling C4334 in Chromium.
BUG=593448
R=tsepez@chromium.org
Committed: https://pdfium.googlesource.com/pdfium/+/5a839e938bad5b766a928fb545f0b0aba39e3829
Patch Set 1 #
Messages
Total messages: 5 (2 generated)
|