Skip to content

Merge pull request #14170 from shajrawi/buffix_class_offset2 #14192

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
Jan 26, 2018

Conversation

shajrawi
Copy link

@shajrawi shajrawi commented Jan 26, 2018

rdar://problem/36704036

Explanation: The subscript_expr typechecker path is different than extension deceleration - When doing emitVirtualMethodValue in IRGen we can miss the correct offset because we have a bad ClassDecl, The ClassDecl is junk / null
Reviewed by: Doug Gregor
Scope: We found this issue by running an internal project that depends on various large other projects. this bug can really cause a runtime crash or miscompile.
Radar: rdar://problem/36704036
Risk: Low. Don't construct a class layout lazily in the Type Checker. does not affect the generated SIL.
Testing: Swift CI Testing

Sema: request member layout in the subscript_expr
@shajrawi
Copy link
Author

@swift-ci Please test

@shajrawi shajrawi merged commit cf74460 into swift-4.1-branch Jan 26, 2018
@shajrawi shajrawi deleted the sema_cherrypick branch January 26, 2018 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant