From 744f816bc1a36ba04af28992208f8bc78a25ae9e Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Fri, 10 Jan 2014 10:38:40 +0000 Subject: lli: Tweak CacheName not to contain DOS driveletter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198929 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/lli/lli.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp index 963e93e2bf..3766f8c0ca 100644 --- a/tools/lli/lli.cpp +++ b/tools/lli/lli.cpp @@ -304,7 +304,15 @@ private: size_t PrefixLength = Prefix.length(); if (ModID.substr(0, PrefixLength) != Prefix) return false; - CacheName = CacheDir + ModID.substr(PrefixLength); + std::string CacheSubdir = ModID.substr(PrefixLength); +#if defined(_WIN32) + // Transform "X:\foo" => "/X\foo" for convenience. + if (isalpha(CacheSubdir[0]) && CacheSubdir[1] == ':') { + CacheSubdir[1] = CacheSubdir[0]; + CacheSubdir[0] = '/'; + } +#endif + CacheName = CacheDir + CacheSubdir; size_t pos = CacheName.rfind('.'); CacheName.replace(pos, CacheName.length() - pos, ".o"); return true; -- cgit v1.2.3