From ad4bdd534b6c441428bea75bc3d0c0cdf655c083 Mon Sep 17 00:00:00 2001 From: Ben Langmuir Date: Wed, 23 Jul 2014 15:30:23 +0000 Subject: Add stopgap option -fmodule-implementation-of This flag specifies that we are building an implementation file of the module , preventing importing 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 --- include/clang/Basic/LangOptions.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include/clang/Basic/LangOptions.h') 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; -- cgit v1.2.3