From: Argyrios Kyrtzidis Date: Fri, 26 Oct 2012 20:09:24 +0000 (+0000) Subject: [driver] Before applying the working directory check if the input path X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c2c77c42efaf7a7c91be9428373ad8045a2d647c;p=platform%2Fupstream%2Fllvm.git [driver] Before applying the working directory check if the input path is absolute. llvm-svn: 166808 --- diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 31492a7..43e9e5d 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -1018,8 +1018,8 @@ void Driver::BuildInputs(const ToolChain &TC, const DerivedArgList &Args, if (CheckInputsExist && memcmp(Value, "-", 2) != 0) { SmallString<64> Path(Value); if (Arg *WorkDir = Args.getLastArg(options::OPT_working_directory)) { - SmallString<64> Directory(WorkDir->getValue(Args)); - if (llvm::sys::path::is_absolute(Directory.str())) { + if (!llvm::sys::path::is_absolute(Path.str())) { + SmallString<64> Directory(WorkDir->getValue(Args)); llvm::sys::path::append(Directory, Value); Path.assign(Directory); } diff --git a/clang/test/Driver/working-directory-and-abs.c b/clang/test/Driver/working-directory-and-abs.c new file mode 100644 index 0000000..6738c77 --- /dev/null +++ b/clang/test/Driver/working-directory-and-abs.c @@ -0,0 +1 @@ +// RUN: %clang -working-directory=%S %S/working-directory-and-abs.c -fsyntax-only