diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-10-03 01:58:42 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2012-10-03 01:58:42 +0000 |
commit | aedf7144d1167b80cfcc56785aa383c744ae5af3 (patch) | |
tree | 06d35bc5b8a691358b2112b3b6615f2130b07a6b /clang/lib/Serialization | |
parent | 842ffe8806f3819aebe39283173d4ed621cea989 (diff) | |
download | bcm5719-llvm-aedf7144d1167b80cfcc56785aa383c744ae5af3.tar.gz bcm5719-llvm-aedf7144d1167b80cfcc56785aa383c744ae5af3.zip |
Set the file entry for a Module* that was created during deserialization
of a module file.
llvm-svn: 165086
Diffstat (limited to 'clang/lib/Serialization')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Serialization/Module.cpp | 3 | ||||
-rw-r--r-- | clang/lib/Serialization/ModuleManager.cpp | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 3960fa29ce7..cc6d073b103 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -3177,6 +3177,7 @@ ASTReader::ASTReadResult ASTReader::ReadSubmoduleBlock(ModuleFile &F) { return Failure; } + CurrentModule->setASTFile(F.File); CurrentModule->IsFromModuleFile = true; CurrentModule->IsSystem = IsSystem || CurrentModule->IsSystem; CurrentModule->InferSubmodules = InferSubmodules; @@ -6497,7 +6498,7 @@ ASTReader::ASTReader(Preprocessor &PP, ASTContext &Context, : Listener(new PCHValidator(PP, *this)), DeserializationListener(0), SourceMgr(PP.getSourceManager()), FileMgr(PP.getFileManager()), Diags(PP.getDiagnostics()), SemaObj(0), PP(PP), Context(Context), - Consumer(0), ModuleMgr(FileMgr.getFileSystemOptions()), + Consumer(0), ModuleMgr(PP.getFileManager()), RelocatablePCH(false), isysroot(isysroot), DisableValidation(DisableValidation), DisableStatCache(DisableStatCache), diff --git a/clang/lib/Serialization/Module.cpp b/clang/lib/Serialization/Module.cpp index 5fab02b1fb4..a5f709153c7 100644 --- a/clang/lib/Serialization/Module.cpp +++ b/clang/lib/Serialization/Module.cpp @@ -21,7 +21,8 @@ using namespace serialization; using namespace reader; ModuleFile::ModuleFile(ModuleKind Kind, unsigned Generation) - : Kind(Kind), DirectlyImported(false), Generation(Generation), SizeInBits(0), + : Kind(Kind), File(0), DirectlyImported(false), + Generation(Generation), SizeInBits(0), LocalNumSLocEntries(0), SLocEntryBaseID(0), SLocEntryBaseOffset(0), SLocEntryOffsets(0), SLocFileOffsets(0), LocalNumIdentifiers(0), diff --git a/clang/lib/Serialization/ModuleManager.cpp b/clang/lib/Serialization/ModuleManager.cpp index ab364b7ebd2..c46e9f06083 100644 --- a/clang/lib/Serialization/ModuleManager.cpp +++ b/clang/lib/Serialization/ModuleManager.cpp @@ -50,6 +50,7 @@ ModuleManager::addModule(StringRef FileName, ModuleKind Type, // Allocate a new module. ModuleFile *New = new ModuleFile(Type, Generation); New->FileName = FileName.str(); + New->File = Entry; Chain.push_back(New); NewModule = true; ModuleEntry = New; @@ -95,7 +96,7 @@ void ModuleManager::addInMemoryBuffer(StringRef FileName, InMemoryBuffers[Entry] = Buffer; } -ModuleManager::ModuleManager(const FileSystemOptions &FSO) : FileMgr(FSO) { } +ModuleManager::ModuleManager(FileManager &FileMgr) : FileMgr(FileMgr) { } ModuleManager::~ModuleManager() { for (unsigned i = 0, e = Chain.size(); i != e; ++i) |