diff --git a/lib/System/DynamicLibrary.cpp b/lib/System/DynamicLibrary.cpp index 669422c8427..6efab948fa7 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 *ExplicitSymbols = 0; +static struct ExplicitSymbolsDeleter { + ~ExplicitSymbolsDeleter() { + if (ExplicitSymbols) + delete ExplicitSymbols; + } +} Dummy; + void llvm::sys::DynamicLibrary::AddSymbol(const char* symbolName, void *symbolValue) { if (ExplicitSymbols == 0)