r203881 - Refactor ASTReader::readInputFileInfo to return a struct containing the related information.

Hans Wennborg hans at chromium.org
Fri Mar 14 10:51:32 PDT 2014


On Fri, Mar 14, 2014 at 8:08 AM, NAKAMURA Takumi <geek4civic at gmail.com> wrote:
> 2014-03-14 11:26 GMT+09:00 Argyrios Kyrtzidis <akyrtzi at gmail.com>:
>> 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



More information about the cfe-commits mailing list