[cfe-commits] r101940 - in /cfe/trunk: include/clang/Basic/SourceLocation.h include/clang/Frontend/TextDiagnosticPrinter.h lib/Basic/SourceManager.cpp lib/Frontend/TextDiagnosticPrinter.cpp

Chris Lattner sabre at nondot.org
Tue Apr 20 13:49:23 PDT 2010


Author: lattner
Date: Tue Apr 20 15:49:23 2010
New Revision: 101940

URL: http://llvm.org/viewvc/llvm-project?rev=101940&view=rev
Log:
change FullSourceLoc to have a *const* SourceManager&, eliminating
a const_cast.

Modified:
    cfe/trunk/include/clang/Basic/SourceLocation.h
    cfe/trunk/include/clang/Frontend/TextDiagnosticPrinter.h
    cfe/trunk/lib/Basic/SourceManager.cpp
    cfe/trunk/lib/Frontend/TextDiagnosticPrinter.cpp

Modified: cfe/trunk/include/clang/Basic/SourceLocation.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/SourceLocation.h?rev=101940&r1=101939&r2=101940&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/SourceLocation.h (original)
+++ cfe/trunk/include/clang/Basic/SourceLocation.h Tue Apr 20 15:49:23 2010
@@ -176,19 +176,14 @@
 /// FullSourceLoc - A SourceLocation and its associated SourceManager.  Useful
 /// for argument passing to functions that expect both objects.
 class FullSourceLoc : public SourceLocation {
-  SourceManager* SrcMgr;
+  const SourceManager *SrcMgr;
 public:
   /// Creates a FullSourceLoc where isValid() returns false.
-  explicit FullSourceLoc() : SrcMgr((SourceManager*) 0) {}
+  explicit FullSourceLoc() : SrcMgr(0) {}
 
-  explicit FullSourceLoc(SourceLocation Loc, SourceManager &SM)
+  explicit FullSourceLoc(SourceLocation Loc, const SourceManager &SM)
     : SourceLocation(Loc), SrcMgr(&SM) {}
 
-  SourceManager &getManager() {
-    assert(SrcMgr && "SourceManager is NULL.");
-    return *SrcMgr;
-  }
-
   const SourceManager &getManager() const {
     assert(SrcMgr && "SourceManager is NULL.");
     return *SrcMgr;

Modified: cfe/trunk/include/clang/Frontend/TextDiagnosticPrinter.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/TextDiagnosticPrinter.h?rev=101940&r1=101939&r2=101940&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/TextDiagnosticPrinter.h (original)
+++ cfe/trunk/include/clang/Frontend/TextDiagnosticPrinter.h Tue Apr 20 15:49:23 2010
@@ -68,7 +68,7 @@
 
   void EmitCaretDiagnostic(SourceLocation Loc,
                            SourceRange *Ranges, unsigned NumRanges,
-                           SourceManager &SM,
+                           const SourceManager &SM,
                            const FixItHint *Hints,
                            unsigned NumHints,
                            unsigned Columns);

Modified: cfe/trunk/lib/Basic/SourceManager.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/SourceManager.cpp?rev=101940&r1=101939&r2=101940&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/SourceManager.cpp (original)
+++ cfe/trunk/lib/Basic/SourceManager.cpp Tue Apr 20 15:49:23 2010
@@ -60,7 +60,7 @@
 }
 
 const llvm::MemoryBuffer *ContentCache::getBuffer(Diagnostic &Diag,
-                                                  const SourceManager &sm,
+                                                  const SourceManager &SM,
                                                   SourceLocation Loc,
                                                   bool *Invalid) const {
   if (Invalid)
@@ -68,9 +68,6 @@
       
   // Lazily create the Buffer for ContentCaches that wrap files.
   if (!Buffer.getPointer() && Entry) {
-    // FIXME:
-    SourceManager &SM = const_cast<SourceManager &>(sm);
-    
     std::string ErrorStr;
     struct stat FileInfo;
     Buffer.setPointer(MemoryBuffer::getFile(Entry->getName(), &ErrorStr,

Modified: cfe/trunk/lib/Frontend/TextDiagnosticPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/TextDiagnosticPrinter.cpp?rev=101940&r1=101939&r2=101940&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/TextDiagnosticPrinter.cpp (original)
+++ cfe/trunk/lib/Frontend/TextDiagnosticPrinter.cpp Tue Apr 20 15:49:23 2010
@@ -282,7 +282,7 @@
 void TextDiagnosticPrinter::EmitCaretDiagnostic(SourceLocation Loc,
                                                 SourceRange *Ranges,
                                                 unsigned NumRanges,
-                                                SourceManager &SM,
+                                                const SourceManager &SM,
                                                 const FixItHint *Hints,
                                                 unsigned NumHints,
                                                 unsigned Columns) {





More information about the cfe-commits mailing list