diff options
| author | Chris Lattner <sabre@nondot.org> | 2008-04-01 03:40:53 +0000 | 
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2008-04-01 03:40:53 +0000 | 
| commit | bcfa564759423f40be305124bb6ad88b531f69ae (patch) | |
| tree | a3d5ca0234d75ab971fefb75bda397a5b2a224c6 | |
| parent | 314a1414d03aa3fcad6f2a0613f6b80dd5ee2bfd (diff) | |
| download | bcm5719-llvm-bcfa564759423f40be305124bb6ad88b531f69ae.tar.gz bcm5719-llvm-bcfa564759423f40be305124bb6ad88b531f69ae.zip  | |
Remove the MappedFile::charBase member, rename base -> getBase() and
make getBase() return a const-correct pointer.
llvm-svn: 49025
| -rw-r--r-- | llvm/include/llvm/System/MappedFile.h | 16 | ||||
| -rw-r--r-- | llvm/lib/Debugger/SourceFile.cpp | 8 | ||||
| -rw-r--r-- | llvm/lib/Support/MemoryBuffer.cpp | 7 | 
3 files changed, 11 insertions, 20 deletions
diff --git a/llvm/include/llvm/System/MappedFile.h b/llvm/include/llvm/System/MappedFile.h index 82ed8403320..c46491ee7da 100644 --- a/llvm/include/llvm/System/MappedFile.h +++ b/llvm/include/llvm/System/MappedFile.h @@ -25,7 +25,7 @@ namespace sys {    /// This class provides an abstraction for a memory mapped file in the    /// operating system's filesystem. It provides platform independent operations -  /// for mapping a file into memory for both read access. +  /// for mapping a file into memory for read access.    class MappedFile {      sys::PathWithStatus Path;        ///< Path to the file.      void *BasePtr;                   ///< Pointer to the base memory address @@ -44,19 +44,9 @@ namespace sys {      /// This function determines if the file is currently mapped or not.      bool isMapped() const { return BasePtr != 0; } -    /// This function returns a void* pointer to the base address of the file +    /// getBase - Returns a const void* pointer to the base address of the file      /// mapping. This is the memory address of the first byte in the file. -    /// Note that although a non-const pointer is returned, the memory might -    /// not actually be writable, depending on the MappingOptions used when -    /// the MappedFile was opened. -    void* base() const { return BasePtr; } - -    /// This function returns a char* pointer to the base address of the file -    /// mapping. This is the memory address of the first byte in the file. -    /// Note that although a non-const pointer is returned, the memory might -    /// not actually be writable, depending on the MappingOptions used when -    /// the MappedFile was opened. -    char* charBase() const { return reinterpret_cast<char*>(BasePtr); } +    const void *getBase() const { return BasePtr; }      /// This function returns a reference to the sys::Path object kept by the      /// MappedFile object. This contains the path to the file that is or diff --git a/llvm/lib/Debugger/SourceFile.cpp b/llvm/lib/Debugger/SourceFile.cpp index 820fc67f846..75248cd10da 100644 --- a/llvm/lib/Debugger/SourceFile.cpp +++ b/llvm/lib/Debugger/SourceFile.cpp @@ -28,7 +28,7 @@ void SourceFile::readFile() {  ///  void SourceFile::calculateLineOffsets() const {    assert(LineOffset.empty() && "Line offsets already computed!"); -  const char *BufPtr = File.charBase(); +  const char *BufPtr = (const char *)File.getBase();    const char *FileStart = BufPtr;    const char *FileEnd = FileStart + File.size();    do { @@ -61,12 +61,12 @@ void SourceFile::getSourceLine(unsigned LineNo, const char *&LineStart,    if (LineNo >= LineOffset.size()) return;    // Otherwise, they are asking for a valid line, which we can fulfill. -  LineStart = File.charBase()+LineOffset[LineNo]; +  LineStart = (const char *)File.getBase()+LineOffset[LineNo];    if (LineNo+1 < LineOffset.size()) -    LineEnd = File.charBase()+LineOffset[LineNo+1]; +    LineEnd = (const char *)File.getBase()+LineOffset[LineNo+1];    else -    LineEnd = File.charBase() + File.size(); +    LineEnd = (const char *)File.getBase() + File.size();    // If the line ended with a newline, strip it off.    while (LineEnd != LineStart && (LineEnd[-1] == '\n' || LineEnd[-1] == '\r')) diff --git a/llvm/lib/Support/MemoryBuffer.cpp b/llvm/lib/Support/MemoryBuffer.cpp index 8cea07fdb54..185008402c3 100644 --- a/llvm/lib/Support/MemoryBuffer.cpp +++ b/llvm/lib/Support/MemoryBuffer.cpp @@ -173,11 +173,12 @@ bool MemoryBufferMMapFile::open(const sys::Path &Filename,    // If this file is not an exact multiple of the system page size (common    // case), then the OS has zero terminated the buffer for us. -  if ((Size & (PageSize-1))) { -    init(File.charBase(), File.charBase()+Size); +  const char *FileBase = static_cast<const char*>(File.getBase()); +  if ((Size & (PageSize-1)) != 0) { +    init(FileBase, FileBase+Size);    } else {      // Otherwise, we allocate a new memory buffer and copy the data over -    initCopyOf(File.charBase(), File.charBase()+Size); +    initCopyOf(FileBase, FileBase+Size);      // No need to keep the file mapped any longer.      File.unmap();  | 

