summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2019-10-11 08:44:51 +0000
committerMartin Storsjo <martin@martin.st>2019-10-11 08:44:51 +0000
commit4778f40f782f4df6bdd0fb40e4c3fe8b5f3b571e (patch)
treeb40f657fe8d25652de2e2d1d8e40a651d9eedc2b
parent423c2e98e4e4c78c72f835fe6e59047419044425 (diff)
downloadbcm5719-llvm-4778f40f782f4df6bdd0fb40e4c3fe8b5f3b571e.tar.gz
bcm5719-llvm-4778f40f782f4df6bdd0fb40e4c3fe8b5f3b571e.zip
[LLDB] [Driver] Use llvm::InitLLVM to do unicode argument conversion on Windows
This avoids the currently MSVC specific codepath of using the wchar entry point and converting that to utf8. Differential Revision: https://reviews.llvm.org/D68770 llvm-svn: 374526
-rw-r--r--lldb/tools/driver/Driver.cpp20
1 files changed, 3 insertions, 17 deletions
diff --git a/lldb/tools/driver/Driver.cpp b/lldb/tools/driver/Driver.cpp
index 661c10a7b35..4a403a7ffb4 100644
--- a/lldb/tools/driver/Driver.cpp
+++ b/lldb/tools/driver/Driver.cpp
@@ -19,8 +19,8 @@
#include "lldb/API/SBStringList.h"
#include "llvm/ADT/StringRef.h"
-#include "llvm/Support/ConvertUTF.h"
#include "llvm/Support/Format.h"
+#include "llvm/Support/InitLLVM.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/PrettyStackTrace.h"
#include "llvm/Support/Process.h"
@@ -807,23 +807,9 @@ llvm::Optional<int> InitializeReproducer(opt::InputArgList &input_args) {
return llvm::None;
}
-int
-#ifdef _MSC_VER
-wmain(int argc, wchar_t const *wargv[])
-#else
-main(int argc, char const *argv[])
-#endif
+int main(int argc, char const *argv[])
{
-#ifdef _MSC_VER
- // Convert wide arguments to UTF-8
- std::vector<std::string> argvStrings(argc);
- std::vector<const char *> argvPointers(argc);
- for (int i = 0; i != argc; ++i) {
- llvm::convertWideToUTF8(wargv[i], argvStrings[i]);
- argvPointers[i] = argvStrings[i].c_str();
- }
- const char **argv = argvPointers.data();
-#endif
+ llvm::InitLLVM IL(argc, argv);
// Print stack trace on crash.
llvm::StringRef ToolName = llvm::sys::path::filename(argv[0]);
OpenPOWER on IntegriCloud