diff --git a/lib/Bytecode/Writer/WriterPrimitives.h b/lib/Bytecode/Writer/WriterPrimitives.h index 5bb01665185..b76cc55e163 100644 --- a/lib/Bytecode/Writer/WriterPrimitives.h +++ b/lib/Bytecode/Writer/WriterPrimitives.h @@ -62,7 +62,7 @@ static inline void output_vbr(uint64_t i, std::deque &out) { // Nope, we are bigger than a character, output the next 7 bits and set the // high bit to say that there is more coming... - out.push_back(0x80 | (i & 0x7F)); + out.push_back(0x80 | ((unsigned char)i & 0x7F)); i >>= 7; // Shift out 7 bits now... } } @@ -76,7 +76,7 @@ static inline void output_vbr(unsigned i, std::deque &out) { // Nope, we are bigger than a character, output the next 7 bits and set the // high bit to say that there is more coming... - out.push_back(0x80 | (i & 0x7F)); + out.push_back(0x80 | ((unsigned char)i & 0x7F)); i >>= 7; // Shift out 7 bits now... } }