From 5fb6e6364b6b10e98430140554e644697f29eb06 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Thu, 5 May 2011 11:34:15 -0700 Subject: rustc: Add a binding to LLVM's bitcode parser --- src/rustllvm/RustWrapper.cpp | 8 ++++++++ src/rustllvm/rustllvm.def.in | 1 + 2 files changed, 9 insertions(+) (limited to 'src/rustllvm') diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 01ea6677..3c958830 100644 --- a/src/rustllvm/RustWrapper.cpp +++ b/src/rustllvm/RustWrapper.cpp @@ -21,6 +21,7 @@ #include "llvm/Target/TargetRegistry.h" #include "llvm/Target/TargetOptions.h" #include "llvm-c/Core.h" +#include "llvm-c/BitReader.h" #include "llvm-c/Object.h" #include @@ -98,3 +99,10 @@ extern "C" void LLVMRustWriteOutputFile(LLVMPassManagerRef PMR, (void)foo; PM->run(*unwrap(M)); } + +extern "C" LLVMModuleRef LLVMRustParseBitcode(LLVMMemoryBufferRef MemBuf) { + LLVMModuleRef M; + return LLVMParseBitcode(MemBuf, &M, const_cast(&LLVMRustError)) + ? NULL : M; +} + diff --git a/src/rustllvm/rustllvm.def.in b/src/rustllvm/rustllvm.def.in index 74acb28b..a5ffa04e 100644 --- a/src/rustllvm/rustllvm.def.in +++ b/src/rustllvm/rustllvm.def.in @@ -1,6 +1,7 @@ LLVMRustCreateMemoryBufferWithContentsOfFile LLVMRustWriteOutputFile LLVMRustGetLastError +LLVMRustParseBitcode LLVMLinkModules LLVMCreateObjectFile LLVMDisposeObjectFile -- cgit v1.2.3