Add Diagnostic files for Frontend and move a couple errors over.
 - Notably, clang now exits with an error if it can't find a
   file. This flushed out a bug in the CGColorSpace.c test case. :)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66789 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index c4145c0..a0195c6 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -25,8 +25,9 @@
 #include "clang.h"
 #include "ASTConsumers.h"
 #include "clang/Frontend/CompileOptions.h"
-#include "clang/Frontend/PathDiagnosticClients.h"
+#include "clang/Frontend/FrontendDiagnostic.h"
 #include "clang/Frontend/InitHeaderSearch.h"
+#include "clang/Frontend/PathDiagnosticClients.h"
 #include "clang/Frontend/TextDiagnosticBuffer.h"
 #include "clang/Frontend/TextDiagnosticPrinter.h"
 #include "clang/Analysis/PathDiagnostic.h"
@@ -857,14 +858,16 @@
       const FileEntry *File = FileMgr.getFile(InFile);
       if (File) SourceMgr.createMainFileID(File, SourceLocation());
       if (SourceMgr.getMainFileID().isInvalid()) {
-        fprintf(stderr, "Error reading '%s'!\n",InFile.c_str());
+        PP.getDiagnostics().Report(FullSourceLoc(), diag::err_fe_error_reading) 
+          << InFile.c_str();
         return true;
       }
     } else {
       llvm::MemoryBuffer *SB = llvm::MemoryBuffer::getSTDIN();
       if (SB) SourceMgr.createMainFileIDForMemBuffer(SB);
       if (SourceMgr.getMainFileID().isInvalid()) {
-        fprintf(stderr, "Error reading standard input!  Empty?\n");
+        PP.getDiagnostics().Report(FullSourceLoc(), 
+                                   diag::err_fe_error_reading_stdin);
         return true;
       }
     }
@@ -1525,9 +1528,8 @@
   llvm::OwningPtr<TargetInfo> Target(TargetInfo::CreateTargetInfo(Triple));
   
   if (Target == 0) {
-    fprintf(stderr, "Sorry, I don't know what target this is: %s\n",
-            Triple.c_str());
-    fprintf(stderr, "Please use -triple or -arch.\n");
+    Diags.Report(FullSourceLoc(), diag::err_fe_unknown_triple) 
+      << Triple.c_str();
     return 1;
   }