[IR] Add support for empty tokens
[oota-llvm.git] / lib / Object / ELFObjectFile.cpp
index 8847a20d96e86b737f36da04a0111542702d336c..c7df30a590351683055c28959b89ea32942f66ae 100644 (file)
@@ -38,15 +38,16 @@ ObjectFile::createELFObjectFile(MemoryBufferRef Obj) {
     else if (Ident.second == ELF::ELFDATA2MSB)
       R.reset(new ELFObjectFile<ELFType<support::big, false>>(Obj, EC));
     else
-      llvm_unreachable("Buffer is not an ELF object file!");
-  } else {
-    assert(Ident.first == ELF::ELFCLASS64);
+      return object_error::parse_failed;
+  } else if (Ident.first == ELF::ELFCLASS64) {
     if (Ident.second == ELF::ELFDATA2LSB)
       R.reset(new ELFObjectFile<ELFType<support::little, true>>(Obj, EC));
     else if (Ident.second == ELF::ELFDATA2MSB)
       R.reset(new ELFObjectFile<ELFType<support::big, true>>(Obj, EC));
     else
-      llvm_unreachable("Buffer is not an ELF object file!");
+      return object_error::parse_failed;
+  } else {
+    return object_error::parse_failed;
   }
 
   if (EC)