diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-09-12 23:31:24 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-09-12 23:31:24 +0000 |
commit | 21cae2059a06f7d89eee169409c9266def1b1aca (patch) | |
tree | 4e73722923a65113a110c7b3003ce0d27b731b42 /include/clang/Basic | |
parent | 41bdde9e961c4d96a94148f20f0b18397f4358dd (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139558 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic')
-rw-r--r-- | include/clang/Basic/DiagnosticCommonKinds.td | 1 | ||||
-rw-r--r-- | include/clang/Basic/FileManager.h | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/clang/Basic/DiagnosticCommonKinds.td b/include/clang/Basic/DiagnosticCommonKinds.td index 29bf270d11..25df8c9bd0 100644 --- a/include/clang/Basic/DiagnosticCommonKinds.td +++ b/include/clang/Basic/DiagnosticCommonKinds.td @@ -60,6 +60,7 @@ def err_friends_define_only_namespace_scope : Error< def err_deleted_non_function : Error< "only functions can have deleted definitions">; def err_module_not_found : Error<"module '%0' not found">, DefaultFatal; +def err_module_not_built : Error<"could not build module '%0'">, DefaultFatal; // Sema && Lex def ext_longlong : Extension< diff --git a/include/clang/Basic/FileManager.h b/include/clang/Basic/FileManager.h index 83fb4e0c5a..826859fb50 100644 --- a/include/clang/Basic/FileManager.h +++ b/include/clang/Basic/FileManager.h @@ -187,6 +187,10 @@ public: /// \param openFile if true and the file exists, it will be opened. const FileEntry *getFile(StringRef Filename, bool openFile = false); + /// \brief Forget any information about the given file name, because (for + /// example) something within this process has changed the file in some way. + void forgetFile(StringRef Filename); + /// \brief Returns the current file system options const FileSystemOptions &getFileSystemOptions() { return FileSystemOpts; } |