Skip to content

Conversation

swiftix
Copy link
Contributor

@swiftix swiftix commented Sep 6, 2016

––– CCC Information –––
• Explanation: It is a correctness fix for opened archetypes tracking.
• Scope of Issue: Compiler crash reported by Dave Abrahams
• Origination: rdar://problem/28024272
• Risk: Pretty low. It fixes some cases which would result in a compiler crash. No new functionality is added.
• Reviewed By: Erik Eckstein
• Testing: Verified locally and using a CI @please test
• Directions for QA: No special directions. The patch includes unit tests.

Detailed description

If a SILBuilder creates a new instruction based on an old instruction and a new instruction is supposed to use some opened archetypes, one needs to set a proper opened archetypes context in the builder based on the opened archetypes used by the old instruction.

This fixes rdar://28024272

@swiftix
Copy link
Contributor Author

swiftix commented Sep 6, 2016

@swift-ci Please test

@swift-ci
Copy link
Contributor

swift-ci commented Sep 6, 2016

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 2a229df865df34e3518c8612a1d48bc124f568de
Test requested by - @swiftix

@swift-ci
Copy link
Contributor

swift-ci commented Sep 6, 2016

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 2a229df865df34e3518c8612a1d48bc124f568de
Test requested by - @swiftix

@swiftix
Copy link
Contributor Author

swiftix commented Sep 6, 2016

Important: This PR should be merged after #4641

@swiftix
Copy link
Contributor Author

swiftix commented Sep 6, 2016

The build is broken because this change depends on a commit by @eeckstein, which is currently available on swift/master only. @eeckstein will submit a PR for swift-3.0-branch soon.

@swiftix
Copy link
Contributor Author

swiftix commented Sep 6, 2016

I'm typing too fast ;-) One of the previous messages should have been read as:

Important: This PR should be merged before #4641

If a SILBuilder creates a new instruction based on an old instruction and a new instruction is supposed to use some opened archetypes, one needs to set a proper opened archetypes context in the builder based on the opened archetypes used by the old instruction.

This fixes rdar://28024272
@swiftix swiftix force-pushed the swift-3.0-branch-rdar-28024272 branch from 2a229df to 226e4a7 Compare September 6, 2016 19:49
@swiftix
Copy link
Contributor Author

swiftix commented Sep 6, 2016

@swift-ci Please test

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Sep 6, 2016

@swift-ci Please test

@swiftix
Copy link
Contributor Author

swiftix commented Sep 6, 2016

@tkremenek All tests are green. It can be merged now.

@tkremenek tkremenek merged commit 7c123de into swiftlang:swift-3.0-branch Sep 6, 2016
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.

3 participants