TargetInfo no longer includes a reference to SourceManager.

Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
Added many utility methods to FullSourceLoc to provide shorthand for:

    FullLoc.getManager().someMethod(FullLoc.getLocation());
    
instead we have:

    FullLoc.someMethod();
    
Modified TextDiagnostics (and related classes) to use this short-hand.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44957 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/TextDiagnosticPrinter.h b/Driver/TextDiagnosticPrinter.h
index 1f0a52c..4149c65 100644
--- a/Driver/TextDiagnosticPrinter.h
+++ b/Driver/TextDiagnosticPrinter.h
@@ -22,21 +22,22 @@
 class SourceManager;
 
 class TextDiagnosticPrinter : public TextDiagnostics {
-  SourceLocation LastWarningLoc;
+  FullSourceLoc LastWarningLoc;
 public:
   TextDiagnosticPrinter() {}
 
-  void PrintIncludeStack(SourceLocation Pos, SourceManager& SrcMgr);
+  void PrintIncludeStack(FullSourceLoc Pos);
+
   void HighlightRange(const SourceRange &R,
-                      SourceManager* SrcMgr,
+                      SourceManager& SrcMgr,
                       unsigned LineNo,
                       std::string &CaratLine,
                       const std::string &SourceLine);
 
-  virtual void HandleDiagnostic(Diagnostic &Diags, Diagnostic::Level DiagLevel,
-                                SourceLocation Pos,
+  virtual void HandleDiagnostic(Diagnostic &Diags,
+                                Diagnostic::Level DiagLevel,
+                                FullSourceLoc Pos,
                                 diag::kind ID,
-                                SourceManager* SrcMgr,
                                 const std::string *Strs,
                                 unsigned NumStrs,
                                 const SourceRange *Ranges,