Initial implementation of virtual file system

Programming / Compilers / Clang - Ben Langmuir [apple.com] - 18 February 2014 18:10 EST

This adds the minimum virtual file system support to start migrating FileManager onto the VFS.

Originally discussed here: http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-February/035188.html

Differential Revision: http://llvm-reviews.chandlerc.com/D2745

91e3d58 Initial implementation of virtual file system
include/clang/Basic/FileManager.h | 34 +++---
include/clang/Basic/FileSystemStatCache.h | 23 ++--
include/clang/Basic/VirtualFileSystem.h | 127 ++++++++++++++++++++++
include/clang/Frontend/CompilerInstance.h | 24 +++++
lib/Basic/CMakeLists.txt | 1 +
lib/Basic/FileManager.cpp | 86 ++++++---------
lib/Basic/FileSystemStatCache.cpp | 44 ++++----
lib/Basic/VirtualFileSystem.cpp | 162 +++++++++++++++++++++++++++++
lib/Frontend/ASTUnit.cpp | 6 +-
lib/Frontend/CacheTokens.cpp | 4 +-
lib/Frontend/ChainedIncludesSource.cpp | 1 +
lib/Frontend/CompilerInstance.cpp | 7 ++
lib/Frontend/FrontendAction.cpp | 3 +-
lib/Lex/PTHLexer.cpp | 4 +-
lib/Serialization/ModuleManager.cpp | 2 +-
unittests/Basic/FileManagerTest.cpp | 2 +-
16 files changed, 423 insertions(+), 107 deletions(-)

Upstream: github.com


  • Share