On Fri, Mar 14, 2014 at 8:08 AM, NAKAMURA Takumi <[email protected]> wrote: > 2014-03-14 11:26 GMT+09:00 Argyrios Kyrtzidis <[email protected]>: >> Author: akirtzidis >> Date: Thu Mar 13 21:26:27 2014 >> New Revision: 203881 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=203881&view=rev >> Log: >> Refactor ASTReader::readInputFileInfo to return a struct containing the >> related information. >> >> No functionality change. >> >> Modified: >> cfe/trunk/include/clang/Serialization/ASTReader.h >> cfe/trunk/lib/Serialization/ASTReader.cpp >> >> Modified: cfe/trunk/include/clang/Serialization/ASTReader.h >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Serialization/ASTReader.h?rev=203881&r1=203880&r2=203881&view=diff >> ============================================================================== >> --- cfe/trunk/include/clang/Serialization/ASTReader.h (original) >> +++ cfe/trunk/include/clang/Serialization/ASTReader.h Thu Mar 13 21:26:27 >> 2014 >> @@ -1022,10 +1022,15 @@ private: >> /// \brief Reads a statement from the specified cursor. >> Stmt *ReadStmtFromStream(ModuleFile &F); >> >> + struct InputFileInfo { >> + std::string Filename; >> + off_t StoredSize; >> + time_t StoredTime; >> + bool Overridden; >> + }; >> + >> /// \brief Reads the stored information about an input file. >> - void readInputFileInfo(ModuleFile &F, unsigned ID, std::string &Filename, >> - off_t &StoredSize, time_t &StoredTime, >> - bool &Overridden); >> + InputFileInfo readInputFileInfo(ModuleFile &F, unsigned ID); >> /// \brief A convenience method to read the filename from an input file. >> std::string getInputFileName(ModuleFile &F, unsigned ID); >> >> >> Modified: cfe/trunk/lib/Serialization/ASTReader.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReader.cpp?rev=203881&r1=203880&r2=203881&view=diff >> ============================================================================== >> --- cfe/trunk/lib/Serialization/ASTReader.cpp (original) >> +++ cfe/trunk/lib/Serialization/ASTReader.cpp Thu Mar 13 21:26:27 2014 >> @@ -1870,9 +1870,8 @@ void ASTReader::installImportedMacro(Ide >> 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(Module >> "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 }; >> } > > Initializer is incompatible to msvc 2012.
I've committed a fix in r203951. Thanks, Hans _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
