getOriginalSourceFileName and getOriginalSourceFile can return a StringRef.
MaybeAddSystemRootToFilename doesn't need to return anything, it modifies
its argument.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166988 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang/Frontend/ASTUnit.h b/include/clang/Frontend/ASTUnit.h
index 065fc44..fc27bb9 100644
--- a/include/clang/Frontend/ASTUnit.h
+++ b/include/clang/Frontend/ASTUnit.h
@@ -467,7 +467,7 @@
 
   const FileSystemOptions &getFileSystemOpts() const { return FileSystemOpts; }
 
-  const std::string &getOriginalSourceFileName() {
+  const StringRef getOriginalSourceFileName() {
     return OriginalSourceFile;
   }
 
diff --git a/include/clang/Serialization/ASTReader.h b/include/clang/Serialization/ASTReader.h
index 36eae76..c0d93c3 100644
--- a/include/clang/Serialization/ASTReader.h
+++ b/include/clang/Serialization/ASTReader.h
@@ -900,7 +900,7 @@
   /// into account all the necessary relocations.
   const FileEntry *getFileEntry(StringRef filename);
 
-  StringRef MaybeAddSystemRootToFilename(ModuleFile &M, std::string &Filename);
+  void MaybeAddSystemRootToFilename(ModuleFile &M, std::string &Filename);
 
   ASTReadResult ReadASTCore(StringRef FileName, ModuleKind Type,
                             ModuleFile *ImportedBy,
@@ -1163,7 +1163,7 @@
 
   /// \brief Retrieve the name of the original source file name for the primary
   /// module file.
-  const std::string &getOriginalSourceFile() { 
+  StringRef getOriginalSourceFile() {
     return ModuleMgr.getPrimaryModule().OriginalSourceFileName; 
   }
 
diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp
index 4857856..874d2c4 100644
--- a/lib/Serialization/ASTReader.cpp
+++ b/lib/Serialization/ASTReader.cpp
@@ -1679,19 +1679,19 @@
 /// \brief If we are loading a relocatable PCH file, and the filename is
 /// not an absolute path, add the system root to the beginning of the file
 /// name.
-StringRef ASTReader::MaybeAddSystemRootToFilename(ModuleFile &M, 
-                                                  std::string &Filename) {
+void ASTReader::MaybeAddSystemRootToFilename(ModuleFile &M,
+                                             std::string &Filename) {
   // If this is not a relocatable PCH file, there's nothing to do.
   if (!M.RelocatablePCH)
-    return Filename;
+    return;
 
   if (Filename.empty() || llvm::sys::path::is_absolute(Filename))
-    return Filename;
+    return;
 
   if (isysroot.empty()) {
     // If no system root was given, default to '/'
     Filename.insert(Filename.begin(), '/');
-    return Filename;
+    return;
   }
 
   unsigned Length = isysroot.size();
@@ -1699,7 +1699,6 @@
     Filename.insert(Filename.begin(), '/');
 
   Filename.insert(Filename.begin(), isysroot.begin(), isysroot.end());
-  return Filename;
 }
 
 ASTReader::ASTReadResult