summaryrefslogtreecommitdiff
path: root/lib/Tooling/Refactoring.cpp
diff options
context:
space:
mode:
authorAriel J. Bernal <ariel.j.bernal@intel.com>2013-10-18 19:48:31 +0000
committerAriel J. Bernal <ariel.j.bernal@intel.com>2013-10-18 19:48:31 +0000
commit19b60a524c53ada17a31b5c9a96c7885ca48c825 (patch)
tree65084d0b4faabfadcfcd2c16b0e16dc7764b38e2 /lib/Tooling/Refactoring.cpp
parentbe63ab6612b250972ae528ae910e5fa64f9c5731 (diff)
downloadclang-19b60a524c53ada17a31b5c9a96c7885ca48c825.tar.gz
Reverted r192992 broke windows and freebsd builds.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192997 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Tooling/Refactoring.cpp')
-rw-r--r--lib/Tooling/Refactoring.cpp14
1 files changed, 4 insertions, 10 deletions
diff --git a/lib/Tooling/Refactoring.cpp b/lib/Tooling/Refactoring.cpp
index 175dbd42ac..9e58db0f48 100644
--- a/lib/Tooling/Refactoring.cpp
+++ b/lib/Tooling/Refactoring.cpp
@@ -107,16 +107,10 @@ void Replacement::setFromSourceLocation(SourceManager &Sources,
const FileEntry *Entry = Sources.getFileEntryForID(DecomposedLocation.first);
if (Entry != NULL) {
// Make FilePath absolute so replacements can be applied correctly when
- // relative paths for files are used. But we don't want to change virtual
- // files.
- if (llvm::sys::fs::exists(Entry->getName())) {
- llvm::SmallString<256> FilePath(Entry->getName());
- llvm::sys::fs::make_absolute(FilePath);
- this->FilePath = FilePath.c_str();
- }
- else {
- this->FilePath = Entry->getName();
- }
+ // relative paths for files are used.
+ llvm::SmallString<256> FilePath(Entry->getName());
+ llvm::error_code EC = llvm::sys::fs::make_absolute(FilePath);
+ this->FilePath = EC ? FilePath.c_str() : Entry->getName();
} else {
this->FilePath = InvalidLocation;
}