Simplify.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90091 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Frontend/TextDiagnosticBuffer.cpp b/lib/Frontend/TextDiagnosticBuffer.cpp
index 34bc3c7..07a281e 100644
--- a/lib/Frontend/TextDiagnosticBuffer.cpp
+++ b/lib/Frontend/TextDiagnosticBuffer.cpp
@@ -20,20 +20,19 @@
 ///
 void TextDiagnosticBuffer::HandleDiagnostic(Diagnostic::Level Level,
                                             const DiagnosticInfo &Info) {
-  llvm::SmallString<100> StrC;
-  Info.FormatDiagnostic(StrC);
-  std::string Str(StrC.begin(), StrC.end());
+  llvm::SmallString<100> Buf;
+  Info.FormatDiagnostic(Buf);
   switch (Level) {
   default: assert(0 && "Diagnostic not handled during diagnostic buffering!");
   case Diagnostic::Note:
-    Notes.push_back(std::make_pair(Info.getLocation(), Str));
+    Notes.push_back(std::make_pair(Info.getLocation(), Buf.str()));
     break;
   case Diagnostic::Warning:
-    Warnings.push_back(std::make_pair(Info.getLocation(), Str));
+    Warnings.push_back(std::make_pair(Info.getLocation(), Buf.str()));
     break;
   case Diagnostic::Error:
   case Diagnostic::Fatal:
-    Errors.push_back(std::make_pair(Info.getLocation(), Str));
+    Errors.push_back(std::make_pair(Info.getLocation(), Buf.str()));
     break;
   }
 }