aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorEdwin Török <edwintorok@gmail.com>2009-08-31 16:12:29 +0000
committerEdwin Török <edwintorok@gmail.com>2009-08-31 16:12:29 +0000
commit6d5f43b77a907a2b42ff405ab16e078c6598c70e (patch)
treea79562877900ae7b2939d074e4748716dd9003db /lib
parentb759ebc5bc48ee93a9f4b031ec6ed3247028d77c (diff)
downloadexternal_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.cpp7
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)