[cfe-commits] r159256 - in /cfe/trunk: include/clang/Basic/FileManager.h lib/Basic/FileManager.cpp
Chandler Carruth
chandlerc at google.com
Wed Jun 27 02:24:24 PDT 2012
Did this patch get review on the mailing list somewhere I missed? I have
some serious concerns with the approach, but would rather focus the review
somewhere productive....
On Wed, Jun 27, 2012 at 2:17 AM, Axel Naumann <Axel.Naumann at cern.ch> wrote:
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20120627/228f340d/attachment.html>
More information about the cfe-commits
mailing list