diff options
-rw-r--r-- | clang/include/clang/Basic/SourceManager.h | 10 | ||||
-rw-r--r-- | clang/lib/Basic/SourceLocation.cpp | 2 | ||||
-rw-r--r-- | clang/lib/Basic/SourceManager.cpp | 2 |
3 files changed, 4 insertions, 10 deletions
diff --git a/clang/include/clang/Basic/SourceManager.h b/clang/include/clang/Basic/SourceManager.h index 629d8ca574c..c3c1a696313 100644 --- a/clang/include/clang/Basic/SourceManager.h +++ b/clang/include/clang/Basic/SourceManager.h @@ -286,7 +286,7 @@ public: /// being #included from the specified IncludePosition. This returns 0 on /// error and translates NULL into standard input. FileID createFileID(const FileEntry *SourceFile, SourceLocation IncludePos, - SrcMgr::CharacteristicKind FileCharacter) { + SrcMgr::CharacteristicKind FileCharacter) { const SrcMgr::ContentCache *IR = getContentCache(SourceFile); if (IR == 0) return FileID(); // Error opening file? return createFileID(IR, IncludePos, FileCharacter); @@ -294,8 +294,7 @@ public: /// createMainFileID - Create the FileID for the main source file. FileID createMainFileID(const FileEntry *SourceFile, - SourceLocation IncludePos) { - + SourceLocation IncludePos) { assert(MainFileID.isInvalid() && "MainFileID already set!"); MainFileID = createFileID(SourceFile, IncludePos, SrcMgr::C_User); return MainFileID; @@ -335,11 +334,6 @@ public: return getContentCache(FID)->getBuffer(); } - const llvm::MemoryBuffer *getBuffer(SourceLocation Loc) const { - return getContentCacheForLoc(Loc)->getBuffer(); - } - - /// getBufferData - Return a pointer to the start and end of the character /// data for the specified FileID. std::pair<const char*, const char*> getBufferData(SourceLocation Loc) const; diff --git a/clang/lib/Basic/SourceLocation.cpp b/clang/lib/Basic/SourceLocation.cpp index dcfd547eec4..1f5804ff9ca 100644 --- a/clang/lib/Basic/SourceLocation.cpp +++ b/clang/lib/Basic/SourceLocation.cpp @@ -111,7 +111,7 @@ const char *FullSourceLoc::getCharacterData() const { const llvm::MemoryBuffer* FullSourceLoc::getBuffer() const { assert(isValid()); - return SrcMgr->getBuffer(*this); + return SrcMgr->getBuffer(SrcMgr->getCanonicalFileID(*this)); } void FullSourceLoc::dump() const { diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp index f793c978ccb..b053b160e1c 100644 --- a/clang/lib/Basic/SourceManager.cpp +++ b/clang/lib/Basic/SourceManager.cpp @@ -184,7 +184,7 @@ SourceLocation SourceManager::getInstantiationLoc(SourceLocation SpellingLoc, /// data for the specified location. std::pair<const char*, const char*> SourceManager::getBufferData(SourceLocation Loc) const { - const llvm::MemoryBuffer *Buf = getBuffer(Loc); + const llvm::MemoryBuffer *Buf = getBuffer(getCanonicalFileID(Loc)); return std::make_pair(Buf->getBufferStart(), Buf->getBufferEnd()); } |