Hello, I'm compiling LLVM with MSVC at the moment, I've got the following warning: BitstreamReader.h(327) : warning C4334: '<<' : result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?) in line uint64_t Piece = Read(NumBits); if ((Piece & (1U << (NumBits-1))) == 0) Is this warning relevant? Is also Read64() instead of Read() assumed? -- Ivan Sorokin mailto:sorokin at rain.ifmo.ru -------------- next part -------------- A non-text attachment was scrubbed... Name: bitstream_reader.patch Type: application/octet-stream Size: 743 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090620/b93b2cbc/attachment.obj> -------------- next part -------------- A non-text attachment was scrubbed... Name: bitstream_reader_ull_read64.patch Type: application/octet-stream Size: 863 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090620/b93b2cbc/attachment-0001.obj>
On Jun 20, 2009, at 6:55 AM, Ivan Sorokin wrote:> Hello, > > I'm compiling LLVM with MSVC at the moment, I've got the following > warning: > > BitstreamReader.h(327) : warning C4334: '<<' : result of 32-bit > shift implicitly converted to 64 bits (was 64-bit shift intended?) > > in line > > uint64_t Piece = Read(NumBits); > if ((Piece & (1U << (NumBits-1))) == 0) > > Is this warning relevant? > > Is also Read64() instead of Read() assumed?Yes, the code was quite broken. Other people have applied some patches in the meantime, but it was still not right. Please see if this fixes the issues, thanks! http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090706/080250.html -Chris