diff options
author | Bill Wendling <isanbard@gmail.com> | 2013-02-14 19:11:28 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2013-02-14 19:11:28 +0000 |
commit | 526276af71b7102fce756eea603388e4dab4c082 (patch) | |
tree | a458d19b16dd78383ebe48eac19681b15e09b735 /llvm/lib/IR/Core.cpp | |
parent | 0ee809b71c76bef9dd1d9dbbf4b6a266baf9d522 (diff) | |
download | bcm5719-llvm-526276af71b7102fce756eea603388e4dab4c082.tar.gz bcm5719-llvm-526276af71b7102fce756eea603388e4dab4c082.zip |
Add two new functions to the C API:
LLVMCreateMemoryBufferWithMemoryRange - exposes MemoryBuffer::getMemBuffer
LLVMCreateMemoryBufferWithMemoryRangeCopy - exposes MemoryBuffer::getMemBufferCopy
Patch by Moritz Maxeiner!
llvm-svn: 175199
Diffstat (limited to 'llvm/lib/IR/Core.cpp')
-rw-r--r-- | llvm/lib/IR/Core.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/lib/IR/Core.cpp b/llvm/lib/IR/Core.cpp index b696ed06c4f..10f870c71f2 100644 --- a/llvm/lib/IR/Core.cpp +++ b/llvm/lib/IR/Core.cpp @@ -2369,6 +2369,29 @@ LLVMBool LLVMCreateMemoryBufferWithSTDIN(LLVMMemoryBufferRef *OutMemBuf, return 1; } +LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRange( + const char *InputData, + size_t InputDataLength, + const char *BufferName, + bool RequiresNullTerminator) { + + return wrap(MemoryBuffer::getMemBuffer( + StringRef(InputData, InputDataLength), + StringRef(BufferName), + RequiresNullTerminator)); +} + +LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy( + const char *InputData, + size_t InputDataLength, + const char *BufferName) { + + return wrap(MemoryBuffer::getMemBufferCopy( + StringRef(InputData, InputDataLength), + StringRef(BufferName))); +} + + void LLVMDisposeMemoryBuffer(LLVMMemoryBufferRef MemBuf) { delete unwrap(MemBuf); } |