diff options
author | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-10-01 19:59:12 +0000 |
---|---|---|
committer | Sebastian Redl <sebastian.redl@getdesigned.at> | 2010-10-01 19:59:12 +0000 |
commit | a866e652875c61f09ac29c2f44009ce9f2a25cf2 (patch) | |
tree | 1e99522797903fee810a98b94561f5c199854417 /lib/Serialization/ASTReader.cpp | |
parent | ae8f9fa5337236e7882bce0bba09bddc521b658c (diff) |
Record module loaders and module source order.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@115334 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Serialization/ASTReader.cpp')
-rw-r--r-- | lib/Serialization/ASTReader.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Serialization/ASTReader.cpp b/lib/Serialization/ASTReader.cpp index ac7385976c..adb233ac14 100644 --- a/lib/Serialization/ASTReader.cpp +++ b/lib/Serialization/ASTReader.cpp @@ -2122,8 +2122,14 @@ ASTReader::ASTReadResult ASTReader::ReadAST(const std::string &FileName) { } ASTReader::ASTReadResult ASTReader::ReadASTCore(llvm::StringRef FileName) { + PerFileData *Prev = Chain.empty() ? 0 : Chain.back(); Chain.push_back(new PerFileData()); PerFileData &F = *Chain.back(); + if (Prev) + Prev->NextInSource = &F; + else + FirstInSource = &F; + F.Loaders.push_back(Prev); // Set the AST file name. F.FileName = FileName; @@ -4199,7 +4205,7 @@ ASTReader::PerFileData::PerFileData() MacroDefinitionOffsets(0), LocalNumSelectors(0), SelectorOffsets(0), SelectorLookupTableData(0), SelectorLookupTable(0), LocalNumDecls(0), DeclOffsets(0), LocalNumTypes(0), TypeOffsets(0), StatCache(0), - NumPreallocatedPreprocessingEntities(0) + NumPreallocatedPreprocessingEntities(0), NextInSource(0) {} ASTReader::PerFileData::~PerFileData() { |