diff options
author | Torok Edwin <edwintorok@gmail.com> | 2009-08-31 16:12:29 +0000 |
---|---|---|
committer | Torok Edwin <edwintorok@gmail.com> | 2009-08-31 16:12:29 +0000 |
commit | 487d57602076cdb6d64a0e7931a5c01008adb7cb (patch) | |
tree | 5e05d3981a956db4b2db779509d00e73ddc91945 /llvm/lib/System/DynamicLibrary.cpp | |
parent | 772c1a457474aa4dccf45df22d0517bcddc6e943 (diff) | |
download | llvm-487d57602076cdb6d64a0e7931a5c01008adb7cb.zip llvm-487d57602076cdb6d64a0e7931a5c01008adb7cb.tar.gz llvm-487d57602076cdb6d64a0e7931a5c01008adb7cb.tar.bz2 |
Fix ExplicitSymbols leak.
llvm-svn: 80589
Diffstat (limited to 'llvm/lib/System/DynamicLibrary.cpp')
-rw-r--r-- | llvm/lib/System/DynamicLibrary.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/System/DynamicLibrary.cpp b/llvm/lib/System/DynamicLibrary.cpp index 669422c..6efab94 100644 --- a/llvm/lib/System/DynamicLibrary.cpp +++ b/llvm/lib/System/DynamicLibrary.cpp @@ -25,6 +25,13 @@ // Collection of symbol name/value pairs to be searched prior to any libraries. static std::map<std::string, void*> *ExplicitSymbols = 0; +static struct ExplicitSymbolsDeleter { + ~ExplicitSymbolsDeleter() { + if (ExplicitSymbols) + delete ExplicitSymbols; + } +} Dummy; + void llvm::sys::DynamicLibrary::AddSymbol(const char* symbolName, void *symbolValue) { if (ExplicitSymbols == 0) |