From 3c036e520e1fb19f2dd4fdcbc7e6881984dc72f9 Mon Sep 17 00:00:00 2001 From: Nick Lewycky Date: Fri, 29 Jul 2011 04:42:39 +0000 Subject: [PATCH] Teach Path::GetCurrentDirectory to use $PWD, to support users who like to do screwy things by setting PWD != getcwd(). For example, some developers I know will use this to control the value in gcc's DW_AT_comp_dir value in debug output. With this patch, that trick will now work on clang too. The only other effect of this change is that the static analysis will now respect $PWD when reporting the directory of the files in its HTML output. I think that's fine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136459 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/Unix/Path.inc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/Support/Unix/Path.inc b/lib/Support/Unix/Path.inc index f295b92e4a5..a139399cba3 100644 --- a/lib/Support/Unix/Path.inc +++ b/lib/Support/Unix/Path.inc @@ -251,9 +251,12 @@ Path::GetUserHomeDirectory() { Path Path::GetCurrentDirectory() { + if (char *pwd = getenv("PWD")) + return Path(pwd); + char pathname[MAXPATHLEN]; - if (!getcwd(pathname,MAXPATHLEN)) { - assert (false && "Could not query current working directory."); + if (!getcwd(pathname, MAXPATHLEN)) { + assert(false && "Could not query current working directory."); return Path(); }