Remove dead enum value. There is no DIESectionOffset.
[oota-llvm.git] / lib / Object / ObjectFile.cpp
index 01b129f9bb6c1e0b359b20116d22567ba5d70efc..69d8ed0e5e9af62742d8b1fcb8b844320a519333 100644 (file)
 using namespace llvm;
 using namespace object;
 
-ObjectFile::ObjectFile(MemoryBuffer *Object)
-  : MapFile(Object) {
-  assert(MapFile && "Must be a valid MemoryBuffer!");
-  base = reinterpret_cast<const uint8_t *>(MapFile->getBufferStart());
-}
-
-ObjectFile::~ObjectFile() {
-  delete MapFile;
-}
-
-StringRef ObjectFile::getFilename() const {
-  return MapFile->getBufferIdentifier();
+ObjectFile::ObjectFile(unsigned int Type, MemoryBuffer *source, error_code &ec)
+  : Binary(Type, source) {
 }
 
 ObjectFile *ObjectFile::createObjectFile(MemoryBuffer *Object) {
@@ -45,7 +35,7 @@ ObjectFile *ObjectFile::createObjectFile(MemoryBuffer *Object) {
     case sys::ELF_Executable_FileType:
     case sys::ELF_SharedObject_FileType:
     case sys::ELF_Core_FileType:
-        return 0;
+      return createELFObjectFile(Object);
     case sys::Mach_O_Object_FileType:
     case sys::Mach_O_Executable_FileType:
     case sys::Mach_O_FixedVirtualMemorySharedLib_FileType:
@@ -55,7 +45,8 @@ ObjectFile *ObjectFile::createObjectFile(MemoryBuffer *Object) {
     case sys::Mach_O_DynamicLinker_FileType:
     case sys::Mach_O_Bundle_FileType:
     case sys::Mach_O_DynamicallyLinkedSharedLibStub_FileType:
-      return 0;
+    case sys::Mach_O_DSYMCompanion_FileType:
+      return createMachOObjectFile(Object);
     case sys::COFF_FileType:
       return createCOFFObjectFile(Object);
     default: