aboutsummaryrefslogtreecommitdiff
path: root/lib/Serialization
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-11-06 00:35:04 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-11-06 00:35:04 +0000
commit23de7cedc7cf09bdbcebc25c9be99ca84c6be1f7 (patch)
tree61be1064b35b020e348f174d506b237637f5f92f /lib/Serialization
parent4f11234702bbf453c921328576043998f01fbe0a (diff)
[PCH] Take into account the 'include' source location of a SM_SLOC_BUFFER_ENTRY.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167426 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Serialization')
-rw-r--r--lib/Serialization/ASTReader.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp
index 22f5aedd40..783049e6f7 100644
--- a/lib/Serialization/ASTReader.cpp
+++ b/lib/Serialization/ASTReader.cpp
@@ -961,6 +961,7 @@ bool ASTReader::ReadSLocEntry(int ID) {
case SM_SLOC_BUFFER_ENTRY: {
const char *Name = BlobStart;
unsigned Offset = Record[0];
+ SourceLocation IncludeLoc = ReadSourceLocation(*F, Record[1]);
unsigned Code = SLocEntryCursor.ReadCode();
Record.clear();
unsigned RecCode
@@ -974,7 +975,8 @@ bool ASTReader::ReadSLocEntry(int ID) {
llvm::MemoryBuffer *Buffer
= llvm::MemoryBuffer::getMemBuffer(StringRef(BlobStart, BlobLen - 1),
Name);
- SourceMgr.createFileIDForMemBuffer(Buffer, ID, BaseOffset + Offset);
+ SourceMgr.createFileIDForMemBuffer(Buffer, ID, BaseOffset + Offset,
+ IncludeLoc);
break;
}