From aa99bea46f69f9cc46f3f50f2cb19e801641ed97 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Mon, 13 Jun 2011 12:56:51 +0000 Subject: [PATCH] Revert r132910 and r132909 on behalf of Michael. They didn't build with clang. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132914 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Object/Binary.h | 64 ------------------------------------ include/llvm/Object/Error.h | 49 --------------------------- lib/Object/Binary.cpp | 50 ---------------------------- lib/Object/CMakeLists.txt | 2 -- lib/Object/Error.cpp | 55 ------------------------------- 5 files changed, 220 deletions(-) delete mode 100644 include/llvm/Object/Binary.h delete mode 100644 include/llvm/Object/Error.h delete mode 100644 lib/Object/Binary.cpp delete mode 100644 lib/Object/Error.cpp diff --git a/include/llvm/Object/Binary.h b/include/llvm/Object/Binary.h deleted file mode 100644 index 89cd24bfb97..00000000000 --- a/include/llvm/Object/Binary.h +++ /dev/null @@ -1,64 +0,0 @@ -//===- Binary.h - A generic binary file -------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file declares the Binary class. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_OBJECT_BINARY_H -#define LLVM_OBJECT_BINARY_H - -#include "llvm/ADT/OwningPtr.h" -#include "llvm/Object/Error.h" - -namespace llvm { - -class MemoryBuffer; -class StringRef; - -namespace object { - -class Binary { -private: - Binary(); // = delete - Binary(const Binary &other); // = delete - - unsigned int TypeID; - -protected: - MemoryBuffer *Data; - - Binary(unsigned int Type, MemoryBuffer *Source); - - enum { - isArchive, - isCOFF, - isELF, - isMachO, - isObject - }; - -public: - virtual ~Binary(); - - StringRef getData() const; - StringRef getFileName() const; - - // Cast methods. - unsigned int getType() const { return TypeID; } - static inline bool classof(Binary const *v) { return true; } -}; - -error_code createBinary(MemoryBuffer *Source, OwningPtr &Result); -error_code createBinary(StringRef Path, OwningPtr &Result); - -} -} - -#endif diff --git a/include/llvm/Object/Error.h b/include/llvm/Object/Error.h deleted file mode 100644 index 08f458790fb..00000000000 --- a/include/llvm/Object/Error.h +++ /dev/null @@ -1,49 +0,0 @@ -//===- Error.h - system_error extensions for Object -------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This declares a new error_category for the Object library. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_OBJECT_ERROR_H -#define LLVM_OBJECT_ERROR_H - -#include "llvm/Support/system_error.h" - -namespace llvm { -namespace object { - -const error_category &object_category(); - -struct object_error { -enum _ { - success = 0, - invalid_file_type, - parse_failed -}; - _ v_; - - object_error(_ v) : v_(v) {} - explicit object_error(int v) : v_(_(v)) {} - operator int() const {return v_;} -}; - -} // end namespace object. - -template <> struct is_error_code_enum : true_type { }; - -template <> struct is_error_code_enum : true_type { }; - -inline error_code make_error_code(object::object_error e) { - return error_code(static_cast(e), object::object_category()); -} - -} // end namespace llvm. - -#endif diff --git a/lib/Object/Binary.cpp b/lib/Object/Binary.cpp deleted file mode 100644 index 75f5a58ac08..00000000000 --- a/lib/Object/Binary.cpp +++ /dev/null @@ -1,50 +0,0 @@ -//===- Binary.cpp - A generic binary file -----------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file defines the Binary class. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Object/Binary.h" -#include "llvm/ADT/StringRef.h" -#include "llvm/Support/MemoryBuffer.h" -#include "llvm/Support/Path.h" - -using namespace llvm; -using namespace object; - -Binary::~Binary() { - delete Data; -} - -Binary::Binary(unsigned int Type, MemoryBuffer *Source) - : TypeID(Type) - , Data(Source) {} - -StringRef Binary::getData() const { - return Data->getBuffer(); -} - -StringRef Binary::getFileName() const { - return Data->getBufferIdentifier(); -} - -error_code object::createBinary(MemoryBuffer *Source, - OwningPtr &Result) { - // We don't support any at the moment. - delete Source; - return object_error::invalid_file_type; -} - -error_code object::createBinary(StringRef Path, OwningPtr &Result) { - OwningPtr File; - if (error_code ec = MemoryBuffer::getFile(Path, File)) - return ec; - return createBinary(File.take(), Result); -} diff --git a/lib/Object/CMakeLists.txt b/lib/Object/CMakeLists.txt index 68e5e94924d..703d385d2ba 100644 --- a/lib/Object/CMakeLists.txt +++ b/lib/Object/CMakeLists.txt @@ -1,8 +1,6 @@ add_llvm_library(LLVMObject - Binary.cpp COFFObjectFile.cpp ELFObjectFile.cpp - Error.cpp MachOObject.cpp MachOObjectFile.cpp Object.cpp diff --git a/lib/Object/Error.cpp b/lib/Object/Error.cpp deleted file mode 100644 index 40f97d48a1d..00000000000 --- a/lib/Object/Error.cpp +++ /dev/null @@ -1,55 +0,0 @@ -//===- Error.cpp - system_error extensions for Object -----------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This defines a new error_category for the Object library. -// -//===----------------------------------------------------------------------===// - -#include "llvm/Object/Error.h" -#include "llvm/Support/ErrorHandling.h" - -using namespace llvm; -using namespace object; - -namespace { -class _object_error_category : public _do_message { -public: - virtual const char* name() const; - virtual std::string message(int ev) const; - virtual error_condition default_error_condition(int ev) const; -}; -} - -const char *_object_error_category::name() const { - return "llvm.object"; -} - -std::string _object_error_category::message(int ev) const { - switch (ev) { - case object_error::success: return "Success"; - case object_error::invalid_file_type: - return "The file was not recognized as a valid object file"; - case object_error::parse_failed: - return "Invalid data was encountered while parsing the file"; - default: - llvm_unreachable("An enumerator of object_error does not have a message " - "defined."); - } -} - -error_condition _object_error_category::default_error_condition(int ev) const { - if (ev == object_error::success) - return errc::success; - return errc::invalid_argument; -} - -const error_category &object::object_category() { - static _object_error_category o; - return o; -}