cleanups and simplifications.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59491 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/PathDiagnostic.cpp b/lib/Analysis/PathDiagnostic.cpp
index 4c34953..971e751 100644
--- a/lib/Analysis/PathDiagnostic.cpp
+++ b/lib/Analysis/PathDiagnostic.cpp
@@ -33,22 +33,18 @@
   
   PathDiagnostic* D = new PathDiagnostic();
   
-  std::ostringstream os;
-  
+  const char *LevelStr;
   switch (DiagLevel) {
-    default: assert(0 && "Unknown diagnostic type!");
-    case Diagnostic::Note:    os << "note: "; break;
-    case Diagnostic::Warning: os << "warning: "; break;
-    case Diagnostic::Error:   os << "error: "; break;
-    case Diagnostic::Fatal:   os << "fatal error: "; break;
-      break;
+  default: assert(0 && "Unknown diagnostic type!");
+  case Diagnostic::Note:    LevelStr = "note: "; break;
+  case Diagnostic::Warning: LevelStr = "warning: "; break;
+  case Diagnostic::Error:   LevelStr = "error: "; break;
+  case Diagnostic::Fatal:   LevelStr = "fatal error: "; break;
   }
 
   std::string Msg = FormatDiagnostic(Diags, DiagLevel, ID, Strs, NumStrs);
   
-  os << Msg;
-  
-  PathDiagnosticPiece* P = new PathDiagnosticPiece(Pos, os.str());
+  PathDiagnosticPiece* P = new PathDiagnosticPiece(Pos, LevelStr+Msg);
   
   while (NumRanges) {
     P->addRange(*Ranges);