Wrap clang module files in a Mach-O, ELF, or COFF container.
authorAdrian Prantl <aprantl@apple.com>
Fri, 20 Feb 2015 23:34:26 +0000 (23:34 +0000)
committerAdrian Prantl <aprantl@apple.com>
Fri, 20 Feb 2015 23:34:26 +0000 (23:34 +0000)
commitf2b0cd91ebe6a99437e22d99f78c1bfaf756f4c8
treebaca05d6b36b1c94325edb8cd6841013ccb3a7ca
parent1f3e5c195c9bbb1cda5d6b1f4a417513b55e1fa0
Wrap clang module files in a Mach-O, ELF, or COFF container.
This is a necessary prerequisite for debugging with modules.
The .pcm files become containers that hold the serialized AST which allows
us to store debug information in the module file that can be shared by all
object files that were built importing the module.

rdar://problem/19104245

This reapplies r230044 with a fixed configure+make build and updated
dependencies. Take 2.

llvm-svn: 230089
33 files changed:
clang/docs/PCHInternals.rst
clang/include/clang/CodeGen/CodeGenModuleContainer.h [new file with mode: 0644]
clang/include/clang/Frontend/FrontendActions.h
clang/include/clang/Serialization/ASTReader.h
clang/include/clang/Serialization/ASTWriter.h
clang/lib/CodeGen/CMakeLists.txt
clang/lib/CodeGen/CodeGenModuleContainer.cpp [new file with mode: 0644]
clang/lib/Frontend/ASTUnit.cpp
clang/lib/Frontend/CMakeLists.txt
clang/lib/Frontend/ChainedIncludesSource.cpp
clang/lib/Frontend/FrontendActions.cpp
clang/lib/Frontend/MultiplexConsumer.cpp
clang/lib/Serialization/ASTReader.cpp
clang/lib/Serialization/CMakeLists.txt
clang/lib/Serialization/GeneratePCH.cpp
clang/lib/Serialization/GlobalModuleIndex.cpp
clang/lib/Serialization/ModuleManager.cpp
clang/test/CMakeLists.txt
clang/test/Modules/module_container.m [new file with mode: 0644]
clang/test/PCH/floating-literal.c
clang/tools/arcmt-test/Makefile
clang/tools/c-index-test/Makefile
clang/tools/clang-check/Makefile
clang/tools/diagtool/Makefile
clang/tools/libclang/CMakeLists.txt
clang/tools/libclang/Makefile
clang/unittests/AST/Makefile
clang/unittests/ASTMatchers/Dynamic/Makefile
clang/unittests/ASTMatchers/Makefile
clang/unittests/CodeGen/Makefile
clang/unittests/Frontend/Makefile
clang/unittests/Sema/Makefile
clang/unittests/Tooling/Makefile