]> granicus.if.org Git - clang/commit
[modules] Initial support for explicitly loading .pcm files.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 22 Oct 2014 02:05:46 +0000 (02:05 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 22 Oct 2014 02:05:46 +0000 (02:05 +0000)
commit732cea5e2821aa46482b52c067369b6ab63129e1
tree4d402e7f332148eb3c77d2eda33f8277ca5fecb6
parent523c15f2f8e7cef4671f3e62e43174e5ad6f1903
[modules] Initial support for explicitly loading .pcm files.

Implicit module builds are not well-suited to a lot of build systems. In
particular, they fare badly in distributed build systems, and they lead to
build artifacts that are not tracked as part of the usual dependency management
process. This change allows explicitly-built module files (which are already
supported through the -emit-module flag) to be explicitly loaded into a build,
allowing build systems to opt to manage module builds and dependencies
themselves.

This is only the first step in supporting such configurations, and it should
be considered experimental and subject to change or removal for now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220359 91177308-0d34-0410-b5e6-96231b3b80d8
21 files changed:
include/clang/Basic/DiagnosticFrontendKinds.td
include/clang/Basic/DiagnosticSerializationKinds.td
include/clang/Driver/Options.td
include/clang/Frontend/CompilerInstance.h
include/clang/Frontend/FrontendOptions.h
include/clang/Serialization/ASTReader.h
include/clang/Serialization/Module.h
lib/Driver/Tools.cpp
lib/Frontend/ASTUnit.cpp
lib/Frontend/CompilerInstance.cpp
lib/Frontend/CompilerInvocation.cpp
lib/Frontend/FrontendAction.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ModuleManager.cpp
test/Modules/Inputs/explicit-build/a.h [new file with mode: 0644]
test/Modules/Inputs/explicit-build/b.h [new file with mode: 0644]
test/Modules/Inputs/explicit-build/c.h [new file with mode: 0644]
test/Modules/Inputs/explicit-build/module.modulemap [new file with mode: 0644]
test/Modules/explicit-build.cpp [new file with mode: 0644]
test/Modules/resolution-change.m