diff options
author | Owen Anderson <resistor@mac.com> | 2009-07-01 16:58:40 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2009-07-01 16:58:40 +0000 |
commit | 6773d388aadf0c8588e3cda343ab621397fde38c (patch) | |
tree | 3fb6f8744c4739dd948237725a958d247f3073ea /llvm/lib/AsmParser/Parser.cpp | |
parent | 1f50b61329f84977a95708f4aad76b5391768f30 (diff) | |
download | bcm5719-llvm-6773d388aadf0c8588e3cda343ab621397fde38c.tar.gz bcm5719-llvm-6773d388aadf0c8588e3cda343ab621397fde38c.zip |
Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.
Patches for Clang and LLVM-GCC to follow.
llvm-svn: 74614
Diffstat (limited to 'llvm/lib/AsmParser/Parser.cpp')
-rw-r--r-- | llvm/lib/AsmParser/Parser.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/AsmParser/Parser.cpp b/llvm/lib/AsmParser/Parser.cpp index 759e00e3217..7759c70d73d 100644 --- a/llvm/lib/AsmParser/Parser.cpp +++ b/llvm/lib/AsmParser/Parser.cpp @@ -20,7 +20,8 @@ #include <cstring> using namespace llvm; -Module *llvm::ParseAssemblyFile(const std::string &Filename, ParseError &Err) { +Module *llvm::ParseAssemblyFile(const std::string &Filename, ParseError &Err, + LLVMContext* Context) { Err.setFilename(Filename); std::string ErrorStr; @@ -31,14 +32,14 @@ Module *llvm::ParseAssemblyFile(const std::string &Filename, ParseError &Err) { return 0; } - OwningPtr<Module> M(new Module(Filename)); + OwningPtr<Module> M(new Module(Filename, Context)); if (LLParser(F.get(), Err, M.get()).Run()) return 0; return M.take(); } Module *llvm::ParseAssemblyString(const char *AsmString, Module *M, - ParseError &Err) { + ParseError &Err, LLVMContext* Context) { Err.setFilename("<string>"); OwningPtr<MemoryBuffer> @@ -50,7 +51,7 @@ Module *llvm::ParseAssemblyString(const char *AsmString, Module *M, return LLParser(F.get(), Err, M).Run() ? 0 : M; // Otherwise create a new module. - OwningPtr<Module> M2(new Module("<string>")); + OwningPtr<Module> M2(new Module("<string>", Context)); if (LLParser(F.get(), Err, M2.get()).Run()) return 0; return M2.take(); |