llvm-6502/lib/DebugInfo
Rafael Espindola 548f2b6e8f Don't own the buffer in object::Binary.
Owning the buffer is somewhat inflexible. Some Binaries have sub Binaries
(like Archive) and we had to create dummy buffers just to handle that. It is
also a bad fit for IRObjectFile where the Module wants to own the buffer too.

Keeping this ownership would make supporting IR inside native objects
particularly painful.

This patch focuses in lib/Object. If something elsewhere used to own an Binary,
now it also owns a MemoryBuffer.

This patch introduces a few new types.

* MemoryBufferRef. This is just a pair of StringRefs for the data and name.
  This is to MemoryBuffer as StringRef is to std::string.
* OwningBinary. A combination of Binary and a MemoryBuffer. This is needed
  for convenience functions that take a filename and return both the
  buffer and the Binary using that buffer.

The C api now uses OwningBinary to avoid any change in semantics. I will start
a new thread to see if we want to change it and how.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216002 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-19 18:44:46 +00:00
..
CMakeLists.txt
DIContext.cpp
DWARFAbbreviationDeclaration.cpp
DWARFAbbreviationDeclaration.h
DWARFCompileUnit.cpp
DWARFCompileUnit.h
DWARFContext.cpp
DWARFContext.h
DWARFDebugAbbrev.cpp
DWARFDebugAbbrev.h
DWARFDebugAranges.cpp
DWARFDebugAranges.h
DWARFDebugArangeSet.cpp
DWARFDebugArangeSet.h
DWARFDebugFrame.cpp
DWARFDebugFrame.h
DWARFDebugInfoEntry.cpp
DWARFDebugInfoEntry.h
DWARFDebugLine.cpp
DWARFDebugLine.h
DWARFDebugLoc.cpp
DWARFDebugLoc.h
DWARFDebugRangeList.cpp
DWARFDebugRangeList.h
DWARFFormValue.cpp
DWARFRelocMap.h
DWARFTypeUnit.cpp
DWARFTypeUnit.h
DWARFUnit.cpp Don't own the buffer in object::Binary. 2014-08-19 18:44:46 +00:00
DWARFUnit.h
LLVMBuild.txt
Makefile
module.modulemap