diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2011-05-05 11:34:15 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2011-05-05 11:34:45 -0700 |
| commit | 5fb6e6364b6b10e98430140554e644697f29eb06 (patch) | |
| tree | 3332fcffda123b9c9d02f94d337597cef2b3a610 /src/rustllvm/RustWrapper.cpp | |
| parent | 6b742aec91f1c2615ab8e01ba027dfff3008a7f7 (diff) | |
| download | rust-5fb6e6364b6b10e98430140554e644697f29eb06.tar.gz rust-5fb6e6364b6b10e98430140554e644697f29eb06.zip | |
rustc: Add a binding to LLVM's bitcode parser
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
| -rw-r--r-- | src/rustllvm/RustWrapper.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/rustllvm/RustWrapper.cpp b/src/rustllvm/RustWrapper.cpp index 01ea6677be1..3c9588305f1 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 <cstdlib> @@ -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<char **>(&LLVMRustError)) + ? NULL : M; +} + |
