Wrap clang module files in a Mach-O, ELF, or COFF container.
authorAdrian Prantl <aprantl@apple.com>
Fri, 20 Feb 2015 21:53:12 +0000 (21:53 +0000)
committerAdrian Prantl <aprantl@apple.com>
Fri, 20 Feb 2015 21:53:12 +0000 (21:53 +0000)
commitb59bc1a528d5b3f4b65a52be79cef6c25db9d5f8
tree1faa6f208bb3ce0646e61d68275bb2e59e14ebf7
parent338d0bdc96cb6fea629e5d1d414692ef356541e6
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.

llvm-svn: 230067
32 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/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