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 | |
| parent | 772c1a457474aa4dccf45df22d0517bcddc6e943 (diff) | |
| download | bcm5719-llvm-487d57602076cdb6d64a0e7931a5c01008adb7cb.tar.gz bcm5719-llvm-487d57602076cdb6d64a0e7931a5c01008adb7cb.zip | |
Fix ExplicitSymbols leak.
llvm-svn: 80589
| -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 669422c8427..6efab948fa7 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) |

