You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SR-3723 Determine if the layout algorithm for structs should layout fields in a different order than declared
SR-3724 Evaluate a fully declaration-order-agnostic layout algorithm for structs
SR-3912 Decide the cap of alignment for struct layout
SR-3725 Determine if struct data members are addressable or bit-packed
relates to:
SR-2273 Struct fields are not represented in Swift 3.0 DSYM.
SR-1134 LFR: Ability to pack Structs with certain named types (like C / C++)
Issue Description:
The Swift ABI Dashboard (https://swift.org/abi-stability)) currently lists 4 separate issues as part of defining the layout algorithm for structs. I am filing this "umbrella" task to summarize the data layout issues for structs so that we can list only one issue on the dashboard.
SR-3723: This proposal was to reorder fields to avoid wasting space due to padding for alignment. We are not planning to attempt this for Swift 5.
SR-3724: This is similar to SR-3723 but for the different purpose of allowing reordering the fields in the source code without breaking binary compatibility. Since it is so closely related, I resolved it as a duplicate of SR-3723.
SR-3912: There is work in progress to cap the alignment of all types at 16 bytes.
Note that we may still make some struct layout changes in future versions of Swift in a way that is ABI compatible. Resilient types are accessed indirectly, so we can change their layouts. We may also be able to make layout changes for fragile types if we introduce a scheme for versioned layouts.
Additional Detail from JIRA
md5: 01ccbf61189cd80b51825928aae40872
Sub-Tasks:
relates to:
Issue Description:
The Swift ABI Dashboard (https://swift.org/abi-stability)) currently lists 4 separate issues as part of defining the layout algorithm for structs. I am filing this "umbrella" task to summarize the data layout issues for structs so that we can list only one issue on the dashboard.
Here are the 4 tasks that we have been tracking:
https://bugs.swift.org/browse/SR-3723: Determine if the layout algorithm for structs should layout fields in a different order than declared
https://bugs.swift.org/browse/SR-3724: Evaluate a fully declaration-order-agnostic layout algorithm for structs
https://bugs.swift.org/browse/SR-3725: Determine if struct data members are addressable or bit-packed
https://bugs.swift.org/browse/SR-3912: Decide the cap of alignment for struct layout
The text was updated successfully, but these errors were encountered: