[Serialization] Keep track of whether a module has an underlying Clang module.

Previously, we depended on whether or not a serialized module was located
within a framework bundle to consider whether or not it may have a "Clang
half". However, LLDB loads serialized modules from dSYM bundles. Rather
than try to figure out if such a module is "really" a framework, just track
whether the original module was built with -import-underlying-module. If so,
consider the underlying Clang module to be re-exported.

rdar://problem/18099523

Swift SVN r21544
This commit is contained in:
Jordan Rose
2014-08-28 21:36:02 +00:00
parent c3660d5ad6
commit 422565100e
8 changed files with 38 additions and 18 deletions

View File

@@ -40,7 +40,7 @@ const uint16_t VERSION_MAJOR = 0;
/// Serialized module format minor version number.
///
/// When the format changes IN ANY WAY, this number should be incremented.
const uint16_t VERSION_MINOR = 130;
const uint16_t VERSION_MINOR = 131;
using DeclID = Fixnum<31>;
using DeclIDField = BCFixed<31>;
@@ -355,6 +355,7 @@ namespace input_block {
LINK_LIBRARY,
IMPORTED_HEADER,
IMPORTED_HEADER_CONTENTS,
MODULE_FLAGS
};
using SourceFileLayout = BCRecordLayout<
@@ -390,6 +391,11 @@ namespace input_block {
IMPORTED_HEADER_CONTENTS,
BCBlob
>;
using ModuleFlagsLayout = BCRecordLayout<
MODULE_FLAGS,
BCFixed<1> // has underlying module?
>;
}
/// The record types within the "decls-and-types" block.