summaryrefslogtreecommitdiff
path: root/tools/llvm-symbolizer
diff options
context:
space:
mode:
authorNAKAMURA Takumi <geek4civic@gmail.com>2013-07-01 09:51:42 +0000
committerNAKAMURA Takumi <geek4civic@gmail.com>2013-07-01 09:51:42 +0000
commitd212db0cac7a7d0d58ba09369808a408fa8da5c1 (patch)
tree7394d9b16f95679f6a36c163d9a4b8923bd5699b /tools/llvm-symbolizer
parentf04f8b4f779919de0b3bccef2144d965ac51d35f (diff)
downloadllvm-d212db0cac7a7d0d58ba09369808a408fa8da5c1.tar.gz
llvm-d212db0cac7a7d0d58ba09369808a408fa8da5c1.tar.bz2
llvm-d212db0cac7a7d0d58ba09369808a408fa8da5c1.tar.xz
llvm-symbolizer: Recognize a drive letter on win32. Then "REQUIRES: shell" can be removed.
FIXME: Could we use llvm::sys::Path here? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185322 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-symbolizer')
-rw-r--r--tools/llvm-symbolizer/LLVMSymbolize.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/llvm-symbolizer/LLVMSymbolize.cpp b/tools/llvm-symbolizer/LLVMSymbolize.cpp
index 57f34c2472..1945d689de 100644
--- a/tools/llvm-symbolizer/LLVMSymbolize.cpp
+++ b/tools/llvm-symbolizer/LLVMSymbolize.cpp
@@ -279,6 +279,11 @@ LLVMSymbolizer::getOrCreateModuleInfo(const std::string &ModuleName) {
std::string BinaryName = ModuleName;
std::string ArchName = Opts.DefaultArch;
size_t ColonPos = ModuleName.find(':');
+#if defined(_WIN32)
+ // Recognize a drive letter on win32.
+ if (ColonPos == 1 && isalpha(ModuleName[0]))
+ ColonPos = ModuleName.find(':', 2);
+#endif
if (ColonPos != std::string::npos) {
BinaryName = ModuleName.substr(0, ColonPos);
ArchName = ModuleName.substr(ColonPos + 1);