summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/FileManager.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-09-12 23:31:24 +0000
committerDouglas Gregor <dgregor@apple.com>2011-09-12 23:31:24 +0000
commitfaeb1d46586271ab1b8a0158cbd5073ef0c6abca (patch)
tree8aacb49a399f80b3c93ee1279e7d8fa0a20e5aac /clang/lib/Basic/FileManager.cpp
parentd4a2b37091486619386db4ccd0b1698fba8db92c (diff)
downloadbcm5719-llvm-faeb1d46586271ab1b8a0158cbd5073ef0c6abca.tar.gz
bcm5719-llvm-faeb1d46586271ab1b8a0158cbd5073ef0c6abca.zip
When an import statement fails to find a module in the module cache,
but there is a corresponding umbrella header in a framework, build the module on-the-fly so it can be immediately loaded at the import statement. This is very much proof-of-concept code, with details to be fleshed out over time. llvm-svn: 139558
Diffstat (limited to 'clang/lib/Basic/FileManager.cpp')
-rw-r--r--clang/lib/Basic/FileManager.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Basic/FileManager.cpp b/clang/lib/Basic/FileManager.cpp
index 4ac8e4da1d8..adc9705405b 100644
--- a/clang/lib/Basic/FileManager.cpp
+++ b/clang/lib/Basic/FileManager.cpp
@@ -380,6 +380,10 @@ const FileEntry *FileManager::getFile(StringRef Filename, bool openFile) {
return &UFE;
}
+void FileManager::forgetFile(StringRef Filename) {
+ SeenFileEntries.erase(Filename);
+}
+
const FileEntry *
FileManager::getVirtualFile(StringRef Filename, off_t Size,
time_t ModificationTime) {
OpenPOWER on IntegriCloud