diff --git a/include/llvm/Bitcode/Deserialize.h b/include/llvm/Bitcode/Deserialize.h index 46b111f8929..ef25da71409 100644 --- a/include/llvm/Bitcode/Deserialize.h +++ b/include/llvm/Bitcode/Deserialize.h @@ -141,8 +141,8 @@ public: SerializedPtrID ReadPtrID() { return (SerializedPtrID) ReadInt(); } SerializedPtrID ReadDiffPtrID(SerializedPtrID& PrevID) { - unsigned x = ReadInt(); - return (SerializedPtrID) (x ? (PrevID+x) : 0); + bool x = ReadBool(); + return (SerializedPtrID) (x ? (PrevID+1) : 0); } diff --git a/include/llvm/Bitcode/Serialize.h b/include/llvm/Bitcode/Serialize.h index 8db377946c4..9430bb10a42 100644 --- a/include/llvm/Bitcode/Serialize.h +++ b/include/llvm/Bitcode/Serialize.h @@ -57,10 +57,11 @@ public: SerializedPtrID ptr_id = getPtrId(ptr); if (ptr_id == 0) - EmitInt(0); + EmitBool(false); else { assert (ptr_id > PrevID); - EmitInt(ptr_id-PrevID); + assert (PrevID == 0 || ptr_id - PrevID == 1); + EmitBool(true); } return ptr_id;