More #include cleaning
 - Drop Diagnostic.h from DeclSpec.h, move utility Diag methods into
   implementation .cpp


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54626 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/DeclSpec.cpp b/lib/Parse/DeclSpec.cpp
index d97dcfa..5c26ec6 100644
--- a/lib/Parse/DeclSpec.cpp
+++ b/lib/Parse/DeclSpec.cpp
@@ -12,6 +12,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "clang/Parse/DeclSpec.h"
+#include "clang/Basic/Diagnostic.h"
 #include "clang/Basic/LangOptions.h"
 #include "clang/Basic/SourceLocation.h"
 using namespace clang;
@@ -288,3 +289,13 @@
   
   // 'data definition has no type or storage class'?
 }
+
+void DeclSpec::Diag(Diagnostic &D, SourceLocation Loc, SourceManager& SrcMgr, 
+                    unsigned DiagID) {
+  D.Report(FullSourceLoc(Loc,SrcMgr), DiagID);
+}
+  
+void DeclSpec::Diag(Diagnostic &D, SourceLocation Loc, SourceManager& SrcMgr,
+          unsigned DiagID, const std::string &info) {
+  D.Report(FullSourceLoc(Loc,SrcMgr), DiagID, &info, 1);
+}