[Serialize] Serialize foreign async conventions.

Fixes rdar://73476584.
This commit is contained in:
Doug Gregor
2021-01-29 15:45:09 -08:00
parent c97637cb96
commit 5f4da4cce6
7 changed files with 110 additions and 4 deletions

View File

@@ -56,7 +56,7 @@ const uint16_t SWIFTMODULE_VERSION_MAJOR = 0;
/// describe what change you made. The content of this comment isn't important;
/// it just ensures a conflict if two people change the module format.
/// Don't worry about adhering to the 80-column limit for this line.
const uint16_t SWIFTMODULE_VERSION_MINOR = 592; // @concurrent SIL function type
const uint16_t SWIFTMODULE_VERSION_MINOR = 593; // foreign async convention
/// A standard hash seed used for all string hashes in a serialized module.
///
@@ -1767,6 +1767,13 @@ namespace decls_block {
TypeIDField // result type
>;
using ForeignAsyncConventionLayout = BCRecordLayout<
FOREIGN_ASYNC_CONVENTION,
TypeIDField, // completion handler type
BCVBR<4>, // completion handler parameter index
BCVBR<4> // completion handler error parameter index (+1)
>;
using AbstractClosureExprLayout = BCRecordLayout<
ABSTRACT_CLOSURE_EXPR_CONTEXT,
TypeIDField, // type