Skip to content

[5.10][Compile Time Constant Extraction] Extract from all macro expansions #70173

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 2, 2023

Conversation

ApolloZhu
Copy link
Contributor

Cherry-pick of #70104


Explanation: visit struct expanded from peer macro and declarations' all members for compile time constant extraction. Note that the change is much simpler comparing to the main branch PR as extraction in 5.10 doesn't support extracting from extensions to types not defined in the extraction scope.
Scope: compile time constant extraction where source file uses some macro
Main Branch PR: #70104
Resolves: rdar://118948638
Risk: Low, additive change to compile time constant extraction only
Reviewed By: @DougGregor, @artemcm
Testing: added test-cases to the test suite

…sions

Extend constant extraction to extract:

1. members introduced by freestanding declaration macros and peer macros
2. from types introduced by peer macros

Fix rdar://118948638
@ApolloZhu ApolloZhu added 🍒 release cherry pick Flag: Release branch cherry picks swift 5.10 labels Dec 1, 2023
@ApolloZhu ApolloZhu requested a review from a team as a code owner December 1, 2023 23:08
@ApolloZhu
Copy link
Contributor Author

@swift-ci please smoke test

@ApolloZhu
Copy link
Contributor Author

@swift-ci please test

@ApolloZhu ApolloZhu enabled auto-merge December 1, 2023 23:14
@ApolloZhu ApolloZhu merged commit 557b1e0 into release/5.10 Dec 2, 2023
@ApolloZhu ApolloZhu deleted the ApolloZhu/5.10/const-extract/macros branch December 2, 2023 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🍒 release cherry pick Flag: Release branch cherry picks swift 5.10
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants