Commit Graph

3 Commits

Author SHA1 Message Date
Allan Shortlidge
af1df92e6f IRGen: Avoid emitting resilient tag indices for unavailable enum cases.
When `-unavailable-decl-optimization=complete` is specified, skip emission of
resilient tag indices for enum cases that are marked unavailable with
`@available`.

Resolves rdar://109805050
2023-05-25 21:55:00 -07:00
Allan Shortlidge
ce97377218 IRGen: Exclude unavailable enum cases from runtime layout calculations.
When `-unavailable-decl-optimization=complete` is specified, exclude
unavailable enum cases from the runtime layout of enums with payloads. Without
this, the type metadata for unavailable types may be referenced by enum cases
with unavailable payloads and cause linker failures.

Resolves rdar://107483852
2023-05-22 21:49:41 -07:00
Allan Shortlidge
396f1dce1a NFC: Rename -unavailable-decl-optimization=complete tests. 2023-05-03 15:19:31 -07:00