diff options
author | Alp Toker <alp@nuanti.com> | 2014-06-27 04:33:58 +0000 |
---|---|---|
committer | Alp Toker <alp@nuanti.com> | 2014-06-27 04:33:58 +0000 |
commit | d0996e5b33ede018999044f3c5f05e72540d97c4 (patch) | |
tree | c78a4ab783abfeb12368e4dfbf0f3b122ad89fde /include | |
parent | 493512898faad01ed17c988f422a644e6fe83264 (diff) | |
download | llvm-d0996e5b33ede018999044f3c5f05e72540d97c4.tar.gz llvm-d0996e5b33ede018999044f3c5f05e72540d97c4.tar.bz2 llvm-d0996e5b33ede018999044f3c5f05e72540d97c4.tar.xz |
ParseIR: don't take ownership of the MemoryBuffer
clang was needlessly duplicating whole memory buffer contents in an attempt to
satisfy unclear ownership semantics. Let's just hide internal LLVM quirks and
present a simple non-owning interface.
The public C API preserves previous behaviour for stability.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211861 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/IRReader/IRReader.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/llvm/IRReader/IRReader.h b/include/llvm/IRReader/IRReader.h index e2ae5f7164..20022cf8d8 100644 --- a/include/llvm/IRReader/IRReader.h +++ b/include/llvm/IRReader/IRReader.h @@ -40,9 +40,9 @@ Module *getLazyIRFileModule(const std::string &Filename, SMDiagnostic &Err, /// If the given MemoryBuffer holds a bitcode image, return a Module /// for it. Otherwise, attempt to parse it as LLVM Assembly and return -/// a Module for it. This function *always* takes ownership of the given -/// MemoryBuffer. -Module *ParseIR(MemoryBuffer *Buffer, SMDiagnostic &Err, LLVMContext &Context); +/// a Module for it. This function *never* takes ownership of Buffer. +Module *ParseIR(const MemoryBuffer *Buffer, SMDiagnostic &Err, + LLVMContext &Context); /// If the given file holds a bitcode image, return a Module for it. /// Otherwise, attempt to parse it as LLVM Assembly and return a Module |