]> granicus.if.org Git - clang/commit
Add stopgap option -fmodule-implementation-of <name>
authorBen Langmuir <blangmuir@apple.com>
Wed, 23 Jul 2014 15:30:23 +0000 (15:30 +0000)
committerBen Langmuir <blangmuir@apple.com>
Wed, 23 Jul 2014 15:30:23 +0000 (15:30 +0000)
commitad4bdd534b6c441428bea75bc3d0c0cdf655c083
tree720ef992d4300bb4e6844c95dedf2845f26f88da
parentd33130402939b8fec404b8b34ad3377594e26352
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
include/clang/Basic/DiagnosticFrontendKinds.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Basic/LangOptions.h
include/clang/Driver/CC1Options.td
lib/Basic/LangOptions.cpp
lib/Frontend/CompilerInstance.cpp
lib/Frontend/CompilerInvocation.cpp
lib/Lex/PPDirectives.cpp
lib/Sema/SemaDecl.cpp
test/Modules/implementation-of-module.m [new file with mode: 0644]