[cfe-commits] r159256 - in /cfe/trunk: include/clang/Basic/FileManager.h lib/Basic/FileManager.cpp

Axel Naumann Axel.Naumann at cern.ch
Wed Jun 27 04:45:10 PDT 2012


Sorry, fixed.

Axel.

On 06/27/2012 01:34 PM, NAKAMURA Takumi wrote:
> It would be win32-incompatible.
>
> See again UniqueDirs on Win32.
>
> ...Takumi
>
> 2012/6/27 Axel Naumann <Axel.Naumann at cern.ch>:
>> Author: axel
>> Date: Wed Jun 27 04:17:42 2012
>> New Revision: 159256
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=159256&view=rev
>> Log:
>> >From Vassil Vassilev:
>> add interface for removing a FileEntry from the cache.
>> Forces a re-read the contents from disk, e.g. because a tool (like cling) wants to pick up a modified file.
>>
>> Modified:
>>     cfe/trunk/include/clang/Basic/FileManager.h
>>     cfe/trunk/lib/Basic/FileManager.cpp
>>
>> Modified: cfe/trunk/include/clang/Basic/FileManager.h
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/FileManager.h?rev=159256&r1=159255&r2=159256&view=diff
>> ==============================================================================
>> --- cfe/trunk/include/clang/Basic/FileManager.h (original)
>> +++ cfe/trunk/include/clang/Basic/FileManager.h Wed Jun 27 04:17:42 2012
>> @@ -222,6 +222,9 @@
>>    /// FileManager's FileSystemOptions.
>>    bool getNoncachedStatValue(StringRef Path, struct stat &StatBuf);
>>
>> +  /// \brief Remove the real file Entry from the cache.
>> +  void InvalidateCache(const FileEntry* Entry);
>> +
>>    /// \brief If path is not absolute and FileSystemOptions set the working
>>    /// directory, the path is modified to be relative to the given
>>    /// working directory.
>>
>> Modified: cfe/trunk/lib/Basic/FileManager.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/FileManager.cpp?rev=159256&r1=159255&r2=159256&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Basic/FileManager.cpp (original)
>> +++ cfe/trunk/lib/Basic/FileManager.cpp Wed Jun 27 04:17:42 2012
>> @@ -111,6 +111,8 @@
>>    }
>>
>>    size_t size() const { return UniqueFiles.size(); }
>> +
>> +  friend class FileManager;
>>   };
>>
>>   //===----------------------------------------------------------------------===//
>> @@ -152,6 +154,8 @@
>>    }
>>
>>    size_t size() const { return UniqueFiles.size(); }
>> +
>> +  friend class FileManager;
>>   };
>>
>>   #endif
>> @@ -559,6 +563,15 @@
>>    return ::stat(FilePath.c_str(), &StatBuf) != 0;
>>   }
>>
>> +void FileManager::InvalidateCache(const FileEntry* Entry) {
>> +  if (!Entry)
>> +    return;
>> +
>> +  SeenFileEntries.erase(Entry->getName());
>> +  UniqueRealFiles.UniqueFiles.erase(*Entry);
>> +}
>> +
>> +
>>   void FileManager::GetUniqueIDMapping(
>>                     SmallVectorImpl<const FileEntry *> &UIDToFiles) const {
>>    UIDToFiles.clear();
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>





More information about the cfe-commits mailing list