diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2014-03-14 02:26:27 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2014-03-14 02:26:27 +0000 |
commit | ce9b49e5ecc357019fdc41bc666d2ab7caf75f21 (patch) | |
tree | 08b9fc673fead7ae4f4efe961dfad1786023ed77 /clang/lib/Serialization/ASTReader.cpp | |
parent | 1b6a6f16fad7519ac39384ed7e1518b5677102f6 (diff) | |
download | bcm5719-llvm-ce9b49e5ecc357019fdc41bc666d2ab7caf75f21.tar.gz bcm5719-llvm-ce9b49e5ecc357019fdc41bc666d2ab7caf75f21.zip |
Refactor ASTReader::readInputFileInfo to return a struct containing the related information.
No functionality change.
llvm-svn: 203881
Diffstat (limited to 'clang/lib/Serialization/ASTReader.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 62bc2246d28..595edfc4c5b 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -1870,9 +1870,8 @@ void ASTReader::installImportedMacro(IdentifierInfo *II, ModuleMacroInfo *MMI, PP.appendMacroDirective(II, MD); } -void ASTReader::readInputFileInfo(ModuleFile &F, unsigned ID, - std::string &Filename, off_t &StoredSize, - time_t &StoredTime, bool &Overridden) { +ASTReader::InputFileInfo +ASTReader::readInputFileInfo(ModuleFile &F, unsigned ID) { // Go find this input file. BitstreamCursor &Cursor = F.InputFilesCursor; SavedStreamPosition SavedPosition(Cursor); @@ -1887,21 +1886,23 @@ void ASTReader::readInputFileInfo(ModuleFile &F, unsigned ID, "invalid record type for input file"); (void)Result; + std::string Filename; + off_t StoredSize; + time_t StoredTime; + bool Overridden; + assert(Record[0] == ID && "Bogus stored ID or offset"); StoredSize = static_cast<off_t>(Record[1]); StoredTime = static_cast<time_t>(Record[2]); Overridden = static_cast<bool>(Record[3]); Filename = Blob; MaybeAddSystemRootToFilename(F, Filename); + + return { std::move(Filename), StoredSize, StoredTime, Overridden }; } std::string ASTReader::getInputFileName(ModuleFile &F, unsigned int ID) { - off_t StoredSize; - time_t StoredTime; - bool Overridden; - std::string Filename; - readInputFileInfo(F, ID, Filename, StoredSize, StoredTime, Overridden); - return Filename; + return readInputFileInfo(F, ID).Filename; } InputFile ASTReader::getInputFile(ModuleFile &F, unsigned ID, bool Complain) { @@ -1921,11 +1922,11 @@ InputFile ASTReader::getInputFile(ModuleFile &F, unsigned ID, bool Complain) { SavedStreamPosition SavedPosition(Cursor); Cursor.JumpToBit(F.InputFileOffsets[ID-1]); - off_t StoredSize; - time_t StoredTime; - bool Overridden; - std::string Filename; - readInputFileInfo(F, ID, Filename, StoredSize, StoredTime, Overridden); + InputFileInfo FI = readInputFileInfo(F, ID); + off_t StoredSize = FI.StoredSize; + time_t StoredTime = FI.StoredTime; + bool Overridden = FI.Overridden; + StringRef Filename = FI.Filename; const FileEntry *File = Overridden? FileMgr.getVirtualFile(Filename, StoredSize, StoredTime) |