mirror of https://github.com/microsoft/clang.git
[analyzer] Fix scan-build to handle missing output directories.
Cwd::abs_path has a somewhat tricky semantics: if it's operand directory does not exist, it'll return undefined (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=257568). This may cause scan-build to silently ignore output directory (specified with -o) and use /tmp instead of trying to create directory. This tiny patch fixes the problem. A patch by Yury Gribov! Differential Revision: http://reviews.llvm.org/D14535 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252797 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
6f286e5ce1
commit
58ac3983f9
|
@ -1478,7 +1478,9 @@ sub ProcessArgs {
|
|||
|
||||
# Construct an absolute path. Uses the current working directory
|
||||
# as a base if the original path was not absolute.
|
||||
$Options{OutputDir} = abs_path(shift @$Args);
|
||||
my $OutDir = shift @$Args;
|
||||
mkpath($OutDir) unless (-e $OutDir); # abs_path wants existing dir
|
||||
$Options{OutputDir} = abs_path($OutDir);
|
||||
|
||||
next;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue