summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/include/clang/Basic/SourceManager.h10
-rw-r--r--clang/lib/Basic/SourceLocation.cpp2
-rw-r--r--clang/lib/Basic/SourceManager.cpp2
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());
}
OpenPOWER on IntegriCloud