diff options
author | Ben Langmuir <blangmuir@apple.com> | 2014-07-23 15:30:23 +0000 |
---|---|---|
committer | Ben Langmuir <blangmuir@apple.com> | 2014-07-23 15:30:23 +0000 |
commit | ad4bdd534b6c441428bea75bc3d0c0cdf655c083 (patch) | |
tree | 720ef992d4300bb4e6844c95dedf2845f26f88da /include/clang/Basic/LangOptions.h | |
parent | d33130402939b8fec404b8b34ad3377594e26352 (diff) |
Add stopgap option -fmodule-implementation-of <name>
This flag specifies that we are building an implementation file of the
module <name>, preventing importing <name> as a module. This does not
consider this to be the 'current module' for the purposes of doing
modular checks like decluse or non-modular-include warnings, unlike
-fmodule-name.
This is needed as a stopgap until:
1) we can resolve relative includes to a VFS-mapped module (or can
safely import a header textually and as part of a module)
and ideally
2) we can safely do incremental rebuilding when implementation files
import submodules.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213767 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/LangOptions.h')
-rw-r--r-- | include/clang/Basic/LangOptions.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/clang/Basic/LangOptions.h b/include/clang/Basic/LangOptions.h index 9bffc7cb18..fb406a2ed3 100644 --- a/include/clang/Basic/LangOptions.h +++ b/include/clang/Basic/LangOptions.h @@ -88,6 +88,11 @@ public: /// \brief The name of the current module. std::string CurrentModule; + /// \brief The name of the module that the translation unit is an + /// implementation of. Prevents semantic imports, but does not otherwise + /// treat this as the CurrentModule. + std::string ImplementationOfModule; + /// \brief Options for parsing comments. CommentOptions CommentOpts; |