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)
commitb537a3a651803cd11edf0e5c33f6cfa397dd9d10
tree61e1fcea26817dc4a7b8f2297e3527c3b442bb25
parent002fb104bd0a53df5917a5e2a3bfd93cb96d9bd4
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.

llvm-svn: 213767
clang/include/clang/Basic/DiagnosticFrontendKinds.td
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/include/clang/Basic/LangOptions.h
clang/include/clang/Driver/CC1Options.td
clang/lib/Basic/LangOptions.cpp
clang/lib/Frontend/CompilerInstance.cpp
clang/lib/Frontend/CompilerInvocation.cpp
clang/lib/Lex/PPDirectives.cpp
clang/lib/Sema/SemaDecl.cpp
clang/test/Modules/implementation-of-module.m [new file with mode: 0644]