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/tools/llvm-nm | |
| 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/tools/llvm-nm')
| -rw-r--r-- | llvm/tools/llvm-nm/llvm-nm.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/tools/llvm-nm/llvm-nm.cpp b/llvm/tools/llvm-nm/llvm-nm.cpp index 324e0f67035..3f19940660e 100644 --- a/llvm/tools/llvm-nm/llvm-nm.cpp +++ b/llvm/tools/llvm-nm/llvm-nm.cpp @@ -16,6 +16,7 @@ // //===----------------------------------------------------------------------===// +#include "llvm/LLVMContext.h" #include "llvm/Module.h" #include "llvm/Bitcode/ReaderWriter.h" #include "llvm/Bitcode/Archive.h" @@ -132,6 +133,7 @@ static void DumpSymbolNamesFromModule(Module *M) { } static void DumpSymbolNamesFromFile(std::string &Filename) { + LLVMContext Context; std::string ErrorMessage; sys::Path aPath(Filename); // Note: Currently we do not support reading an archive from stdin. @@ -140,7 +142,7 @@ static void DumpSymbolNamesFromFile(std::string &Filename) { MemoryBuffer::getFileOrSTDIN(Filename, &ErrorMessage)); Module *Result = 0; if (Buffer.get()) - Result = ParseBitcodeFile(Buffer.get(), &ErrorMessage); + Result = ParseBitcodeFile(Buffer.get(), &Context, &ErrorMessage); if (Result) DumpSymbolNamesFromModule(Result); @@ -151,7 +153,8 @@ static void DumpSymbolNamesFromFile(std::string &Filename) { } else if (aPath.isArchive()) { std::string ErrMsg; - Archive* archive = Archive::OpenAndLoad(sys::Path(Filename), &ErrorMessage); + Archive* archive = Archive::OpenAndLoad(sys::Path(Filename), &Context, + &ErrorMessage); if (!archive) std::cerr << ToolName << ": " << Filename << ": " << ErrorMessage << "\n"; std::vector<Module *> Modules; |

