[llvm] r277213 - [msf] Resubmit "Rename Msf -> MSF".

Hubert Tong via llvm-commits llvm-commits at lists.llvm.org
Sat Jul 30 21:05:15 PDT 2016


The affected bots are still red. I had issues with svn update around 15
hours ago (on Linux) related to "Msf".
Not sure how the bots manage their tree though.

-- HT

On Sat, Jul 30, 2016 at 11:47 PM, Zachary Turner via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

> Is it still broken? There was a problem with svn containing Msf and MSF on
> the remote, confusing Windows bots, but we got the second copy deleted from
> the remote so it should be ok now
>
> On Sat, Jul 30, 2016 at 3:08 PM Mike Aizatsky <aizatsky at google.com> wrote:
>
>> Zachary,
>>
>> Looks like this change is broken on windows bot:
>>
>>
>> http://lab.llvm.org:8011/builders/sanitizer-windows/builds/26549/steps/cmake/logs/stdio
>>
>> CMake Error at CMakeLists.txt:563 (message):
>>   Unexpected failure executing llvm-build: llvm-build: fatal error: missing
>>   LLVMBuild.txt file at:
>>   'C:\\b\\slave\\sanitizer-windows\\llvm/lib\\DebugInfo\\MSF\\LLVMBuild.txt'
>>
>>
>>
>>
>>
>> On Fri, Jul 29, 2016 at 2:04 PM Zachary Turner via llvm-commits <
>> llvm-commits at lists.llvm.org> wrote:
>>
>>> Author: zturner
>>> Date: Fri Jul 29 15:56:36 2016
>>> New Revision: 277213
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=277213&view=rev
>>> Log:
>>> [msf] Resubmit "Rename Msf -> MSF".
>>>
>>> Previously this change was submitted from a Windows machine, so
>>> changes made to the case of filenames and directory names did
>>> not survive the commit, and as a result the CMake source file
>>> names and the on-disk file names did not match on case-sensitive
>>> file systems.
>>>
>>> I'm resubmitting this patch from a Linux system, which hopefully
>>> allows the case changes to make it through unfettered.
>>>
>>> Added:
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/ByteStream.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/ByteStream.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/IMSFFile.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/IMsfFile.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/MSFBuilder.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/MsfBuilder.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/MSFCommon.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/MsfCommon.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/MSFError.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/MsfError.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/MSFStreamLayout.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/MsfStreamLayout.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/MappedBlockStream.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/MappedBlockStream.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/StreamArray.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/StreamArray.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/StreamInterface.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/StreamInterface.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/StreamReader.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/StreamReader.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/StreamRef.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/StreamRef.h
>>>     llvm/trunk/include/llvm/DebugInfo/MSF/StreamWriter.h
>>>       - copied, changed from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/StreamWriter.h
>>>     llvm/trunk/lib/DebugInfo/MSF/CMakeLists.txt
>>>       - copied, changed from r277209,
>>> llvm/trunk/lib/DebugInfo/Msf/CMakeLists.txt
>>>     llvm/trunk/lib/DebugInfo/MSF/LLVMBuild.txt
>>>       - copied, changed from r277209,
>>> llvm/trunk/lib/DebugInfo/Msf/LLVMBuild.txt
>>>     llvm/trunk/lib/DebugInfo/MSF/MSFBuilder.cpp
>>>       - copied, changed from r277209,
>>> llvm/trunk/lib/DebugInfo/Msf/MsfBuilder.cpp
>>>     llvm/trunk/lib/DebugInfo/MSF/MSFCommon.cpp
>>>       - copied, changed from r277209,
>>> llvm/trunk/lib/DebugInfo/Msf/MsfCommon.cpp
>>>     llvm/trunk/lib/DebugInfo/MSF/MSFError.cpp
>>>       - copied, changed from r277209,
>>> llvm/trunk/lib/DebugInfo/Msf/MsfError.cpp
>>>     llvm/trunk/lib/DebugInfo/MSF/MappedBlockStream.cpp
>>>       - copied, changed from r277209,
>>> llvm/trunk/lib/DebugInfo/Msf/MappedBlockStream.cpp
>>>     llvm/trunk/lib/DebugInfo/MSF/StreamReader.cpp
>>>       - copied, changed from r277209,
>>> llvm/trunk/lib/DebugInfo/Msf/StreamReader.cpp
>>>     llvm/trunk/lib/DebugInfo/MSF/StreamWriter.cpp
>>>       - copied, changed from r277209,
>>> llvm/trunk/lib/DebugInfo/Msf/StreamWriter.cpp
>>>     llvm/trunk/unittests/DebugInfo/PDB/MSFBuilderTest.cpp
>>>       - copied, changed from r277209,
>>> llvm/trunk/unittests/DebugInfo/PDB/MsfBuilderTest.cpp
>>> Removed:
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/ByteStream.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/IMsfFile.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/MappedBlockStream.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/MsfBuilder.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/MsfCommon.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/MsfError.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/MsfStreamLayout.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/StreamArray.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/StreamInterface.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/StreamReader.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/StreamRef.h
>>>     llvm/trunk/include/llvm/DebugInfo/Msf/StreamWriter.h
>>>     llvm/trunk/lib/DebugInfo/Msf/CMakeLists.txt
>>>     llvm/trunk/lib/DebugInfo/Msf/LLVMBuild.txt
>>>     llvm/trunk/lib/DebugInfo/Msf/MappedBlockStream.cpp
>>>     llvm/trunk/lib/DebugInfo/Msf/MsfBuilder.cpp
>>>     llvm/trunk/lib/DebugInfo/Msf/MsfCommon.cpp
>>>     llvm/trunk/lib/DebugInfo/Msf/MsfError.cpp
>>>     llvm/trunk/lib/DebugInfo/Msf/StreamReader.cpp
>>>     llvm/trunk/lib/DebugInfo/Msf/StreamWriter.cpp
>>>     llvm/trunk/unittests/DebugInfo/PDB/MsfBuilderTest.cpp
>>> Modified:
>>>     llvm/trunk/include/llvm/DebugInfo/CodeView/CVRecord.h
>>>     llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstream.h
>>>     llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h
>>>     llvm/trunk/include/llvm/DebugInfo/CodeView/SymbolRecord.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/DbiStream.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/DbiStreamBuilder.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/InfoStream.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/InfoStreamBuilder.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/ModInfo.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/ModStream.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/NameHashTable.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/PDBFile.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/PDBFileBuilder.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/PublicsStream.h
>>>     llvm/trunk/include/llvm/DebugInfo/PDB/Raw/TpiStream.h
>>>     llvm/trunk/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
>>>     llvm/trunk/lib/CodeGen/AsmPrinter/LLVMBuild.txt
>>>     llvm/trunk/lib/DebugInfo/CMakeLists.txt
>>>     llvm/trunk/lib/DebugInfo/CodeView/LLVMBuild.txt
>>>     llvm/trunk/lib/DebugInfo/CodeView/ModuleSubstream.cpp
>>>     llvm/trunk/lib/DebugInfo/CodeView/ModuleSubstreamVisitor.cpp
>>>     llvm/trunk/lib/DebugInfo/CodeView/TypeDumper.cpp
>>>     llvm/trunk/lib/DebugInfo/LLVMBuild.txt
>>>     llvm/trunk/lib/DebugInfo/PDB/LLVMBuild.txt
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStream.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/InfoStream.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/InfoStreamBuilder.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/ModInfo.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/ModStream.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/NameHashTable.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/NameMap.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/NameMapBuilder.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/PDBFile.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/PDBFileBuilder.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/PublicsStream.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/RawSession.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/SymbolStream.cpp
>>>     llvm/trunk/lib/DebugInfo/PDB/Raw/TpiStream.cpp
>>>     llvm/trunk/tools/llvm-pdbdump/CMakeLists.txt
>>>     llvm/trunk/tools/llvm-pdbdump/LLVMBuild.txt
>>>     llvm/trunk/tools/llvm-pdbdump/LLVMOutputStyle.cpp
>>>     llvm/trunk/tools/llvm-pdbdump/PdbYaml.cpp
>>>     llvm/trunk/tools/llvm-pdbdump/PdbYaml.h
>>>     llvm/trunk/tools/llvm-pdbdump/YAMLOutputStyle.cpp
>>>     llvm/trunk/tools/llvm-pdbdump/llvm-pdbdump.cpp
>>>     llvm/trunk/tools/llvm-readobj/CMakeLists.txt
>>>     llvm/trunk/tools/llvm-readobj/COFFDumper.cpp
>>>     llvm/trunk/tools/llvm-readobj/LLVMBuild.txt
>>>     llvm/trunk/unittests/DebugInfo/PDB/CMakeLists.txt
>>>     llvm/trunk/unittests/DebugInfo/PDB/MappedBlockStreamTest.cpp
>>>
>>> Modified: llvm/trunk/include/llvm/DebugInfo/CodeView/CVRecord.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/CVRecord.h?rev=277213&r1=277212&r2=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/CodeView/CVRecord.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/CodeView/CVRecord.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -14,8 +14,8 @@
>>>  #include "llvm/ADT/iterator_range.h"
>>>  #include "llvm/DebugInfo/CodeView/CodeViewError.h"
>>>  #include "llvm/DebugInfo/CodeView/RecordSerialization.h"
>>> -#include "llvm/DebugInfo/Msf/StreamReader.h"
>>> -#include "llvm/DebugInfo/Msf/StreamRef.h"
>>> +#include "llvm/DebugInfo/MSF/StreamReader.h"
>>> +#include "llvm/DebugInfo/MSF/StreamRef.h"
>>>  #include "llvm/Support/Endian.h"
>>>
>>>  namespace llvm {
>>>
>>> Modified: llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstream.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstream.h?rev=277213&r1=277212&r2=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstream.h
>>> (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstream.h Fri Jul
>>> 29 15:56:36 2016
>>> @@ -11,8 +11,8 @@
>>>  #define LLVM_DEBUGINFO_CODEVIEW_MODULESUBSTREAM_H
>>>
>>>  #include "llvm/DebugInfo/CodeView/CodeView.h"
>>> -#include "llvm/DebugInfo/Msf/StreamArray.h"
>>> -#include "llvm/DebugInfo/Msf/StreamRef.h"
>>> +#include "llvm/DebugInfo/MSF/StreamArray.h"
>>> +#include "llvm/DebugInfo/MSF/StreamRef.h"
>>>  #include "llvm/Support/Endian.h"
>>>  #include "llvm/Support/Error.h"
>>>
>>>
>>> Modified:
>>> llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h?rev=277213&r1=277212&r2=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h
>>> (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h
>>> Fri Jul 29 15:56:36 2016
>>> @@ -14,8 +14,8 @@
>>>  #include "llvm/DebugInfo/CodeView/CodeViewError.h"
>>>  #include "llvm/DebugInfo/CodeView/Line.h"
>>>  #include "llvm/DebugInfo/CodeView/ModuleSubstream.h"
>>> -#include "llvm/DebugInfo/Msf/StreamReader.h"
>>> -#include "llvm/DebugInfo/Msf/StreamRef.h"
>>> +#include "llvm/DebugInfo/MSF/StreamReader.h"
>>> +#include "llvm/DebugInfo/MSF/StreamRef.h"
>>>
>>>  namespace llvm {
>>>  namespace codeview {
>>>
>>> Modified: llvm/trunk/include/llvm/DebugInfo/CodeView/SymbolRecord.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/CodeView/SymbolRecord.h?rev=277213&r1=277212&r2=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/CodeView/SymbolRecord.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/CodeView/SymbolRecord.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -16,7 +16,7 @@
>>>  #include "llvm/DebugInfo/CodeView/CodeView.h"
>>>  #include "llvm/DebugInfo/CodeView/RecordSerialization.h"
>>>  #include "llvm/DebugInfo/CodeView/TypeIndex.h"
>>> -#include "llvm/DebugInfo/Msf/StreamArray.h"
>>> +#include "llvm/DebugInfo/MSF/StreamArray.h"
>>>  #include "llvm/Support/Endian.h"
>>>  #include "llvm/Support/Error.h"
>>>
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/ByteStream.h (from
>>> r277209, llvm/trunk/include/llvm/DebugInfo/Msf/ByteStream.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/ByteStream.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/ByteStream.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/ByteStream.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/ByteStream.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/ByteStream.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -12,8 +12,8 @@
>>>
>>>  #include "llvm/ADT/ArrayRef.h"
>>>  #include "llvm/ADT/StringRef.h"
>>> -#include "llvm/DebugInfo/Msf/MsfError.h"
>>> -#include "llvm/DebugInfo/Msf/StreamInterface.h"
>>> +#include "llvm/DebugInfo/MSF/MSFError.h"
>>> +#include "llvm/DebugInfo/MSF/StreamInterface.h"
>>>  #include "llvm/Support/Error.h"
>>>  #include "llvm/Support/FileOutputBuffer.h"
>>>  #include "llvm/Support/MemoryBuffer.h"
>>> @@ -32,16 +32,16 @@ public:
>>>    Error readBytes(uint32_t Offset, uint32_t Size,
>>>                    ArrayRef<uint8_t> &Buffer) const override {
>>>      if (Offset > Data.size())
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>      if (Data.size() < Size + Offset)
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>      Buffer = Data.slice(Offset, Size);
>>>      return Error::success();
>>>    }
>>>    Error readLongestContiguousChunk(uint32_t Offset,
>>>                                     ArrayRef<uint8_t> &Buffer) const
>>> override {
>>>      if (Offset >= Data.size())
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>      Buffer = Data.slice(Offset);
>>>      return Error::success();
>>>    }
>>> @@ -90,9 +90,9 @@ public:
>>>
>>>    Error writeBytes(uint32_t Offset, ArrayRef<uint8_t> Buffer) const
>>> override {
>>>      if (Data.size() < Buffer.size())
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>      if (Offset > Buffer.size() - Data.size())
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>
>>>      uint8_t *DataPtr = const_cast<uint8_t *>(Data.data());
>>>      ::memcpy(DataPtr + Offset, Buffer.data(), Buffer.size());
>>> @@ -121,7 +121,7 @@ private:
>>>
>>>      Error commit() const override {
>>>        if (FileBuffer->commit())
>>> -        return llvm::make_error<MsfError>(msf_error_code::not_writable);
>>> +        return llvm::make_error<MSFError>(msf_error_code::not_writable);
>>>        return Error::success();
>>>      }
>>>
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/IMSFFile.h (from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/IMsfFile.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/IMSFFile.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/IMSFFile.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/IMsfFile.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/IMsfFile.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/IMSFFile.h Fri Jul 29 15:56:36
>>> 2016
>>> @@ -1,4 +1,4 @@
>>> -//===- IMsfFile.h - Abstract base class for an MSF file ---------*- C++
>>> -*-===//
>>> +//===- IMSFFile.h - Abstract base class for an MSF file ---------*- C++
>>> -*-===//
>>>  //
>>>  //                     The LLVM Compiler Infrastructure
>>>  //
>>> @@ -12,7 +12,7 @@
>>>
>>>  #include "llvm/ADT/ArrayRef.h"
>>>  #include "llvm/ADT/StringRef.h"
>>> -#include "llvm/DebugInfo/Msf/StreamArray.h"
>>> +#include "llvm/DebugInfo/MSF/StreamArray.h"
>>>  #include "llvm/Support/Endian.h"
>>>  #include "llvm/Support/Error.h"
>>>
>>> @@ -21,9 +21,9 @@
>>>  namespace llvm {
>>>  namespace msf {
>>>
>>> -class IMsfFile {
>>> +class IMSFFile {
>>>  public:
>>> -  virtual ~IMsfFile() {}
>>> +  virtual ~IMSFFile() {}
>>>
>>>    virtual uint32_t getBlockSize() const = 0;
>>>    virtual uint32_t getBlockCount() const = 0;
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/MSFBuilder.h (from
>>> r277209, llvm/trunk/include/llvm/DebugInfo/Msf/MsfBuilder.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/MSFBuilder.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/MSFBuilder.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/MsfBuilder.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MsfBuilder.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/MSFBuilder.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -13,7 +13,7 @@
>>>  #include "llvm/ADT/ArrayRef.h"
>>>  #include "llvm/ADT/BitVector.h"
>>>
>>> -#include "llvm/DebugInfo/Msf/MsfCommon.h"
>>> +#include "llvm/DebugInfo/MSF/MSFCommon.h"
>>>
>>>  #include "llvm/Support/Allocator.h"
>>>  #include "llvm/Support/Endian.h"
>>> @@ -24,15 +24,15 @@
>>>
>>>  namespace llvm {
>>>  namespace msf {
>>> -class MsfBuilder {
>>> +class MSFBuilder {
>>>  public:
>>> -  /// \brief Create a new `MsfBuilder`.
>>> +  /// \brief Create a new `MSFBuilder`.
>>>    ///
>>>    /// \param BlockSize The internal block size used by the PDB file.
>>> See
>>>    /// isValidBlockSize() for a list of valid block sizes.
>>>    ///
>>>    /// \param MinBlockCount Causes the builder to reserve up front space
>>> for
>>> -  /// at least `MinBlockCount` blocks.  This is useful when using
>>> `MsfBuilder`
>>> +  /// at least `MinBlockCount` blocks.  This is useful when using
>>> `MSFBuilder`
>>>    /// to read an existing MSF that you want to write back out later.
>>> The
>>>    /// original MSF file's SuperBlock contains the exact number of
>>> blocks used
>>>    /// by the file, so is a good hint as to how many blocks the new MSF
>>> file
>>> @@ -54,7 +54,7 @@ public:
>>>    /// failed.  Currently the only way this can fail is if an invalid
>>> block size
>>>    /// is specified, or `MinBlockCount` does not leave enough room for
>>> the
>>>    /// mandatory reserved blocks required by an MSF file.
>>> -  static Expected<MsfBuilder> create(BumpPtrAllocator &Allocator,
>>> +  static Expected<MSFBuilder> create(BumpPtrAllocator &Allocator,
>>>                                       uint32_t BlockSize,
>>>                                       uint32_t MinBlockCount = 0,
>>>                                       bool CanGrow = true);
>>> @@ -81,7 +81,7 @@ public:
>>>
>>>    /// Update the size of an existing stream.  This will allocate or
>>> deallocate
>>>    /// blocks as needed to match the requested size.  This can fail if
>>> `CanGrow`
>>> -  /// was set to false when initializing the `MsfBuilder`.
>>> +  /// was set to false when initializing the `MSFBuilder`.
>>>    Error setStreamSize(uint32_t Idx, uint32_t Size);
>>>
>>>    /// Get the total number of streams in the MSF layout.  This should
>>> return 1
>>> @@ -111,10 +111,10 @@ public:
>>>
>>>    /// Finalize the layout and build the headers and structures that
>>> describe the
>>>    /// MSF layout and can be written directly to the MSF file.
>>> -  Expected<MsfLayout> build();
>>> +  Expected<MSFLayout> build();
>>>
>>>  private:
>>> -  MsfBuilder(uint32_t BlockSize, uint32_t MinBlockCount, bool CanGrow,
>>> +  MSFBuilder(uint32_t BlockSize, uint32_t MinBlockCount, bool CanGrow,
>>>               BumpPtrAllocator &Allocator);
>>>
>>>    Error allocateBlocks(uint32_t NumBlocks, MutableArrayRef<uint32_t>
>>> Blocks);
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/MSFCommon.h (from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/MsfCommon.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/MSFCommon.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/MSFCommon.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/MsfCommon.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MsfCommon.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/MSFCommon.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -1,4 +1,4 @@
>>> -//===- MsfCommon.h - Common types and functions for MSF files ---*- C++
>>> -*-===//
>>> +//===- MSFCommon.h - Common types and functions for MSF files ---*- C++
>>> -*-===//
>>>  //
>>>  //                     The LLVM Compiler Infrastructure
>>>  //
>>> @@ -48,8 +48,8 @@ struct SuperBlock {
>>>    support::ulittle32_t BlockMapAddr;
>>>  };
>>>
>>> -struct MsfLayout {
>>> -  MsfLayout() : SB(nullptr) {}
>>> +struct MSFLayout {
>>> +  MSFLayout() : SB(nullptr) {}
>>>    const SuperBlock *SB;
>>>    ArrayRef<support::ulittle32_t> DirectoryBlocks;
>>>    ArrayRef<support::ulittle32_t> StreamSizes;
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/MSFError.h (from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/MsfError.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/MSFError.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/MSFError.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/MsfError.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MsfError.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/MSFError.h Fri Jul 29 15:56:36
>>> 2016
>>> @@ -1,4 +1,4 @@
>>> -//===- MsfError.h - Error extensions for Msf Files --------------*- C++
>>> -*-===//
>>> +//===- MSFError.h - Error extensions for MSF Files --------------*- C++
>>> -*-===//
>>>  //
>>>  //                     The LLVM Compiler Infrastructure
>>>  //
>>> @@ -26,12 +26,12 @@ enum class msf_error_code {
>>>  };
>>>
>>>  /// Base class for errors originating when parsing raw PDB files
>>> -class MsfError : public ErrorInfo<MsfError> {
>>> +class MSFError : public ErrorInfo<MSFError> {
>>>  public:
>>>    static char ID;
>>> -  MsfError(msf_error_code C);
>>> -  MsfError(const std::string &Context);
>>> -  MsfError(msf_error_code C, const std::string &Context);
>>> +  MSFError(msf_error_code C);
>>> +  MSFError(const std::string &Context);
>>> +  MSFError(msf_error_code C, const std::string &Context);
>>>
>>>    void log(raw_ostream &OS) const override;
>>>    const std::string &getErrorMessage() const;
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/MSFStreamLayout.h (from
>>> r277209, llvm/trunk/include/llvm/DebugInfo/Msf/MsfStreamLayout.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/MSFStreamLayout.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/MSFStreamLayout.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/MsfStreamLayout.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MsfStreamLayout.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/MSFStreamLayout.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -1,4 +1,4 @@
>>> -//===- MsfStreamLayout.h - Describes the layout of a stream -----*- C++
>>> -*-===//
>>> +//===- MSFStreamLayout.h - Describes the layout of a stream -----*- C++
>>> -*-===//
>>>  //
>>>  //                     The LLVM Compiler Infrastructure
>>>  //
>>> @@ -18,13 +18,13 @@
>>>  namespace llvm {
>>>  namespace msf {
>>>
>>> -/// \brief Describes the layout of a stream in an Msf layout.  A
>>> "stream" here
>>> -/// is defined as any logical unit of data which may be arranged inside
>>> the Msf
>>> +/// \brief Describes the layout of a stream in an MSF layout.  A
>>> "stream" here
>>> +/// is defined as any logical unit of data which may be arranged inside
>>> the MSF
>>>  /// file as a sequence of (possibly discontiguous) blocks.  When we
>>> want to read
>>> -/// from a particular Msf Stream, we fill out a stream layout structure
>>> and the
>>> -/// reader uses it to determine which blocks in the underlying Msf file
>>> contain
>>> +/// from a particular MSF Stream, we fill out a stream layout structure
>>> and the
>>> +/// reader uses it to determine which blocks in the underlying MSF file
>>> contain
>>>  /// the data, so that it can be pieced together in the right order.
>>> -class MsfStreamLayout {
>>> +class MSFStreamLayout {
>>>  public:
>>>    uint32_t Length;
>>>    ArrayRef<support::ulittle32_t> Blocks;
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/MappedBlockStream.h (from
>>> r277209, llvm/trunk/include/llvm/DebugInfo/Msf/MappedBlockStream.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/MappedBlockStream.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/MappedBlockStream.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/MappedBlockStream.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MappedBlockStream.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/MappedBlockStream.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -1,4 +1,4 @@
>>> -//===- MappedBlockStream.h - Discontiguous stream data in an Msf -*- C++
>>> +//===- MappedBlockStream.h - Discontiguous stream data in an MSF -*- C++
>>>  //-*-===//
>>>  //
>>>  //                     The LLVM Compiler Infrastructure
>>> @@ -14,8 +14,8 @@
>>>  #include "llvm/ADT/ArrayRef.h"
>>>  #include "llvm/ADT/DenseMap.h"
>>>  #include "llvm/ADT/STLExtras.h"
>>> -#include "llvm/DebugInfo/Msf/MsfStreamLayout.h"
>>> -#include "llvm/DebugInfo/Msf/StreamInterface.h"
>>> +#include "llvm/DebugInfo/MSF/MSFStreamLayout.h"
>>> +#include "llvm/DebugInfo/MSF/StreamInterface.h"
>>>  #include "llvm/Support/Allocator.h"
>>>  #include "llvm/Support/Endian.h"
>>>  #include "llvm/Support/Error.h"
>>> @@ -25,16 +25,16 @@
>>>  namespace llvm {
>>>  namespace msf {
>>>
>>> -struct MsfLayout;
>>> +struct MSFLayout;
>>>
>>> -/// MappedBlockStream represents data stored in an Msf file into chunks
>>> of a
>>> +/// MappedBlockStream represents data stored in an MSF file into chunks
>>> of a
>>>  /// particular size (called the Block Size), and whose chunks may not be
>>> -/// necessarily contiguous.  The arrangement of these chunks within the
>>> file
>>> -/// is described by some other metadata contained within the Msf file.
>>> In
>>> -/// the case of a standard Msf Stream, the layout of the stream's blocks
>>> -/// is described by the Msf "directory", but in the case of the
>>> directory
>>> +/// necessarily contiguous.  The arrangement of these chunks MSF the
>>> file
>>> +/// is described by some other metadata contained within the MSF file.
>>> In
>>> +/// the case of a standard MSF Stream, the layout of the stream's blocks
>>> +/// is described by the MSF "directory", but in the case of the
>>> directory
>>>  /// itself, the layout is described by an array at a fixed location
>>> within
>>> -/// the Msf.  MappedBlockStream provides methods for reading from and
>>> writing
>>> +/// the MSF.  MappedBlockStream provides methods for reading from and
>>> writing
>>>  /// to one of these streams transparently, as if it were a contiguous
>>> sequence
>>>  /// of bytes.
>>>  class MappedBlockStream : public ReadableStream {
>>> @@ -43,14 +43,14 @@ class MappedBlockStream : public Readabl
>>>  public:
>>>    static std::unique_ptr<MappedBlockStream>
>>>    createStream(uint32_t BlockSize, uint32_t NumBlocks,
>>> -               const MsfStreamLayout &Layout, const ReadableStream
>>> &MsfData);
>>> +               const MSFStreamLayout &Layout, const ReadableStream
>>> &MsfData);
>>>
>>>    static std::unique_ptr<MappedBlockStream>
>>> -  createIndexedStream(const MsfLayout &Layout, const ReadableStream
>>> &MsfData,
>>> +  createIndexedStream(const MSFLayout &Layout, const ReadableStream
>>> &MsfData,
>>>                        uint32_t StreamIndex);
>>>
>>>    static std::unique_ptr<MappedBlockStream>
>>> -  createDirectoryStream(const MsfLayout &Layout, const ReadableStream
>>> &MsfData);
>>> +  createDirectoryStream(const MSFLayout &Layout, const ReadableStream
>>> &MsfData);
>>>
>>>    Error readBytes(uint32_t Offset, uint32_t Size,
>>>                    ArrayRef<uint8_t> &Buffer) const override;
>>> @@ -71,11 +71,11 @@ public:
>>>
>>>  protected:
>>>    MappedBlockStream(uint32_t BlockSize, uint32_t NumBlocks,
>>> -                    const MsfStreamLayout &StreamLayout,
>>> +                    const MSFStreamLayout &StreamLayout,
>>>                      const ReadableStream &MsfData);
>>>
>>>  private:
>>> -  const MsfStreamLayout &getStreamLayout() const { return StreamLayout;
>>> }
>>> +  const MSFStreamLayout &getStreamLayout() const { return StreamLayout;
>>> }
>>>    void fixCacheAfterWrite(uint32_t Offset, ArrayRef<uint8_t> Data)
>>> const;
>>>
>>>    Error readBytes(uint32_t Offset, MutableArrayRef<uint8_t> Buffer)
>>> const;
>>> @@ -84,7 +84,7 @@ private:
>>>
>>>    const uint32_t BlockSize;
>>>    const uint32_t NumBlocks;
>>> -  const MsfStreamLayout StreamLayout;
>>> +  const MSFStreamLayout StreamLayout;
>>>    const ReadableStream &MsfData;
>>>
>>>    typedef MutableArrayRef<uint8_t> CacheEntry;
>>> @@ -96,14 +96,14 @@ class WritableMappedBlockStream : public
>>>  public:
>>>    static std::unique_ptr<WritableMappedBlockStream>
>>>    createStream(uint32_t BlockSize, uint32_t NumBlocks,
>>> -               const MsfStreamLayout &Layout, const WritableStream
>>> &MsfData);
>>> +               const MSFStreamLayout &Layout, const WritableStream
>>> &MsfData);
>>>
>>>    static std::unique_ptr<WritableMappedBlockStream>
>>> -  createIndexedStream(const MsfLayout &Layout, const WritableStream
>>> &MsfData,
>>> +  createIndexedStream(const MSFLayout &Layout, const WritableStream
>>> &MsfData,
>>>                        uint32_t StreamIndex);
>>>
>>>    static std::unique_ptr<WritableMappedBlockStream>
>>> -  createDirectoryStream(const MsfLayout &Layout, const WritableStream
>>> &MsfData);
>>> +  createDirectoryStream(const MSFLayout &Layout, const WritableStream
>>> &MsfData);
>>>
>>>    Error readBytes(uint32_t Offset, uint32_t Size,
>>>                    ArrayRef<uint8_t> &Buffer) const override;
>>> @@ -115,7 +115,7 @@ public:
>>>
>>>    Error commit() const override;
>>>
>>> -  const MsfStreamLayout &getStreamLayout() const {
>>> +  const MSFStreamLayout &getStreamLayout() const {
>>>      return ReadInterface.getStreamLayout();
>>>    }
>>>    uint32_t getBlockSize() const { return ReadInterface.getBlockSize(); }
>>> @@ -124,7 +124,7 @@ public:
>>>
>>>  protected:
>>>    WritableMappedBlockStream(uint32_t BlockSize, uint32_t NumBlocks,
>>> -                            const MsfStreamLayout &StreamLayout,
>>> +                            const MSFStreamLayout &StreamLayout,
>>>                              const WritableStream &MsfData);
>>>
>>>  private:
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/StreamArray.h (from
>>> r277209, llvm/trunk/include/llvm/DebugInfo/Msf/StreamArray.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/StreamArray.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/StreamArray.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/StreamArray.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/StreamArray.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/StreamArray.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -10,7 +10,7 @@
>>>  #ifndef LLVM_DEBUGINFO_MSF_STREAMARRAY_H
>>>  #define LLVM_DEBUGINFO_MSF_STREAMARRAY_H
>>>
>>> -#include "llvm/DebugInfo/Msf/StreamRef.h"
>>> +#include "llvm/DebugInfo/MSF/StreamRef.h"
>>>  #include "llvm/Support/Error.h"
>>>
>>>  #include <functional>
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/StreamInterface.h (from
>>> r277209, llvm/trunk/include/llvm/DebugInfo/Msf/StreamInterface.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/StreamInterface.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/StreamInterface.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/StreamInterface.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>>     (empty)
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/StreamReader.h (from
>>> r277209, llvm/trunk/include/llvm/DebugInfo/Msf/StreamReader.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/StreamReader.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/StreamReader.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/StreamReader.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/StreamReader.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/StreamReader.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -11,10 +11,10 @@
>>>  #define LLVM_DEBUGINFO_MSF_STREAMREADER_H
>>>
>>>  #include "llvm/ADT/ArrayRef.h"
>>> -#include "llvm/DebugInfo/Msf/MsfError.h"
>>> -#include "llvm/DebugInfo/Msf/StreamArray.h"
>>> -#include "llvm/DebugInfo/Msf/StreamInterface.h"
>>> -#include "llvm/DebugInfo/Msf/StreamRef.h"
>>> +#include "llvm/DebugInfo/MSF/MSFError.h"
>>> +#include "llvm/DebugInfo/MSF/StreamArray.h"
>>> +#include "llvm/DebugInfo/MSF/StreamInterface.h"
>>> +#include "llvm/DebugInfo/MSF/StreamRef.h"
>>>  #include "llvm/Support/Endian.h"
>>>  #include "llvm/Support/Error.h"
>>>
>>> @@ -61,7 +61,7 @@ public:
>>>      }
>>>
>>>      if (NumElements > UINT32_MAX / sizeof(T))
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>
>>>      if (auto EC = readBytes(Bytes, NumElements * sizeof(T)))
>>>        return EC;
>>> @@ -86,9 +86,9 @@ public:
>>>      }
>>>      uint32_t Length = NumItems * sizeof(T);
>>>      if (Length / sizeof(T) != NumItems)
>>> -      return make_error<MsfError>(msf_error_code::invalid_format);
>>> +      return make_error<MSFError>(msf_error_code::invalid_format);
>>>      if (Offset + Length > Stream.getLength())
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>      ReadableStreamRef View = Stream.slice(Offset, Length);
>>>      Array = FixedStreamArray<T>(View);
>>>      Offset += Length;
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/StreamRef.h (from r277209,
>>> llvm/trunk/include/llvm/DebugInfo/Msf/StreamRef.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/StreamRef.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/StreamRef.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/StreamRef.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/StreamRef.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/StreamRef.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -10,8 +10,8 @@
>>>  #ifndef LLVM_DEBUGINFO_MSF_STREAMREF_H
>>>  #define LLVM_DEBUGINFO_MSF_STREAMREF_H
>>>
>>> -#include "llvm/DebugInfo/Msf/MsfError.h"
>>> -#include "llvm/DebugInfo/Msf/StreamInterface.h"
>>> +#include "llvm/DebugInfo/MSF/MSFError.h"
>>> +#include "llvm/DebugInfo/MSF/StreamInterface.h"
>>>
>>>  namespace llvm {
>>>  namespace msf {
>>> @@ -76,9 +76,9 @@ public:
>>>    Error readBytes(uint32_t Offset, uint32_t Size,
>>>                    ArrayRef<uint8_t> &Buffer) const {
>>>      if (ViewOffset + Offset < Offset)
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>      if (Size + Offset > Length)
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>      return Stream->readBytes(ViewOffset + Offset, Size, Buffer);
>>>    }
>>>
>>> @@ -87,7 +87,7 @@ public:
>>>    Error readLongestContiguousChunk(uint32_t Offset,
>>>                                     ArrayRef<uint8_t> &Buffer) const {
>>>      if (Offset >= Length)
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>
>>>      if (auto EC = Stream->readLongestContiguousChunk(Offset, Buffer))
>>>        return EC;
>>> @@ -117,7 +117,7 @@ public:
>>>
>>>    Error writeBytes(uint32_t Offset, ArrayRef<uint8_t> Data) const {
>>>      if (Data.size() + Offset > Length)
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>      return Stream->writeBytes(ViewOffset + Offset, Data);
>>>    }
>>>
>>>
>>> Copied: llvm/trunk/include/llvm/DebugInfo/MSF/StreamWriter.h (from
>>> r277209, llvm/trunk/include/llvm/DebugInfo/Msf/StreamWriter.h)
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/MSF/StreamWriter.h?p2=llvm/trunk/include/llvm/DebugInfo/MSF/StreamWriter.h&p1=llvm/trunk/include/llvm/DebugInfo/Msf/StreamWriter.h&r1=277209&r2=277213&rev=277213&view=diff
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/StreamWriter.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/MSF/StreamWriter.h Fri Jul 29
>>> 15:56:36 2016
>>> @@ -11,10 +11,10 @@
>>>  #define LLVM_DEBUGINFO_MSF_STREAMWRITER_H
>>>
>>>  #include "llvm/ADT/ArrayRef.h"
>>> -#include "llvm/DebugInfo/Msf/MsfError.h"
>>> -#include "llvm/DebugInfo/Msf/StreamArray.h"
>>> -#include "llvm/DebugInfo/Msf/StreamInterface.h"
>>> -#include "llvm/DebugInfo/Msf/StreamRef.h"
>>> +#include "llvm/DebugInfo/MSF/MSFError.h"
>>> +#include "llvm/DebugInfo/MSF/StreamArray.h"
>>> +#include "llvm/DebugInfo/MSF/StreamInterface.h"
>>> +#include "llvm/DebugInfo/MSF/StreamRef.h"
>>>  #include "llvm/Support/Endian.h"
>>>  #include "llvm/Support/Error.h"
>>>
>>> @@ -54,7 +54,7 @@ public:
>>>        return Error::success();
>>>
>>>      if (Array.size() > UINT32_MAX / sizeof(T))
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> +      return make_error<MSFError>(msf_error_code::insufficient_buffer);
>>>
>>>      return writeBytes(
>>>          ArrayRef<uint8_t>(reinterpret_cast<const uint8_t
>>> *>(Array.data()),
>>>
>>> Removed: llvm/trunk/include/llvm/DebugInfo/Msf/ByteStream.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/Msf/ByteStream.h?rev=277212&view=auto
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/ByteStream.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/Msf/ByteStream.h (removed)
>>> @@ -1,160 +0,0 @@
>>> -//===- ByteStream.h - Reads stream data from a byte sequence ----*- C++
>>> -*-===//
>>> -//
>>> -//                     The LLVM Compiler Infrastructure
>>> -//
>>> -// This file is distributed under the University of Illinois Open Source
>>> -// License. See LICENSE.TXT for details.
>>> -//
>>>
>>> -//===----------------------------------------------------------------------===//
>>> -
>>> -#ifndef LLVM_DEBUGINFO_MSF_BYTESTREAM_H
>>> -#define LLVM_DEBUGINFO_MSF_BYTESTREAM_H
>>> -
>>> -#include "llvm/ADT/ArrayRef.h"
>>> -#include "llvm/ADT/StringRef.h"
>>> -#include "llvm/DebugInfo/Msf/MsfError.h"
>>> -#include "llvm/DebugInfo/Msf/StreamInterface.h"
>>> -#include "llvm/Support/Error.h"
>>> -#include "llvm/Support/FileOutputBuffer.h"
>>> -#include "llvm/Support/MemoryBuffer.h"
>>> -#include <cstdint>
>>> -#include <memory>
>>> -#include <type_traits>
>>> -
>>> -namespace llvm {
>>> -namespace msf {
>>> -
>>> -class ByteStream : public ReadableStream {
>>> -public:
>>> -  ByteStream() {}
>>> -  explicit ByteStream(ArrayRef<uint8_t> Data) : Data(Data) {}
>>> -
>>> -  Error readBytes(uint32_t Offset, uint32_t Size,
>>> -                  ArrayRef<uint8_t> &Buffer) const override {
>>> -    if (Offset > Data.size())
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> -    if (Data.size() < Size + Offset)
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> -    Buffer = Data.slice(Offset, Size);
>>> -    return Error::success();
>>> -  }
>>> -  Error readLongestContiguousChunk(uint32_t Offset,
>>> -                                   ArrayRef<uint8_t> &Buffer) const
>>> override {
>>> -    if (Offset >= Data.size())
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> -    Buffer = Data.slice(Offset);
>>> -    return Error::success();
>>> -  }
>>> -
>>> -  uint32_t getLength() const override { return Data.size(); }
>>> -
>>> -  ArrayRef<uint8_t> data() const { return Data; }
>>> -
>>> -  StringRef str() const {
>>> -    const char *CharData = reinterpret_cast<const char *>(Data.data());
>>> -    return StringRef(CharData, Data.size());
>>> -  }
>>> -
>>> -protected:
>>> -  ArrayRef<uint8_t> Data;
>>> -};
>>> -
>>> -// MemoryBufferByteStream behaves like a read-only ByteStream, but has
>>> its data
>>> -// backed by an llvm::MemoryBuffer.  It also owns the underlying
>>> MemoryBuffer.
>>> -class MemoryBufferByteStream : public ByteStream {
>>> -public:
>>> -  explicit MemoryBufferByteStream(std::unique_ptr<MemoryBuffer> Buffer)
>>> -      : ByteStream(ArrayRef<uint8_t>(Buffer->getBuffer().bytes_begin(),
>>> -                                     Buffer->getBuffer().bytes_end())),
>>> -        MemBuffer(std::move(Buffer)) {}
>>> -
>>> -  std::unique_ptr<MemoryBuffer> MemBuffer;
>>> -};
>>> -
>>> -class MutableByteStream : public WritableStream {
>>> -public:
>>> -  MutableByteStream() {}
>>> -  explicit MutableByteStream(MutableArrayRef<uint8_t> Data)
>>> -      : Data(Data), ImmutableStream(Data) {}
>>> -
>>> -  Error readBytes(uint32_t Offset, uint32_t Size,
>>> -                  ArrayRef<uint8_t> &Buffer) const override {
>>> -    return ImmutableStream.readBytes(Offset, Size, Buffer);
>>> -  }
>>> -  Error readLongestContiguousChunk(uint32_t Offset,
>>> -                                   ArrayRef<uint8_t> &Buffer) const
>>> override {
>>> -    return ImmutableStream.readLongestContiguousChunk(Offset, Buffer);
>>> -  }
>>> -
>>> -  uint32_t getLength() const override { return
>>> ImmutableStream.getLength(); }
>>> -
>>> -  Error writeBytes(uint32_t Offset, ArrayRef<uint8_t> Buffer) const
>>> override {
>>> -    if (Data.size() < Buffer.size())
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> -    if (Offset > Buffer.size() - Data.size())
>>> -      return make_error<MsfError>(msf_error_code::insufficient_buffer);
>>> -
>>> -    uint8_t *DataPtr = const_cast<uint8_t *>(Data.data());
>>> -    ::memcpy(DataPtr + Offset, Buffer.data(), Buffer.size());
>>> -    return Error::success();
>>> -  }
>>> -
>>> -  Error commit() const override { return Error::success(); }
>>> -
>>> -  MutableArrayRef<uint8_t> data() const { return Data; }
>>> -
>>> -private:
>>> -  MutableArrayRef<uint8_t> Data;
>>> -  ByteStream ImmutableStream;
>>> -};
>>> -
>>> -// A simple adapter that acts like a ByteStream but holds ownership over
>>> -// and underlying FileOutputBuffer.
>>> -class FileBufferByteStream : public WritableStream {
>>> -private:
>>> -  class StreamImpl : public MutableByteStream {
>>> -  public:
>>> -    StreamImpl(std::unique_ptr<FileOutputBuffer> Buffer)
>>> -        :
>>> MutableByteStream(MutableArrayRef<uint8_t>(Buffer->getBufferStart(),
>>> -
>>>  Buffer->getBufferEnd())),
>>> -          FileBuffer(std::move(Buffer)) {}
>>> -
>>> -    Error commit() const override {
>>> -      if (FileBuffer->commit())
>>> -        return llvm::make_error<MsfError>(msf_error_code::not_writable);
>>> -      return Error::success();
>>> -    }
>>> -
>>> -  private:
>>> -    std::unique_ptr<FileOutputBuffer> FileBuffer;
>>> -  };
>>> -
>>> -public:
>>> -  explicit FileBufferByteStream(std::unique_ptr<FileOutputBuffer>
>>> Buffer)
>>> -      : Impl(std::move(Buffer)) {}
>>> -
>>> -  Error readBytes(uint32_t Offset, uint32_t Size,
>>> -                  ArrayRef<uint8_t> &Buffer) const override {
>>> -    return Impl.readBytes(Offset, Size, Buffer);
>>> -  }
>>> -  Error readLongestContiguousChunk(uint32_t Offset,
>>> -                                   ArrayRef<uint8_t> &Buffer) const
>>> override {
>>> -    return Impl.readLongestContiguousChunk(Offset, Buffer);
>>> -  }
>>> -
>>> -  uint32_t getLength() const override { return Impl.getLength(); }
>>> -
>>> -  Error writeBytes(uint32_t Offset, ArrayRef<uint8_t> Data) const
>>> override {
>>> -    return Impl.writeBytes(Offset, Data);
>>> -  }
>>> -  Error commit() const override { return Impl.commit(); }
>>> -
>>> -private:
>>> -  StreamImpl Impl;
>>> -};
>>> -
>>> -
>>> -} // end namespace msf
>>> -} // end namespace llvm
>>> -
>>> -#endif // LLVM_DEBUGINFO_MSF_BYTESTREAM_H
>>>
>>> Removed: llvm/trunk/include/llvm/DebugInfo/Msf/IMsfFile.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/Msf/IMsfFile.h?rev=277212&view=auto
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/IMsfFile.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/Msf/IMsfFile.h (removed)
>>> @@ -1,44 +0,0 @@
>>> -//===- IMsfFile.h - Abstract base class for an MSF file ---------*- C++
>>> -*-===//
>>> -//
>>> -//                     The LLVM Compiler Infrastructure
>>> -//
>>> -// This file is distributed under the University of Illinois Open Source
>>> -// License. See LICENSE.TXT for details.
>>> -//
>>>
>>> -//===----------------------------------------------------------------------===//
>>> -
>>> -#ifndef LLVM_DEBUGINFO_MSF_IMSFFILE_H
>>> -#define LLVM_DEBUGINFO_MSF_IMSFFILE_H
>>> -
>>> -#include "llvm/ADT/ArrayRef.h"
>>> -#include "llvm/ADT/StringRef.h"
>>> -#include "llvm/DebugInfo/Msf/StreamArray.h"
>>> -#include "llvm/Support/Endian.h"
>>> -#include "llvm/Support/Error.h"
>>> -
>>> -#include <stdint.h>
>>> -
>>> -namespace llvm {
>>> -namespace msf {
>>> -
>>> -class IMsfFile {
>>> -public:
>>> -  virtual ~IMsfFile() {}
>>> -
>>> -  virtual uint32_t getBlockSize() const = 0;
>>> -  virtual uint32_t getBlockCount() const = 0;
>>> -
>>> -  virtual uint32_t getNumStreams() const = 0;
>>> -  virtual uint32_t getStreamByteSize(uint32_t StreamIndex) const = 0;
>>> -  virtual ArrayRef<support::ulittle32_t>
>>> -  getStreamBlockList(uint32_t StreamIndex) const = 0;
>>> -
>>> -  virtual Expected<ArrayRef<uint8_t>> getBlockData(uint32_t BlockIndex,
>>> -                                                   uint32_t NumBytes)
>>> const = 0;
>>> -  virtual Error setBlockData(uint32_t BlockIndex, uint32_t Offset,
>>> -                             ArrayRef<uint8_t> Data) const = 0;
>>> -};
>>> -}
>>> -}
>>> -
>>> -#endif // LLVM_DEBUGINFO_MSF_IMSFFILE_H
>>>
>>> Removed: llvm/trunk/include/llvm/DebugInfo/Msf/MappedBlockStream.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/Msf/MappedBlockStream.h?rev=277212&view=auto
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MappedBlockStream.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/Msf/MappedBlockStream.h (removed)
>>> @@ -1,139 +0,0 @@
>>> -//===- MappedBlockStream.h - Discontiguous stream data in an Msf -*- C++
>>> -//-*-===//
>>> -//
>>> -//                     The LLVM Compiler Infrastructure
>>> -//
>>> -// This file is distributed under the University of Illinois Open Source
>>> -// License. See LICENSE.TXT for details.
>>> -//
>>>
>>> -//===----------------------------------------------------------------------===//
>>> -
>>> -#ifndef LLVM_DEBUGINFO_MSF_MAPPEDBLOCKSTREAM_H
>>> -#define LLVM_DEBUGINFO_MSF_MAPPEDBLOCKSTREAM_H
>>> -
>>> -#include "llvm/ADT/ArrayRef.h"
>>> -#include "llvm/ADT/DenseMap.h"
>>> -#include "llvm/ADT/STLExtras.h"
>>> -#include "llvm/DebugInfo/Msf/MsfStreamLayout.h"
>>> -#include "llvm/DebugInfo/Msf/StreamInterface.h"
>>> -#include "llvm/Support/Allocator.h"
>>> -#include "llvm/Support/Endian.h"
>>> -#include "llvm/Support/Error.h"
>>> -#include <cstdint>
>>> -#include <vector>
>>> -
>>> -namespace llvm {
>>> -namespace msf {
>>> -
>>> -struct MsfLayout;
>>> -
>>> -/// MappedBlockStream represents data stored in an Msf file into chunks
>>> of a
>>> -/// particular size (called the Block Size), and whose chunks may not be
>>> -/// necessarily contiguous.  The arrangement of these chunks within the
>>> file
>>> -/// is described by some other metadata contained within the Msf file.
>>> In
>>> -/// the case of a standard Msf Stream, the layout of the stream's blocks
>>> -/// is described by the Msf "directory", but in the case of the
>>> directory
>>> -/// itself, the layout is described by an array at a fixed location
>>> within
>>> -/// the Msf.  MappedBlockStream provides methods for reading from and
>>> writing
>>> -/// to one of these streams transparently, as if it were a contiguous
>>> sequence
>>> -/// of bytes.
>>> -class MappedBlockStream : public ReadableStream {
>>> -  friend class WritableMappedBlockStream;
>>> -
>>> -public:
>>> -  static std::unique_ptr<MappedBlockStream>
>>> -  createStream(uint32_t BlockSize, uint32_t NumBlocks,
>>> -               const MsfStreamLayout &Layout, const ReadableStream
>>> &MsfData);
>>> -
>>> -  static std::unique_ptr<MappedBlockStream>
>>> -  createIndexedStream(const MsfLayout &Layout, const ReadableStream
>>> &MsfData,
>>> -                      uint32_t StreamIndex);
>>> -
>>> -  static std::unique_ptr<MappedBlockStream>
>>> -  createDirectoryStream(const MsfLayout &Layout, const ReadableStream
>>> &MsfData);
>>> -
>>> -  Error readBytes(uint32_t Offset, uint32_t Size,
>>> -                  ArrayRef<uint8_t> &Buffer) const override;
>>> -  Error readLongestContiguousChunk(uint32_t Offset,
>>> -                                   ArrayRef<uint8_t> &Buffer) const
>>> override;
>>> -
>>> -  uint32_t getLength() const override;
>>> -
>>> -  uint32_t getNumBytesCopied() const;
>>> -
>>> -  llvm::BumpPtrAllocator &getAllocator() { return Pool; }
>>> -
>>> -  void invalidateCache();
>>> -
>>> -  uint32_t getBlockSize() const { return BlockSize; }
>>> -  uint32_t getNumBlocks() const { return NumBlocks; }
>>> -  uint32_t getStreamLength() const { return StreamLayout.Length; }
>>> -
>>> -protected:
>>> -  MappedBlockStream(uint32_t BlockSize, uint32_t NumBlocks,
>>> -                    const MsfStreamLayout &StreamLayout,
>>> -                    const ReadableStream &MsfData);
>>> -
>>> -private:
>>> -  const MsfStreamLayout &getStreamLayout() const { return StreamLayout;
>>> }
>>> -  void fixCacheAfterWrite(uint32_t Offset, ArrayRef<uint8_t> Data)
>>> const;
>>> -
>>> -  Error readBytes(uint32_t Offset, MutableArrayRef<uint8_t> Buffer)
>>> const;
>>> -  bool tryReadContiguously(uint32_t Offset, uint32_t Size,
>>> -                           ArrayRef<uint8_t> &Buffer) const;
>>> -
>>> -  const uint32_t BlockSize;
>>> -  const uint32_t NumBlocks;
>>> -  const MsfStreamLayout StreamLayout;
>>> -  const ReadableStream &MsfData;
>>> -
>>> -  typedef MutableArrayRef<uint8_t> CacheEntry;
>>> -  mutable llvm::BumpPtrAllocator Pool;
>>> -  mutable DenseMap<uint32_t, std::vector<CacheEntry>> CacheMap;
>>> -};
>>> -
>>> -class WritableMappedBlockStream : public WritableStream {
>>> -public:
>>> -  static std::unique_ptr<WritableMappedBlockStream>
>>> -  createStream(uint32_t BlockSize, uint32_t NumBlocks,
>>> -               const MsfStreamLayout &Layout, const WritableStream
>>> &MsfData);
>>> -
>>> -  static std::unique_ptr<WritableMappedBlockStream>
>>> -  createIndexedStream(const MsfLayout &Layout, const WritableStream
>>> &MsfData,
>>> -                      uint32_t StreamIndex);
>>> -
>>> -  static std::unique_ptr<WritableMappedBlockStream>
>>> -  createDirectoryStream(const MsfLayout &Layout, const WritableStream
>>> &MsfData);
>>> -
>>> -  Error readBytes(uint32_t Offset, uint32_t Size,
>>> -                  ArrayRef<uint8_t> &Buffer) const override;
>>> -  Error readLongestContiguousChunk(uint32_t Offset,
>>> -                                   ArrayRef<uint8_t> &Buffer) const
>>> override;
>>> -  uint32_t getLength() const override;
>>> -
>>> -  Error writeBytes(uint32_t Offset, ArrayRef<uint8_t> Buffer) const
>>> override;
>>> -
>>> -  Error commit() const override;
>>> -
>>> -  const MsfStreamLayout &getStreamLayout() const {
>>> -    return ReadInterface.getStreamLayout();
>>> -  }
>>> -  uint32_t getBlockSize() const { return ReadInterface.getBlockSize(); }
>>> -  uint32_t getNumBlocks() const { return ReadInterface.getNumBlocks(); }
>>> -  uint32_t getStreamLength() const { return
>>> ReadInterface.getStreamLength(); }
>>> -
>>> -protected:
>>> -  WritableMappedBlockStream(uint32_t BlockSize, uint32_t NumBlocks,
>>> -                            const MsfStreamLayout &StreamLayout,
>>> -                            const WritableStream &MsfData);
>>> -
>>> -private:
>>> -  MappedBlockStream ReadInterface;
>>> -
>>> -  const WritableStream &WriteInterface;
>>> -};
>>> -
>>> -} // end namespace pdb
>>> -} // end namespace llvm
>>> -
>>> -#endif // LLVM_DEBUGINFO_MSF_MAPPEDBLOCKSTREAM_H
>>>
>>> Removed: llvm/trunk/include/llvm/DebugInfo/Msf/MsfBuilder.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/Msf/MsfBuilder.h?rev=277212&view=auto
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MsfBuilder.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/Msf/MsfBuilder.h (removed)
>>> @@ -1,140 +0,0 @@
>>> -//===- MSFBuilder.h - MSF Directory & Metadata Builder ----------*- C++
>>> -*-===//
>>> -//
>>> -//                     The LLVM Compiler Infrastructure
>>> -//
>>> -// This file is distributed under the University of Illinois Open Source
>>> -// License. See LICENSE.TXT for details.
>>> -//
>>>
>>> -//===----------------------------------------------------------------------===//
>>> -
>>> -#ifndef LLVM_DEBUGINFO_MSF_MSFBUILDER_H
>>> -#define LLVM_DEBUGINFO_MSF_MSFBUILDER_H
>>> -
>>> -#include "llvm/ADT/ArrayRef.h"
>>> -#include "llvm/ADT/BitVector.h"
>>> -
>>> -#include "llvm/DebugInfo/Msf/MsfCommon.h"
>>> -
>>> -#include "llvm/Support/Allocator.h"
>>> -#include "llvm/Support/Endian.h"
>>> -#include "llvm/Support/Error.h"
>>> -
>>> -#include <utility>
>>> -#include <vector>
>>> -
>>> -namespace llvm {
>>> -namespace msf {
>>> -class MsfBuilder {
>>> -public:
>>> -  /// \brief Create a new `MsfBuilder`.
>>> -  ///
>>> -  /// \param BlockSize The internal block size used by the PDB file.
>>> See
>>> -  /// isValidBlockSize() for a list of valid block sizes.
>>> -  ///
>>> -  /// \param MinBlockCount Causes the builder to reserve up front space
>>> for
>>> -  /// at least `MinBlockCount` blocks.  This is useful when using
>>> `MsfBuilder`
>>> -  /// to read an existing MSF that you want to write back out later.
>>> The
>>> -  /// original MSF file's SuperBlock contains the exact number of
>>> blocks used
>>> -  /// by the file, so is a good hint as to how many blocks the new MSF
>>> file
>>> -  /// will contain.  Furthermore, it is actually necessary in this
>>> case.  To
>>> -  /// preserve stability of the file's layout, it is helpful to try to
>>> keep
>>> -  /// all streams mapped to their original block numbers.  To ensure
>>> that this
>>> -  /// is possible, space for all blocks must be allocated beforehand so
>>> that
>>> -  /// streams can be assigned to them.
>>> -  ///
>>> -  /// \param CanGrow If true, any operation which results in an attempt
>>> to
>>> -  /// locate a free block when all available blocks have been exhausted
>>> will
>>> -  /// allocate a new block, thereby growing the size of the final MSF
>>> file.
>>> -  /// When false, any such attempt will result in an error.  This is
>>> especially
>>> -  /// useful in testing scenarios when you know your test isn't going
>>> to do
>>> -  /// anything to increase the size of the file, so having an Error
>>> returned if
>>> -  /// it were to happen would catch a programming error
>>> -  ///
>>> -  /// \returns an llvm::Error representing whether the operation
>>> succeeded or
>>> -  /// failed.  Currently the only way this can fail is if an invalid
>>> block size
>>> -  /// is specified, or `MinBlockCount` does not leave enough room for
>>> the
>>> -  /// mandatory reserved blocks required by an MSF file.
>>> -  static Expected<MsfBuilder> create(BumpPtrAllocator &Allocator,
>>> -                                     uint32_t BlockSize,
>>> -                                     uint32_t MinBlockCount = 0,
>>> -                                     bool CanGrow = true);
>>> -
>>> -  /// Request the block map to be at a specific block address.  This is
>>> useful
>>> -  /// when editing a MSF and you want the layout to be as stable as
>>> possible.
>>> -  Error setBlockMapAddr(uint32_t Addr);
>>> -  Error setDirectoryBlocksHint(ArrayRef<uint32_t> DirBlocks);
>>> -  void setFreePageMap(uint32_t Fpm);
>>> -  void setUnknown1(uint32_t Unk1);
>>> -
>>> -  /// Add a stream to the MSF file with the given size, occupying the
>>> given
>>> -  /// list of blocks.  This is useful when reading a MSF file and you
>>> want a
>>> -  /// particular stream to occupy the original set of blocks.  If the
>>> given
>>> -  /// blocks are already allocated, or if the number of blocks
>>> specified is
>>> -  /// incorrect for the given stream size, this function will return an
>>> Error.
>>> -  Error addStream(uint32_t Size, ArrayRef<uint32_t> Blocks);
>>> -
>>> -  /// Add a stream to the MSF file with the given size, occupying any
>>> available
>>> -  /// blocks that the builder decides to use.  This is useful when
>>> building a
>>> -  /// new PDB file from scratch and you don't care what blocks a stream
>>> occupies
>>> -  /// but you just want it to work.
>>> -  Error addStream(uint32_t Size);
>>> -
>>> -  /// Update the size of an existing stream.  This will allocate or
>>> deallocate
>>> -  /// blocks as needed to match the requested size.  This can fail if
>>> `CanGrow`
>>> -  /// was set to false when initializing the `MsfBuilder`.
>>> -  Error setStreamSize(uint32_t Idx, uint32_t Size);
>>> -
>>> -  /// Get the total number of streams in the MSF layout.  This should
>>> return 1
>>> -  /// for every call to `addStream`.
>>> -  uint32_t getNumStreams() const;
>>> -
>>> -  /// Get the size of a stream by index.
>>> -  uint32_t getStreamSize(uint32_t StreamIdx) const;
>>> -
>>> -  /// Get the list of blocks allocated to a particular stream.
>>> -  ArrayRef<uint32_t> getStreamBlocks(uint32_t StreamIdx) const;
>>> -
>>> -  /// Get the total number of blocks that will be allocated to actual
>>> data in
>>> -  /// this MSF file.
>>> -  uint32_t getNumUsedBlocks() const;
>>> -
>>> -  /// Get the total number of blocks that exist in the MSF file but are
>>> not
>>> -  /// allocated to any valid data.
>>> -  uint32_t getNumFreeBlocks() const;
>>> -
>>> -  /// Get the total number of blocks in the MSF file.  In practice this
>>> is equal
>>> -  /// to `getNumUsedBlocks() + getNumFreeBlocks()`.
>>> -  uint32_t getTotalBlockCount() const;
>>> -
>>> -  /// Check whether a particular block is allocated or free.
>>> -  bool isBlockFree(uint32_t Idx) const;
>>> -
>>> -  /// Finalize the layout and build the headers and structures that
>>> describe the
>>> -  /// MSF layout and can be written directly to the MSF file.
>>> -  Expected<MsfLayout> build();
>>> -
>>> -private:
>>> -  MsfBuilder(uint32_t BlockSize, uint32_t MinBlockCount, bool CanGrow,
>>> -             BumpPtrAllocator &Allocator);
>>> -
>>> -  Error allocateBlocks(uint32_t NumBlocks, MutableArrayRef<uint32_t>
>>> Blocks);
>>> -  uint32_t computeDirectoryByteSize() const;
>>> -
>>> -  typedef std::vector<uint32_t> BlockList;
>>> -
>>> -  BumpPtrAllocator &Allocator;
>>> -
>>> -  bool IsGrowable;
>>> -  uint32_t FreePageMap;
>>> -  uint32_t Unknown1;
>>> -  uint32_t BlockSize;
>>> -  uint32_t MininumBlocks;
>>> -  uint32_t BlockMapAddr;
>>> -  BitVector FreeBlocks;
>>> -  std::vector<uint32_t> DirectoryBlocks;
>>> -  std::vector<std::pair<uint32_t, BlockList>> StreamData;
>>> -};
>>> -} // namespace msf
>>> -} // namespace llvm
>>> -
>>> -#endif // LLVM_DEBUGINFO_MSF_MSFBUILDER_H
>>>
>>> Removed: llvm/trunk/include/llvm/DebugInfo/Msf/MsfCommon.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/Msf/MsfCommon.h?rev=277212&view=auto
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MsfCommon.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/Msf/MsfCommon.h (removed)
>>> @@ -1,89 +0,0 @@
>>> -//===- MsfCommon.h - Common types and functions for MSF files ---*- C++
>>> -*-===//
>>> -//
>>> -//                     The LLVM Compiler Infrastructure
>>> -//
>>> -// This file is distributed under the University of Illinois Open Source
>>> -// License. See LICENSE.TXT for details.
>>> -//
>>>
>>> -//===----------------------------------------------------------------------===//
>>> -
>>> -#ifndef LLVM_DEBUGINFO_MSF_MSFCOMMON_H
>>> -#define LLVM_DEBUGINFO_MSF_MSFCOMMON_H
>>> -
>>> -#include "llvm/ADT/ArrayRef.h"
>>> -
>>> -#include "llvm/Support/Endian.h"
>>> -#include "llvm/Support/Error.h"
>>> -#include "llvm/Support/MathExtras.h"
>>> -
>>> -#include <vector>
>>> -
>>> -namespace llvm {
>>> -namespace msf {
>>> -static const char Magic[] = {'M',  'i',  'c',    'r', 'o', 's',  'o',
>>> 'f',
>>> -                             't',  ' ',  'C',    '/', 'C', '+',  '+',
>>> ' ',
>>> -                             'M',  'S',  'F',    ' ', '7', '.',  '0',
>>> '0',
>>> -                             '\r', '\n', '\x1a', 'D', 'S', '\0', '\0',
>>> '\0'};
>>> -
>>> -// The superblock is overlaid at the beginning of the file (offset 0).
>>> -// It starts with a magic header and is followed by information which
>>> -// describes the layout of the file system.
>>> -struct SuperBlock {
>>> -  char MagicBytes[sizeof(Magic)];
>>> -  // The file system is split into a variable number of fixed size
>>> elements.
>>> -  // These elements are referred to as blocks.  The size of a block may
>>> vary
>>> -  // from system to system.
>>> -  support::ulittle32_t BlockSize;
>>> -  // The index of the free block map.
>>> -  support::ulittle32_t FreeBlockMapBlock;
>>> -  // This contains the number of blocks resident in the file system.  In
>>> -  // practice, NumBlocks * BlockSize is equivalent to the size of the
>>> MSF
>>> -  // file.
>>> -  support::ulittle32_t NumBlocks;
>>> -  // This contains the number of bytes which make up the directory.
>>> -  support::ulittle32_t NumDirectoryBytes;
>>> -  // This field's purpose is not yet known.
>>> -  support::ulittle32_t Unknown1;
>>> -  // This contains the block # of the block map.
>>> -  support::ulittle32_t BlockMapAddr;
>>> -};
>>> -
>>> -struct MsfLayout {
>>> -  MsfLayout() : SB(nullptr) {}
>>> -  const SuperBlock *SB;
>>> -  ArrayRef<support::ulittle32_t> DirectoryBlocks;
>>> -  ArrayRef<support::ulittle32_t> StreamSizes;
>>> -  std::vector<ArrayRef<support::ulittle32_t>> StreamMap;
>>> -};
>>> -
>>> -inline bool isValidBlockSize(uint32_t Size) {
>>> -  switch (Size) {
>>> -  case 512:
>>> -  case 1024:
>>> -  case 2048:
>>> -  case 4096:
>>> -    return true;
>>> -  }
>>> -  return false;
>>> -}
>>> -
>>> -// Super Block, Fpm0, Fpm1, and Block Map
>>> -inline uint32_t getMinimumBlockCount() { return 4; }
>>> -
>>> -// Super Block, Fpm0, and Fpm1 are reserved.  The Block Map, although
>>> required
>>> -// need not be at block 3.
>>> -inline uint32_t getFirstUnreservedBlock() { return 3; }
>>> -
>>> -inline uint64_t bytesToBlocks(uint64_t NumBytes, uint64_t BlockSize) {
>>> -  return alignTo(NumBytes, BlockSize) / BlockSize;
>>> -}
>>> -
>>> -inline uint64_t blockToOffset(uint64_t BlockNumber, uint64_t BlockSize)
>>> {
>>> -  return BlockNumber * BlockSize;
>>> -}
>>> -
>>> -Error validateSuperBlock(const SuperBlock &SB);
>>> -} // namespace msf
>>> -} // namespace llvm
>>> -
>>> -#endif // LLVM_DEBUGINFO_MSF_MSFCOMMON_H
>>>
>>> Removed: llvm/trunk/include/llvm/DebugInfo/Msf/MsfError.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/Msf/MsfError.h?rev=277212&view=auto
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MsfError.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/Msf/MsfError.h (removed)
>>> @@ -1,47 +0,0 @@
>>> -//===- MsfError.h - Error extensions for Msf Files --------------*- C++
>>> -*-===//
>>> -//
>>> -//                     The LLVM Compiler Infrastructure
>>> -//
>>> -// This file is distributed under the University of Illinois Open Source
>>> -// License. See LICENSE.TXT for details.
>>> -//
>>>
>>> -//===----------------------------------------------------------------------===//
>>> -
>>> -#ifndef LLVM_DEBUGINFO_MSF_MSFERROR_H
>>> -#define LLVM_DEBUGINFO_MSF_MSFERROR_H
>>> -
>>> -#include "llvm/Support/Error.h"
>>> -
>>> -#include <string>
>>> -
>>> -namespace llvm {
>>> -namespace msf {
>>> -enum class msf_error_code {
>>> -  unspecified = 1,
>>> -  insufficient_buffer,
>>> -  not_writable,
>>> -  no_stream,
>>> -  invalid_format,
>>> -  block_in_use
>>> -};
>>> -
>>> -/// Base class for errors originating when parsing raw PDB files
>>> -class MsfError : public ErrorInfo<MsfError> {
>>> -public:
>>> -  static char ID;
>>> -  MsfError(msf_error_code C);
>>> -  MsfError(const std::string &Context);
>>> -  MsfError(msf_error_code C, const std::string &Context);
>>> -
>>> -  void log(raw_ostream &OS) const override;
>>> -  const std::string &getErrorMessage() const;
>>> -  std::error_code convertToErrorCode() const override;
>>> -
>>> -private:
>>> -  std::string ErrMsg;
>>> -  msf_error_code Code;
>>> -};
>>> -} // namespace msf
>>> -} // namespace llvm
>>> -
>>> -#endif // LLVM_DEBUGINFO_MSF_MSFERROR_H
>>>
>>> Removed: llvm/trunk/include/llvm/DebugInfo/Msf/MsfStreamLayout.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/Msf/MsfStreamLayout.h?rev=277212&view=auto
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/MsfStreamLayout.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/Msf/MsfStreamLayout.h (removed)
>>> @@ -1,35 +0,0 @@
>>> -//===- MsfStreamLayout.h - Describes the layout of a stream -----*- C++
>>> -*-===//
>>> -//
>>> -//                     The LLVM Compiler Infrastructure
>>> -//
>>> -// This file is distributed under the University of Illinois Open Source
>>> -// License. See LICENSE.TXT for details.
>>> -//
>>>
>>> -//===----------------------------------------------------------------------===//
>>> -
>>> -#ifndef LLVM_DEBUGINFO_MSF_MSFSTREAMLAYOUT_H
>>> -#define LLVM_DEBUGINFO_MSF_MSFSTREAMLAYOUT_H
>>> -
>>> -#include "llvm/ADT/ArrayRef.h"
>>> -#include "llvm/Support/Endian.h"
>>> -
>>> -#include <cstdint>
>>> -
>>> -namespace llvm {
>>> -namespace msf {
>>> -
>>> -/// \brief Describes the layout of a stream in an Msf layout.  A
>>> "stream" here
>>> -/// is defined as any logical unit of data which may be arranged inside
>>> the Msf
>>> -/// file as a sequence of (possibly discontiguous) blocks.  When we
>>> want to read
>>> -/// from a particular Msf Stream, we fill out a stream layout structure
>>> and the
>>> -/// reader uses it to determine which blocks in the underlying Msf file
>>> contain
>>> -/// the data, so that it can be pieced together in the right order.
>>> -class MsfStreamLayout {
>>> -public:
>>> -  uint32_t Length;
>>> -  ArrayRef<support::ulittle32_t> Blocks;
>>> -};
>>> -} // namespace msf
>>> -} // namespace llvm
>>> -
>>> -#endif // LLVM_DEBUGINFO_MSF_MSFSTREAMLAYOUT_H
>>>
>>> Removed: llvm/trunk/include/llvm/DebugInfo/Msf/StreamArray.h
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/DebugInfo/Msf/StreamArray.h?rev=277212&view=auto
>>>
>>> ==============================================================================
>>> --- llvm/trunk/include/llvm/DebugInfo/Msf/StreamArray.h (original)
>>> +++ llvm/trunk/include/llvm/DebugInfo/Msf/StreamArray.h (removed)
>>> @@ -1,277 +0,0 @@
>>> -//===- StreamArray.h - Array backed by an arbitrary stream
>>> ----------------===//
>>> -//
>>> -//                     The LLVM Compiler Infrastructure
>>> -//
>>> -// This file is distributed under the University of Illinois Open Source
>>> -// License. See LICENSE.TXT for details.
>>> -//
>>>
>>> -//===----------------------------------------------------------------------===//
>>> -
>>> -#ifndef LLVM_DEBUGINFO_MSF_STREAMARRAY_H
>>> -#define LLVM_DEBUGINFO_MSF_STREAMARRAY_H
>>> -
>>> -#include "llvm/DebugInfo/Msf/StreamRef.h"
>>> -#include "llvm/Support/Error.h"
>>> -
>>> -#include <functional>
>>> -#include <type_traits>
>>> -
>>> -namespace llvm {
>>> -namespace msf {
>>> -
>>> -/// VarStreamArrayExtractor is intended to be specialized to provide
>>> customized
>>> -/// extraction logic.  On input it receives a StreamRef pointing to the
>>> -/// beginning of the next record, but where the length of the record is
>>> not yet
>>> -/// known.  Upon completion, it should return an appropriate Error
>>> instance if
>>> -/// a record could not be extracted, or if one could be extracted it
>>> should
>>> -/// return success and set Len to the number of bytes this record
>>> occupied in
>>> -/// the underlying stream, and it should fill out the fields of the
>>> value type
>>> -/// Item appropriately to represent the current record.
>>> -///
>>> -/// You can specialize this template for your own custom value types to
>>> avoid
>>> -/// having to specify a second template argument to VarStreamArray
>>> (documented
>>> -/// below).
>>> -template <typename T> struct VarStreamArrayExtractor {
>>> -  // Method intentionally deleted.  You must provide an explicit
>>> specialization
>>> -  // with the following method implemented.
>>> -  Error operator()(ReadableStreamRef Stream, uint32_t &Len,
>>> -                   T &Item) const = delete;
>>> -};
>>> -
>>> -/// VarStreamArray represents an array of variable length records
>>> backed by a
>>> -/// stream.  This could be a contiguous sequence of bytes in memory, it
>>> could
>>> -/// be a file on disk, or it could be a PDB stream where bytes are
>>> stored as
>>> -/// discontiguous blocks in a file.  Usually it is desirable to treat
>>> arrays
>>> -/// as contiguous blocks of memory, but doing so with large PDB files,
>>> for
>>> -/// example, could mean allocating huge amounts of memory just to allow
>>> -/// re-ordering of stream data to be contiguous before iterating over
>>> it.  By
>>> -/// abstracting this out, we need not duplicate this memory, and we can
>>> -/// iterate over arrays in arbitrarily formatted streams.  Elements are
>>> parsed
>>> -/// lazily on iteration, so there is no upfront cost associated with
>>> building
>>> -/// a VarStreamArray, no matter how large it may be.
>>> -///
>>> -/// You create a VarStreamArray by specifying a ValueType and an
>>> Extractor type.
>>> -/// If you do not specify an Extractor type, it expects you to
>>> specialize
>>> -/// VarStreamArrayExtractor<T> for your ValueType.
>>> -///
>>> -/// By default an Extractor is default constructed in the class, but in
>>> some
>>> -/// cases you might find it useful for an Extractor to maintain state
>>> across
>>> -/// extractions.  In this case you can provide your own Extractor
>>> through a
>>> -/// secondary constructor.  The following examples show various ways of
>>> -/// creating a VarStreamArray.
>>> -///
>>> -///       // Will use VarStreamArrayExtractor<MyType> as the extractor.
>>> -///       VarStreamArray<MyType> MyTypeArray;
>>> -///
>>> -///       // Will use a default-constructed MyExtractor as the
>>> extractor.
>>> -///       VarStreamArray<MyType, MyExtractor> MyTypeArray2;
>>> -///
>>> -///       // Will use the specific instance of MyExtractor provided.
>>> -///       // MyExtractor need not be default-constructible in this case.
>>> -///       MyExtractor E(SomeContext);
>>> -///       VarStreamArray<MyType, MyExtractor> MyTypeArray3(E);
>>> -///
>>> -template <typename ValueType, typename Extractor> class
>>> VarStreamArrayIterator;
>>> -
>>> -template <typename ValueType,
>>> -          typename Extractor = VarStreamArrayExtractor<ValueType>>
>>> -class VarStreamArray {
>>> -  friend class VarStreamArrayIterator<ValueType, Extractor>;
>>> -
>>> -public:
>>> -  typedef VarStreamArrayIterator<ValueType, Extractor> Iterator;
>>> -
>>> -  VarStreamArray() {}
>>> -  explicit VarStreamArray(const Extractor &E) : E(E) {}
>>> -
>>> -  explicit VarStreamArray(ReadableStreamRef Stream) : Stream(Stream) {}
>>> -  VarStreamArray(ReadableStreamRef Stream, const Extractor &E)
>>> -      : Stream(Stream), E(E) {}
>>> -
>>> -  VarStreamArray(const VarStreamArray<ValueType, Extractor> &Other)
>>> -      : Stream(Other.Stream), E(Other.E) {}
>>> -
>>> -  Iterator begin(bool *HadError = nullptr) const {
>>> -    return Iterator(*this, E, HadError);
>>> -  }
>>> -
>>> -  Iterator end() const { return Iterator(E); }
>>> -
>>> -  const Extractor &getExtractor() const { return E; }
>>> -
>>> -  ReadableStreamRef getUnderlyingStream() const { return Stream; }
>>> -
>>> -private:
>>> -  ReadableStreamRef Stream;
>>> -  Extractor E;
>>> -};
>>> -
>>> -template <typename ValueType, typename Extractor> class
>>> VarStreamArrayIterator {
>>> -  typedef VarStreamArrayIterator<ValueType, Extractor> IterType;
>>> -  typedef VarStreamArray<ValueType, Extractor> ArrayType;
>>> -
>>> -public:
>>> -  VarStreamArrayIterator(const ArrayType &Array, const Extractor &E,
>>> -                         bool *HadError = nullptr)
>>> -      : IterRef(Array.Stream), Array(&Array), HadError(HadError),
>>> Extract(E) {
>>> -    if (IterRef.getLength() == 0)
>>> -      moveToEnd();
>>> -    else {
>>> -      auto EC = Extract(IterRef, ThisLen, ThisValue);
>>> -      if (EC) {
>>> -        consumeError(std::move(EC));
>>> -        markError();
>>> -      }
>>> -    }
>>> -  }
>>> -  VarStreamArrayIterator() {}
>>> -  explicit VarStreamArrayIterator(const Extractor &E) : Extract(E) {}
>>> -  ~VarStreamArrayIterator() {}
>>> -
>>> -  bool operator==(const IterType &R) const {
>>> -    if (Array && R.Array) {
>>> -      // Both have a valid array, make sure they're same.
>>> -      assert(Array == R.Array);
>>> -      return IterRef == R.IterRef;
>>> -    }
>>> -
>>> -    // Both iterators are at the end.
>>> -    if (!Array && !R.Array)
>>> -      return true;
>>> -
>>> -    // One is not at the end and one is.
>>> -    return false;
>>> -  }
>>> -
>>> -  bool operator!=(const IterType &R) { return !(*this == R); }
>>> -
>>> -  const ValueType &operator*() const {
>>> -    assert(Array && !HasError);
>>> -    return ThisValue;
>>> -  }
>>> -
>>> -  IterType &operator++() {
>>> -    // We are done with the current record, discard it so that we are
>>> -    // positioned at the next record.
>>> -    IterRef = IterRef.drop_front(ThisLen);
>>> -    if (IterRef.getLength() == 0) {
>>> -      // There is nothing after the current record, we must make this
>>> an end
>>> -      // itera
>>
>> --
>> Mike
>> Sent from phone
>>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160731/c241d283/attachment.html>


More information about the llvm-commits mailing list