diff options
author | Chris Lattner <sabre@nondot.org> | 2004-06-25 20:52:10 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-06-25 20:52:10 +0000 |
commit | 4ba8a8d1ef0616c96baee1bbe43fb204187aeb3a (patch) | |
tree | 96e1ca11630c1596fa03a19c9ed9fc1c62847b86 /llvm/lib/Bytecode/Writer | |
parent | c52ea2574d3fa3083092d8f1b93f51a3ed624f6b (diff) | |
download | bcm5719-llvm-4ba8a8d1ef0616c96baee1bbe43fb204187aeb3a.tar.gz bcm5719-llvm-4ba8a8d1ef0616c96baee1bbe43fb204187aeb3a.zip |
No functionality changes here:
* Some warning fixes for MSVC
* Minor simplification to the deque scanning code
llvm-svn: 14417
Diffstat (limited to 'llvm/lib/Bytecode/Writer')
-rw-r--r-- | llvm/lib/Bytecode/Writer/Writer.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/llvm/lib/Bytecode/Writer/Writer.cpp b/llvm/lib/Bytecode/Writer/Writer.cpp index 3a17508e924..0f75c0351c9 100644 --- a/llvm/lib/Bytecode/Writer/Writer.cpp +++ b/llvm/lib/Bytecode/Writer/Writer.cpp @@ -56,7 +56,7 @@ BytecodeWriter::BytecodeWriter(std::deque<unsigned char> &o, const Module *M) // Output the version identifier... we are currently on bytecode version #2, // which corresponds to LLVM v1.3. - unsigned Version = (2 << 4) | isBigEndian | (hasLongPointers << 1) | + unsigned Version = (2 << 4) | (unsigned)isBigEndian | (hasLongPointers << 1) | (hasNoEndianness << 2) | (hasNoPointerSize << 3); output_vbr(Version, Out); align32(Out); @@ -203,7 +203,7 @@ void BytecodeWriter::outputModuleInfoBlock(const Module *M) { // Fields: bit0 = isConstant, bit1 = hasInitializer, bit2-4=Linkage, // bit5+ = Slot # for type unsigned oSlot = ((unsigned)Slot << 5) | (getEncodedLinkage(I) << 2) | - (I->hasInitializer() << 1) | I->isConstant(); + (I->hasInitializer() << 1) | (unsigned)I->isConstant(); output_vbr(oSlot, Out); // If we have an initializer, output it now. @@ -363,6 +363,7 @@ void llvm::WriteBytecodeToFile(const Module *C, std::ostream &Out) { // sequential in memory, however, so write out as much as possible in big // chunks, until we're done. // + std::deque<unsigned char>::const_iterator I = Buffer.begin(),E = Buffer.end(); while (I != E) { // Loop until it's all written // Scan to see how big this chunk is... @@ -370,16 +371,12 @@ void llvm::WriteBytecodeToFile(const Module *C, std::ostream &Out) { const unsigned char *LastPtr = ChunkPtr; while (I != E) { const unsigned char *ThisPtr = &*++I; - if (LastPtr+1 != ThisPtr) { // Advanced by more than a byte of memory? - ++LastPtr; + if (++LastPtr != ThisPtr) // Advanced by more than a byte of memory? break; - } - LastPtr = ThisPtr; } // Write out the chunk... Out.write((char*)ChunkPtr, unsigned(LastPtr-ChunkPtr)); } - Out.flush(); } |