Revert "Honour 'use-external-names' in FileManager"

Revert r202442, which broke the buildbots.

llvm-svn: 202443
diff --git a/clang/lib/Basic/VirtualFileSystem.cpp b/clang/lib/Basic/VirtualFileSystem.cpp
index d4845e6..f6d88c18 100644
--- a/clang/lib/Basic/VirtualFileSystem.cpp
+++ b/clang/lib/Basic/VirtualFileSystem.cpp
@@ -83,7 +83,6 @@
 /// \brief Wrapper around a raw file descriptor.
 class RealFile : public File {
   int FD;
-  Status S;
   friend class RealFileSystem;
   RealFile(int FD) : FD(FD) {
     assert(FD >= 0 && "Invalid or inactive file descriptor");
@@ -96,21 +95,15 @@
                        int64_t FileSize = -1,
                        bool RequiresNullTerminator = true) LLVM_OVERRIDE;
   error_code close() LLVM_OVERRIDE;
-  void setName(StringRef Name) LLVM_OVERRIDE;
 };
 RealFile::~RealFile() { close(); }
 
 ErrorOr<Status> RealFile::status() {
   assert(FD != -1 && "cannot stat closed file");
-  if (!S.isStatusKnown()) {
-    file_status RealStatus;
-    if (error_code EC = sys::fs::status(FD, RealStatus))
-      return EC;
-    Status NewS(RealStatus);
-    NewS.setName(S.getName());
-    S = llvm_move(NewS);
-  }
-  return S;
+  file_status RealStatus;
+  if (error_code EC = sys::fs::status(FD, RealStatus))
+    return EC;
+  return Status(RealStatus);
 }
 
 error_code RealFile::getBuffer(const Twine &Name,
@@ -138,10 +131,6 @@
   return error_code::success();
 }
 
-void RealFile::setName(StringRef Name) {
-  S.setName(Name);
-}
-
 /// \brief The file system according to your operating system.
 class RealFileSystem : public FileSystem {
 public:
@@ -165,7 +154,6 @@
   if (error_code EC = sys::fs::openFileForRead(Name, FD))
     return EC;
   Result.reset(new RealFile(FD));
-  Result->setName(Name.str());
   return error_code::success();
 }
 
@@ -279,10 +267,7 @@
         UseName(UseName) {}
   StringRef getExternalContentsPath() const { return ExternalContentsPath; }
   /// \brief whether to use the external path as the name for this file.
-  bool useExternalName(bool GlobalUseExternalName) const {
-    return UseName == NK_NotSet ? GlobalUseExternalName
-                                : (UseName == NK_External);
-  }
+  NameKind useName() const { return UseName; }
   static bool classof(const Entry *E) { return E->getKind() == EK_File; }
 };
 
@@ -785,7 +770,8 @@
   if (FileEntry *F = dyn_cast<FileEntry>(*Result)) {
     ErrorOr<Status> S = ExternalFS->status(F->getExternalContentsPath());
     assert(!S || S->getName() == F->getExternalContentsPath());
-    if (S && !F->useExternalName(UseExternalNames))
+    if (S && (F->useName() == FileEntry::NK_Virtual ||
+              (F->useName() == FileEntry::NK_NotSet && !UseExternalNames)))
       S->setName(PathStr);
     return S;
   } else { // directory
@@ -806,14 +792,7 @@
   if (!F) // FIXME: errc::not_a_file?
     return error_code(errc::invalid_argument, system_category());
 
-  if (error_code EC = ExternalFS->openFileForRead(F->getExternalContentsPath(),
-                                                  Result))
-    return EC;
-
-  if (!F->useExternalName(UseExternalNames))
-    Result->setName(Path.str());
-
-  return error_code::success();
+  return ExternalFS->openFileForRead(F->getExternalContentsPath(), Result);
 }
 
 IntrusiveRefCntPtr<FileSystem>