diff options
author | Edwin Török <edwintorok@gmail.com> | 2009-08-31 16:12:29 +0000 |
---|---|---|
committer | Edwin Török <edwintorok@gmail.com> | 2009-08-31 16:12:29 +0000 |
commit | 6d5f43b77a907a2b42ff405ab16e078c6598c70e (patch) | |
tree | a79562877900ae7b2939d074e4748716dd9003db /lib | |
parent | b759ebc5bc48ee93a9f4b031ec6ed3247028d77c (diff) | |
download | external_llvm-6d5f43b77a907a2b42ff405ab16e078c6598c70e.zip external_llvm-6d5f43b77a907a2b42ff405ab16e078c6598c70e.tar.gz external_llvm-6d5f43b77a907a2b42ff405ab16e078c6598c70e.tar.bz2 |
Fix ExplicitSymbols leak.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80589 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/System/DynamicLibrary.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/System/DynamicLibrary.cpp b/lib/System/DynamicLibrary.cpp index 669422c..6efab94 100644 --- a/lib/System/DynamicLibrary.cpp +++ b/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) |