aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/System/DynamicLibrary.cpp
diff options
context:
space:
mode:
authorTorok Edwin <edwintorok@gmail.com>2009-08-31 16:12:29 +0000
committerTorok Edwin <edwintorok@gmail.com>2009-08-31 16:12:29 +0000
commit487d57602076cdb6d64a0e7931a5c01008adb7cb (patch)
tree5e05d3981a956db4b2db779509d00e73ddc91945 /llvm/lib/System/DynamicLibrary.cpp
parent772c1a457474aa4dccf45df22d0517bcddc6e943 (diff)
downloadllvm-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.cpp7
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)