summaryrefslogtreecommitdiffstats
path: root/llvm/lib/System/DynamicLibrary.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-03-12 00:50:01 +0000
committerChris Lattner <sabre@nondot.org>2008-03-12 00:50:01 +0000
commit1f49988a7afc697828fc318daeed8f287bdeca69 (patch)
tree995c6829f89cd832722ab586acb4c63fb4d0f7d8 /llvm/lib/System/DynamicLibrary.cpp
parent0d98256c05bfcb3b1d5629fab9bc174dd03e82af (diff)
downloadbcm5719-llvm-1f49988a7afc697828fc318daeed8f287bdeca69.tar.gz
bcm5719-llvm-1f49988a7afc697828fc318daeed8f287bdeca69.zip
This is a simple fix for getting error messages from dlerror in
LoadLibraryPermanently. The current code modifies the value of a pointer that is passed by value, so the caller never gets the message. Patch by Julien Lerouge! llvm-svn: 48270
Diffstat (limited to 'llvm/lib/System/DynamicLibrary.cpp')
-rw-r--r--llvm/lib/System/DynamicLibrary.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/System/DynamicLibrary.cpp b/llvm/lib/System/DynamicLibrary.cpp
index 9c52c8a18cd..bdbcbd406fd 100644
--- a/llvm/lib/System/DynamicLibrary.cpp
+++ b/llvm/lib/System/DynamicLibrary.cpp
@@ -63,7 +63,8 @@ bool DynamicLibrary::LoadLibraryPermanently(const char *Filename,
std::string *ErrMsg) {
void *H = dlopen(Filename, RTLD_LAZY);
if (H == 0) {
- ErrMsg = new std::string(dlerror());
+ if (ErrMsg)
+ *ErrMsg = dlerror();
return true;
}
OpenedHandles.push_back(H);
OpenPOWER on IntegriCloud