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
This commit is contained in:
Benjamin Kramer 2011-06-13 12:56:51 +00:00
parent 5e45dc40d3
commit aa99bea46f
5 changed files with 0 additions and 220 deletions

View File

@ -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<Binary> &Result);
error_code createBinary(StringRef Path, OwningPtr<Binary> &Result);
}
}
#endif

View File

@ -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<object::object_error> : true_type { };
template <> struct is_error_code_enum<object::object_error::_> : true_type { };
inline error_code make_error_code(object::object_error e) {
return error_code(static_cast<int>(e), object::object_category());
}
} // end namespace llvm.
#endif

View File

@ -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<Binary> &Result) {
// We don't support any at the moment.
delete Source;
return object_error::invalid_file_type;
}
error_code object::createBinary(StringRef Path, OwningPtr<Binary> &Result) {
OwningPtr<MemoryBuffer> File;
if (error_code ec = MemoryBuffer::getFile(Path, File))
return ec;
return createBinary(File.take(), Result);
}

View File

@ -1,8 +1,6 @@
add_llvm_library(LLVMObject
Binary.cpp
COFFObjectFile.cpp
ELFObjectFile.cpp
Error.cpp
MachOObject.cpp
MachOObjectFile.cpp
Object.cpp

View File

@ -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;
}