Skip to content

[3.0] SILGen/IRGen: Lower protocol witness thunks for ObjC lightweight generics as pseudogeneric. #5497

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

Conversation

jckarter
Copy link
Contributor

Fixes rdar://problem/28873860, where we would miscompile when lightweight generic classes were extended to conform to Swift protocols because we tried to emit parameters for the class's generic parameters for the witness entry points. Prevent this by lowering the witness into a pseudogeneric function in SILGen, and teaching IRGen to do the right thing for a witness with pseudogeneric parameters.

@jckarter
Copy link
Contributor Author

@swift-ci Please test and merge

@jckarter
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 35c25aef2956025ccf87850dca4e48c0fac1fc3b
Test requested by - @jckarter

…rics as pseudogeneric.

Fixes rdar://problem/28873860, where we would miscompile when lightweight generic classes were extended to conform to Swift protocols because we tried to emit parameters for the class's generic parameters for the witness entry points. Prevent this by lowering the witness into a pseudogeneric function in SILGen, and teaching IRGen to do the right thing for a witness with pseudogeneric parameters.
@jckarter jckarter force-pushed the pseudogeneric-protocol-witness-3.0 branch from 35c25ae to 6cb0e16 Compare October 27, 2016 18:39
@jckarter
Copy link
Contributor Author

@swift-ci Please test

@jckarter
Copy link
Contributor Author

@shahmishal https://ci.swift.org/job/swift-PR-osx/4129/console has been stuck since 12:03. CI problem?

@shahmishal
Copy link
Member

@jckarter Sent email with process info

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 6cb0e16
Test requested by - @jckarter

@jckarter
Copy link
Contributor Author

@swift-ci Please test OS X

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 6cb0e16
Test requested by - @jckarter

@jckarter
Copy link
Contributor Author

The tests pass locally on my machine after given enough time to do so. Slow simulator?

@shahmishal
Copy link
Member

@jckarter Sounds like we might have regression on swift-3.0-branch, not in this PR.

@jckarter
Copy link
Contributor Author

@swift-ci Please test OS X

@ematejska
Copy link
Contributor

@shahmishal Other PRs have passed testing after this PR.

@swift-ci
Copy link
Contributor

swift-ci commented Nov 1, 2016

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 6cb0e16
Test requested by - @jckarter

@7NGU
Copy link

7NGU commented Nov 1, 2016

Please give me sometime to lean more about this.

@shahmishal
Copy link
Member

@swift-ci Please test macOS

3 similar comments
@shahmishal
Copy link
Member

@swift-ci Please test macOS

@shahmishal
Copy link
Member

@swift-ci Please test macOS

@shahmishal
Copy link
Member

@swift-ci Please test macOS

@ematejska ematejska merged commit 5f09b59 into swiftlang:swift-3.0-branch Nov 1, 2016
MaxDesiatov pushed a commit that referenced this pull request Sep 7, 2023
[pull] swiftwasm from main
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.

5 participants