aboutsummaryrefslogtreecommitdiff
path: root/src/support
diff options
context:
space:
mode:
authorPatrick Walton <[email protected]>2011-03-11 18:17:57 -0800
committerPatrick Walton <[email protected]>2011-03-11 18:17:57 -0800
commit57c2fa9d11f45618e25798eb2065c1b14b847264 (patch)
treee3723d094d1381a0495d5e566489f0a03fa71332 /src/support
parentrustc: Add a binding to LLVM's object file reader. Until it's sent upstream, ... (diff)
downloadrust-57c2fa9d11f45618e25798eb2065c1b14b847264.tar.xz
rust-57c2fa9d11f45618e25798eb2065c1b14b847264.zip
Rename libsupport to librustllvm
Diffstat (limited to 'src/support')
-rw-r--r--src/support/Object.cpp55
-rw-r--r--src/support/README3
-rw-r--r--src/support/include/llvm-c/Object.h75
3 files changed, 0 insertions, 133 deletions
diff --git a/src/support/Object.cpp b/src/support/Object.cpp
deleted file mode 100644
index f390870f..00000000
--- a/src/support/Object.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-//===- Object.cpp - C bindings to the object file library--------*- 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 C bindings to the file-format-independent object
-// library.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Object/ObjectFile.h"
-#include "llvm-c/Object.h"
-
-using namespace llvm;
-using namespace object;
-
-LLVMObjectFileRef LLVMCreateObjectFile(const char *ObjectPath) {
- StringRef SR(ObjectPath);
- return wrap(ObjectFile::createObjectFile(SR));
-}
-
-void LLVMDisposeObjectFile(LLVMObjectFileRef ObjectFile) {
- delete unwrap(ObjectFile);
-}
-
-LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile) {
- ObjectFile::section_iterator SI = unwrap(ObjectFile)->begin_sections();
- return wrap(new ObjectFile::section_iterator(SI));
-}
-
-void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI) {
- delete unwrap(SI);
-}
-
-void LLVMMoveToNextSection(LLVMSectionIteratorRef SI) {
- ObjectFile::section_iterator UnwrappedSI = *unwrap(SI);
- ++UnwrappedSI;
-}
-
-const char *LLVMGetSectionName(LLVMSectionIteratorRef SI) {
- return (*unwrap(SI))->getName().data();
-}
-
-uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI) {
- return (*unwrap(SI))->getSize();
-}
-
-const char *LLVMGetSectionContents(LLVMSectionIteratorRef SI) {
- return (*unwrap(SI))->getContents().data();
-}
-
diff --git a/src/support/README b/src/support/README
deleted file mode 100644
index 31495f22..00000000
--- a/src/support/README
+++ /dev/null
@@ -1,3 +0,0 @@
-This directory currently contains some LLVM support code. This will generally
-be sent upstream to LLVM in time; for now it lives here.
-
diff --git a/src/support/include/llvm-c/Object.h b/src/support/include/llvm-c/Object.h
deleted file mode 100644
index a65a2352..00000000
--- a/src/support/include/llvm-c/Object.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*===-- llvm-c/Object.h - Object Lib C Iface --------------------*- C++ -*-===*/
-/* */
-/* The LLVM Compiler Infrastructure */
-/* */
-/* This file is distributed under the University of Illinois Open Source */
-/* License. See LICENSE.TXT for details. */
-/* */
-/*===----------------------------------------------------------------------===*/
-/* */
-/* This header declares the C interface to libLLVMObject.a, which */
-/* implements object file reading and writing. */
-/* */
-/* Many exotic languages can interoperate with C code but have a harder time */
-/* with C++ due to name mangling. So in addition to C, this interface enables */
-/* tools written in such languages. */
-/* */
-/*===----------------------------------------------------------------------===*/
-
-#ifndef LLVM_C_OBJECT_H
-#define LLVM_C_OBJECT_H
-
-#include "llvm-c/Core.h"
-#include "llvm/Config/llvm-config.h"
-
-#ifdef __cplusplus
-#include "llvm/Object/ObjectFile.h"
-
-extern "C" {
-#endif
-
-
-typedef struct LLVMOpaqueObjectFile *LLVMObjectFileRef;
-
-typedef struct LLVMOpaqueSectionIterator *LLVMSectionIteratorRef;
-
-LLVMObjectFileRef LLVMCreateObjectFile(const char *ObjectPath);
-void LLVMDisposeObjectFile(LLVMObjectFileRef ObjectFile);
-
-LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile);
-void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI);
-void LLVMMoveToNextSection(LLVMSectionIteratorRef SI);
-const char *LLVMGetSectionName(LLVMSectionIteratorRef SI);
-uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI);
-const char *LLVMGetSectionContents(LLVMSectionIteratorRef SI);
-
-
-#ifdef __cplusplus
-}
-
-namespace llvm {
- namespace object {
- inline ObjectFile *unwrap(LLVMObjectFileRef OF) {
- return reinterpret_cast<ObjectFile*>(OF);
- }
-
- inline LLVMObjectFileRef wrap(const ObjectFile *OF) {
- return reinterpret_cast<LLVMObjectFileRef>(const_cast<ObjectFile*>(OF));
- }
-
- inline ObjectFile::section_iterator *unwrap(LLVMSectionIteratorRef SI) {
- return reinterpret_cast<ObjectFile::section_iterator*>(SI);
- }
-
- inline LLVMSectionIteratorRef
- wrap(const ObjectFile::section_iterator *SI) {
- return reinterpret_cast<LLVMSectionIteratorRef>
- (const_cast<ObjectFile::section_iterator*>(SI));
- }
- }
-}
-
-#endif /* defined(__cplusplus) */
-
-#endif
-