From 92ebab90fef301cca9d8e4455c41beaa23b5e5d0 Mon Sep 17 00:00:00 2001 From: John Thompson Date: Wed, 11 Nov 2009 23:11:14 +0000 Subject: [PATCH] Fix clang executable path for Windows llvm-svn: 86896 --- clang/tools/CIndex/CIndex.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/tools/CIndex/CIndex.cpp b/clang/tools/CIndex/CIndex.cpp index da73ae40a396..69cb52b48507 100644 --- a/clang/tools/CIndex/CIndex.cpp +++ b/clang/tools/CIndex/CIndex.cpp @@ -331,6 +331,11 @@ const llvm::sys::Path& CIndexer::getClangPath() { GetModuleFileNameA((HINSTANCE)mbi.AllocationBase, path, MAX_PATH); llvm::sys::Path CIndexPath(path); + + CIndexPath.eraseComponent(); + CIndexPath.appendComponent("clang"); + CIndexPath.appendSuffix("exe"); + CIndexPath.makeAbsolute(); #else // This silly cast below avoids a C++ warning. Dl_info info; @@ -338,13 +343,13 @@ const llvm::sys::Path& CIndexer::getClangPath() { assert(0 && "Call to dladdr() failed"); llvm::sys::Path CIndexPath(info.dli_fname); -#endif // We now have the CIndex directory, locate clang relative to it. CIndexPath.eraseComponent(); CIndexPath.eraseComponent(); CIndexPath.appendComponent("bin"); CIndexPath.appendComponent("clang"); +#endif // Cache our result. ClangPath = CIndexPath;