summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Windows/DynamicLibrary.inc
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2013-10-07 01:00:07 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2013-10-07 01:00:07 +0000
commit61eae2e30c71a10d71cff5463d7c6a5b9a67f64c (patch)
tree6bc227fd76c4f4ee9602c08253030c6f01754ee3 /llvm/lib/Support/Windows/DynamicLibrary.inc
parenta7afa71494c486a6ec165b5f1c32a85d518a9c9f (diff)
downloadbcm5719-llvm-61eae2e30c71a10d71cff5463d7c6a5b9a67f64c.tar.gz
bcm5719-llvm-61eae2e30c71a10d71cff5463d7c6a5b9a67f64c.zip
Revert "Revert "Windows: Add support for unicode command lines""
This reverts commit r192070 which reverted r192069, I forgot to regenerate the configure scripts. llvm-svn: 192079
Diffstat (limited to 'llvm/lib/Support/Windows/DynamicLibrary.inc')
-rw-r--r--llvm/lib/Support/Windows/DynamicLibrary.inc9
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/Support/Windows/DynamicLibrary.inc b/llvm/lib/Support/Windows/DynamicLibrary.inc
index 2edaf74fa56..5a7b21920a9 100644
--- a/llvm/lib/Support/Windows/DynamicLibrary.inc
+++ b/llvm/lib/Support/Windows/DynamicLibrary.inc
@@ -83,8 +83,15 @@ DynamicLibrary DynamicLibrary::getPermanentLibrary(const char *filename,
// This is mostly to ensure that the return value still shows up as "valid".
return DynamicLibrary(&OpenedHandles);
}
+
+ SmallVector<wchar_t, MAX_PATH> filenameUnicode;
+ if (error_code ec = windows::UTF8ToUTF16(filename, filenameUnicode)) {
+ SetLastError(ec.value());
+ MakeErrMsg(errMsg, std::string(filename) + ": Can't convert to UTF-16: ");
+ return DynamicLibrary();
+ }
- HMODULE a_handle = LoadLibrary(filename);
+ HMODULE a_handle = LoadLibraryW(filenameUnicode.data());
if (a_handle == 0) {
MakeErrMsg(errMsg, std::string(filename) + ": Can't open : ");
OpenPOWER on IntegriCloud