[libc] fix shifting exact multiples of 64 in uint
The internal uint class had a bug introduced recently when optimizing the shift routines. When calculating the value of a block, it would shift an adjacent block by 64 - the shift amount. If the shift amount was 0, this would be a shift of 64, which is undefined for a 64 bit integer. This patch fixes this by adding a conditional to catch this case. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D140070
Loading
Please sign in to comment