summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization/ASTReader.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2014-03-14 02:26:27 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2014-03-14 02:26:27 +0000
commitce9b49e5ecc357019fdc41bc666d2ab7caf75f21 (patch)
tree08b9fc673fead7ae4f4efe961dfad1786023ed77 /clang/lib/Serialization/ASTReader.cpp
parent1b6a6f16fad7519ac39384ed7e1518b5677102f6 (diff)
downloadbcm5719-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.cpp29
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)
OpenPOWER on IntegriCloud